An interesting presentation and discussion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
24 messages Options
12
Reply | Threaded
Open this post in threaded view
|

An interesting presentation and discussion

Göran Krampe
...can be found over at Lambda:

http://lambda-the-ultimate.org/node/1277

The presentation is from a game developer and was quite interesting to
look through (the slides are pretty self explanatory). It would be very
interesting to hear the reactions on these issues from a Squeak
perspective - like what do the Croqueteers say and what do you say
Bryce?

If a future Squeak could be interesting for this segment (game dev) then
things would really heat up.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Bert Freudenberg-3
Am 06.02.2006 um 13:17 schrieb [hidden email]:

> ...can be found over at Lambda:
>
> http://lambda-the-ultimate.org/node/1277
>
> The presentation is from a game developer and was quite interesting to
> look through (the slides are pretty self explanatory).

Yep, saw that, too. I found this statement interesting:

        "C# exposes more than 10 integer-like data types, none of which are  
those defined by (Pythagoras, 500BC)."

And then they propose a clever trick to fix it on p. 39. Which  
sounded vaguely familiar ;-)

> It would be very
> interesting to hear the reactions on these issues from a Squeak
> perspective - like what do the Croqueteers say and what do you say
> Bryce?
>
> If a future Squeak could be interesting for this segment (game dev)  
> then
> things would really heat up.

Well, we find this interesting for quite a while. Our first shrink-
wrapped product is in beta now :)

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Göran Krampe
Bert Freudenberg <[hidden email]> wrote:

> Am 06.02.2006 um 13:17 schrieb [hidden email]:
>
> > ...can be found over at Lambda:
> >
> > http://lambda-the-ultimate.org/node/1277
> >
> > The presentation is from a game developer and was quite interesting to
> > look through (the slides are pretty self explanatory).
>
> Yep, saw that, too. I found this statement interesting:
>
> "C# exposes more than 10 integer-like data types, none of which are  
> those defined by (Pythagoras, 500BC)."
>
> And then they propose a clever trick to fix it on p. 39. Which  
> sounded vaguely familiar ;-)

Yes, I noted that too! :)

> > It would be very
> > interesting to hear the reactions on these issues from a Squeak
> > perspective - like what do the Croqueteers say and what do you say
> > Bryce?
> >
> > If a future Squeak could be interesting for this segment (game dev)  
> > then
> > things would really heat up.
>
> Well, we find this interesting for quite a while. Our first shrink-
> wrapped product is in beta now :)

You refer to Croquet or do you have some other project?

> - Bert -

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Andreas.Raab
In reply to this post by Göran Krampe
[hidden email] wrote:
> The presentation is from a game developer and was quite interesting to
> look through (the slides are pretty self explanatory). It would be very
> interesting to hear the reactions on these issues from a Squeak
> perspective - like what do the Croqueteers say and what do you say
> Bryce?

We contacted Tim Sweeney and he replied pointing out that "There is
actually a great deal of (non-syntactic) SmallTalk heritage in the
Unreal engine, including an extensive metaclass framework I wrote back
in 1996 after reading a book on SmallTalk.  The metaclass data is used
to automate persistence (loading/saving game levels), synchronizing
objects in client/server multiplayer play, and exposing object
attributes to designers in the user interface."

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Joshua Gargus-2
In reply to this post by Göran Krampe
I didn't think much of the "Reliability" portion of the presentation.  I experienced my typical distaste for static typing, overcomplicated syntax, and early binding; this is common when I see a C++ programmer's wishlist for an ideal language.

GetElement(as:[]string, i:int):string=
    if(n:nat<as.length=i)
as[n]
    else
“Index Out of Bounds”

WTF?  This is a helpful type system?  Why just not write a test to make sure that the value is in bounds, since the type definition itself is code (with extra new syntax to learn). 

Also, what about mobile code?  If I bring a new object (containing new code) into someone else's virtual world, will it statically compile it against everyone else's code in the environment?  Even if it does, how do we know that the semantics match up?  This is a hard problem, and static typing doesn't magically fix it (he does admit that Haskell-style type inference doesn't scale to "large hierarchies of open-world modules").

The "Concurrency" portion of the presentation is more interesting.  I like how he breaks down the computations done by a game engine by CPU budget and parallism/synchronization requirements.  I've now heard about Transactional Memory from a few excellent hackers, and definitely intend to read up on it.

Two other things that look interesting are Lenient Evaluation and STRef.  My functional programming skills can use some practice, and I intend to find some time to learn about these concepts.  However, I question whether the general population of programmers is ready for the higher levels of abstraction required to program functionally.  But maybe the massively parallel computers that we'll all have in ~10 years (depending on what you call massively parallel) will force the issue.

Josh




On Feb 6, 2006, at 6:17 AM, [hidden email] wrote:

...can be found over at Lambda:


The presentation is from a game developer and was quite interesting to
look through (the slides are pretty self explanatory). It would be very
interesting to hear the reactions on these issues from a Squeak
perspective - like what do the Croqueteers say and what do you say
Bryce?

If a future Squeak could be interesting for this segment (game dev) then
things would really heat up.

regards, Göran




Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

stéphane ducasse-2
In reply to this post by Andreas.Raab
>
> We contacted Tim Sweeney and he replied pointing out that "There is  
> actually a great deal of (non-syntactic) SmallTalk heritage in the  
> Unreal engine, including an extensive metaclass framework I wrote  
> back in 1996 after reading a book on SmallTalk.  The metaclass data  
> is used to automate persistence (loading/saving game levels),  
> synchronizing objects in client/server multiplayer play, and  
> exposing object attributes to designers in the user interface."

This is really interesting.
Especially since SOM and DSOM had a ObjVlisp metaclass kernel  
(Smalltalk-72) and I have the impression that now
the interest dropped.

Stef

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Marcus Denker
In reply to this post by Andreas.Raab

On 06.02.2006, at 17:39, Andreas Raab wrote:

> [hidden email] wrote:
>> The presentation is from a game developer and was quite  
>> interesting to
>> look through (the slides are pretty self explanatory). It would be  
>> very
>> interesting to hear the reactions on these issues from a Squeak
>> perspective - like what do the Croqueteers say and what do you say
>> Bryce?
>
> We contacted Tim Sweeney and he replied pointing out that "There is  
> actually a great deal of (non-syntactic) SmallTalk heritage in the  
> Unreal engine, including an extensive metaclass framework I wrote  
> back in 1996 after reading a book on SmallTalk.  The metaclass data  
> is used to automate persistence (loading/saving game levels),  
> synchronizing objects in client/server multiplayer play, and  
> exposing object attributes to designers in the user interface."
>

Which means that his design is actually much more powerful then that  
of Smalltalk... we do have meta classes, but they are not really  
usefull. e.g., we can't
enable persistence through changing the metaclass of a class. A  
better meta-layer in Squeak would be really nice to have... but quite  
hard to do really right.

     Marcus

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Bert Freudenberg-3
In reply to this post by Göran Krampe
Am 06.02.2006 um 15:02 schrieb [hidden email]:
>>>
>>> If a future Squeak could be interesting for this segment (game dev)
>>> then things would really heat up.
>>
>> Well, we find this interesting for quite a while. Our first shrink-
>> wrapped product is in beta now :)
>
> You refer to Croquet or do you have some other project?

No, I meant "shrink-wrapped" as in "a boxed product on a shelf in a  
store":

        http://google.com/search?q=plopp+3d+terzio

Some more bugs to squash, though ...

- Bert -


Reply | Threaded
Open this post in threaded view
|

An interesting presentation and discussion

Bryce Kampjes
In reply to this post by Göran Krampe
[hidden email] writes:
 > ...can be found over at Lambda:
 >
 > http://lambda-the-ultimate.org/node/1277
 >
 > The presentation is from a game developer and was quite interesting to
 > look through (the slides are pretty self explanatory). It would be very
 > interesting to hear the reactions on these issues from a Squeak
 > perspective - like what do the Croqueteers say and what do you say
 > Bryce?

I doubt that we need any language changes for scalar numeric
performance. Loop counters should be optimisable via induction
variable analysis and floating point calculations can be made fast so
long as the float isn't converted into a full object which is possible
if it's stored in a floating point array.

For logic it's also possible to be fast enough. Such code is likely to
be branch heavy, so even if Squeak executes a few more instructions it
might not be any slower.

I'm not sure what the best way to structure the code for explicit
parallelism. For numeric work, it's possible that vectorisation will
expose a lot of instruction level parallelism. My hunch is the best
bet would be to provide most of the language level support from inside
the image keeping the VM level parallelism very simple. Different
problems are likely to require different programing styles to manage.

There are a few issues with parallelising the current Squeak/Exupery
system. One is making sure that PICs can be updated, or providing a
separate code cache for each hardware thread. The GC is also an
issue. So's the image which is likely to contain races with
OS/hardware threads. All of them should be resolvable.

Given funding, performance will not be a problem.
Bryce

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Marcus Denker
In reply to this post by stéphane ducasse-2

On 06.02.2006, at 19:02, stéphane ducasse wrote:

>>
>> We contacted Tim Sweeney and he replied pointing out that "There  
>> is actually a great deal of (non-syntactic) SmallTalk heritage in  
>> the Unreal engine, including an extensive metaclass framework I  
>> wrote back in 1996 after reading a book on SmallTalk.  The  
>> metaclass data is used to automate persistence (loading/saving  
>> game levels), synchronizing objects in client/server multiplayer  
>> play, and exposing object attributes to designers in the user  
>> interface."
>
> This is really interesting.
> Especially since SOM and DSOM had a ObjVlisp metaclass kernel  
> (Smalltalk-72) and I have the impression that now
                                                                         
                                                                         
   76

> the interest dropped.

To put is nicely... the fashion of today are Aspects.

        Marcus


Reply | Threaded
Open this post in threaded view
|

RE: An interesting presentation and discussion

Nicholas Bennett
In reply to this post by Göran Krampe

Is it just me or does the "horizontal subclassing" Tim is looking for
(allowing one to extend an existing framework (like the licensed Unreal
Engine code) by adding some 'cluster' of members to some high level class
that is deep in the engine) sound a lot like Traits?

regards,
nicholas

>From: [hidden email]
>Reply-To: The general-purpose Squeak developers
>list<[hidden email]>
>To: [hidden email]
>Subject: An interesting presentation and discussion
>Date: Mon, 6 Feb 2006 14:17:40 +0200
>
>...can be found over at Lambda:
>
>http://lambda-the-ultimate.org/node/1277
>
>The presentation is from a game developer and was quite interesting to
>look through (the slides are pretty self explanatory). It would be very
>interesting to hear the reactions on these issues from a Squeak
>perspective - like what do the Croqueteers say and what do you say
>Bryce?
>
>If a future Squeak could be interesting for this segment (game dev) then
>things would really heat up.
>
>regards, Göran
>



Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Blake-5
In reply to this post by Bert Freudenberg-3
On Mon, 06 Feb 2006 14:18:18 -0800, Bert Freudenberg <[hidden email]>  
wrote:

> Am 06.02.2006 um 15:02 schrieb [hidden email]:
>>>>
>>>> If a future Squeak could be interesting for this segment (game dev)
>>>> then things would really heat up.
>>>
>>> Well, we find this interesting for quite a while. Our first shrink-
>>> wrapped product is in beta now :)
>>
>> You refer to Croquet or do you have some other project?
>
> No, I meant "shrink-wrapped" as in "a boxed product on a shelf in a  
> store":
>
> http://google.com/search?q=plopp+3d+terzio
>
> Some more bugs to squash, though ...
>
> - Bert -

Got anything in English?<s>


Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Avi  Bryant

On Feb 6, 2006, at 4:35 PM, Blake wrote:

> On Mon, 06 Feb 2006 14:18:18 -0800, Bert Freudenberg  
> <[hidden email]> wrote:
>
>> Am 06.02.2006 um 15:02 schrieb [hidden email]:
>>>>>
>>>>> If a future Squeak could be interesting for this segment (game  
>>>>> dev)
>>>>> then things would really heat up.
>>>>
>>>> Well, we find this interesting for quite a while. Our first shrink-
>>>> wrapped product is in beta now :)
>>>
>>> You refer to Croquet or do you have some other project?
>>
>> No, I meant "shrink-wrapped" as in "a boxed product on a shelf in  
>> a store":
>>
>> http://google.com/search?q=plopp+3d+terzio
>>
>> Some more bugs to squash, though ...
>>
>> - Bert -
>
> Got anything in English?<s>

 From what I can tell it's a 3d modeling tool for kids based on the  
Teddy 3d sketching stuff (<a href="http://yap.jp.land.to/yas/pukiwiki.php?%5B%">http://yap.jp.land.to/yas/pukiwiki.php?%5B% 
5BPapers%2FTeddy%5D%5D).  Am I close? :)

Avi


Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Andreas.Raab
Avi Bryant wrote:
> From what I can tell it's a 3d modeling tool for kids based on the  
> Teddy 3d sketching stuff (<a href="http://yap.jp.land.to/yas/pukiwiki.php?%5B%">http://yap.jp.land.to/yas/pukiwiki.php?%5B% 
> 5BPapers%2FTeddy%5D%5D).  Am I close? :)

Close, but no cigar ;-) Plopp is a product based on the 3D painting
system that's also in Croquet which is quite a bit different from Teddy.
In Teddy, you draw an outline first and then you paint on the surface of
the 3D extrusion. In Plopp you paint the entire object at once. This
idea originated in the masters thesis of Jana Hintze at the games group
in Magdeburg (see
http://isgwww.cs.uni-magdeburg.de/games/projekte/kindervorlesung/jive.html).

Cheers,
   - Andreas


Reply | Threaded
Open this post in threaded view
|

RE: An interesting presentation and discussion

Göran Krampe
In reply to this post by Nicholas Bennett
Hi all!

"Nicholas Bennett" <[hidden email]> wrote:
> Is it just me or does the "horizontal subclassing" Tim is looking for
> (allowing one to extend an existing framework (like the licensed Unreal
> Engine code) by adding some 'cluster' of members to some high level class
> that is deep in the engine) sound a lot like Traits?
> regards,
> nicholas

I admit thinking in that direction too. But I do wonder if such a level
of extension can be made and still be able to follow new versions of the
base library. It doesn't seem to me that Traits solves that issue - it
only seems to offer a mechanism for more advanced extensions without
touching the source. The coupling would probably be "as bad". At least
that is my guess.

regards, Göran

Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Bert Freudenberg-3
In reply to this post by Blake-5

Am 07.02.2006 um 01:35 schrieb Blake:

> On Mon, 06 Feb 2006 14:18:18 -0800, Bert Freudenberg  
> <[hidden email]> wrote:
>
>> Am 06.02.2006 um 15:02 schrieb [hidden email]:
>>>>>
>>>>> If a future Squeak could be interesting for this segment (game  
>>>>> dev)
>>>>> then things would really heat up.
>>>>
>>>> Well, we find this interesting for quite a while. Our first shrink-
>>>> wrapped product is in beta now :)
>>>
>>> You refer to Croquet or do you have some other project?
>>
>> No, I meant "shrink-wrapped" as in "a boxed product on a shelf in  
>> a store":
>>
>> http://google.com/search?q=plopp+3d+terzio
>>
>> Some more bugs to squash, though ...
>>
>> - Bert -
>
> Got anything in English?<s>

Not much:
       
        http://impara.de/project_painter.htm

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Marcus Denker
In reply to this post by Göran Krampe

On 07.02.2006, at 09:35, [hidden email] wrote:

> Hi all!
>
> "Nicholas Bennett" <[hidden email]> wrote:
>> Is it just me or does the "horizontal subclassing" Tim is looking for
>> (allowing one to extend an existing framework (like the licensed  
>> Unreal
>> Engine code) by adding some 'cluster' of members to some high  
>> level class
>> that is deep in the engine) sound a lot like Traits?
>> regards,
>> nicholas
>
> I admit thinking in that direction too. But I do wonder if such a  
> level
> of extension can be made and still be able to follow new versions  
> of the
> base library. It doesn't seem to me that Traits solves that issue - it
> only seems to offer a mechanism for more advanced extensions without
> touching the source. The coupling would probably be "as bad". At least
> that is my guess.
>

The work on ClassBoxes (and combining ClassBoxes with traits) that Alex
did seems to go a little bit in that direction:

    http://www.iam.unibe.ch/~scg/Research/Classboxes/

At least, the extensions of (or the Traits that extend) a foreign  
class are defined
as part of the Module (ClassBox) that intends to use the extension.

     Marcus


Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Nicolas Roard
In reply to this post by Nicholas Bennett
On 2/6/06, Nicholas Bennett <[hidden email]> wrote:
>
> Is it just me or does the "horizontal subclassing" Tim is looking for
> (allowing one to extend an existing framework (like the licensed Unreal
> Engine code) by adding some 'cluster' of members to some high level class
> that is deep in the engine) sound a lot like Traits?

It looks exactly like the categories in Objective-C, where you can do
just that (declare a category for a class, and the methods in the
category will either replace or be added to the original class, even
if you don't have access to the source code).

--
Nicolas Roard
"Any sufficiently advanced technology is indistinguishable from magic."
  -Arthur C. Clarke

Reply | Threaded
Open this post in threaded view
|

related C5'04 papers...Re: An interesting presentation and discussion

Nicholas Bennett
In reply to this post by Andreas.Raab

does anyone know where I can get a copy of
_Designing_a_3D_Authoring_Tool_for_Children_ by Jana Hintze & Maic Masuch

I know it was published as part of the C5'04 proceedings, but I don't have
the requisite subscriptions to download it from IEEE or ACM.

in fact any and all of the C5'04 papers would be really interesting

regards,
nicholas

>From: Andreas Raab <[hidden email]>
>Reply-To: The general-purpose Squeak developers
>list<[hidden email]>
>To: The general-purpose Squeak developers
>list<[hidden email]>
>Subject: Re: An interesting presentation and discussion
>Date: Mon, 06 Feb 2006 21:16:39 -0800
>
>Avi Bryant wrote:
>>From what I can tell it's a 3d modeling tool for kids based on the  Teddy
>>3d sketching stuff (<a href="http://yap.jp.land.to/yas/pukiwiki.php?%5B%">http://yap.jp.land.to/yas/pukiwiki.php?%5B% 
>>5BPapers%2FTeddy%5D%5D).  Am I close? :)
>
>Close, but no cigar ;-) Plopp is a product based on the 3D painting system
>that's also in Croquet which is quite a bit different from Teddy. In Teddy,
>you draw an outline first and then you paint on the surface of the 3D
>extrusion. In Plopp you paint the entire object at once. This idea
>originated in the masters thesis of Jana Hintze at the games group in
>Magdeburg (see
>http://isgwww.cs.uni-magdeburg.de/games/projekte/kindervorlesung/jive.html).
>
>Cheers,
>   - Andreas
>
>



Reply | Threaded
Open this post in threaded view
|

Re: An interesting presentation and discussion

Douglas Rollwitz
In reply to this post by Nicolas Roard

To me, horizontal subclassing would be similar to
extending a class in ENVY in another application from
where it was defined.  C# 2.0 can do this too.


--- Nicolas Roard <[hidden email]> wrote:

> On 2/6/06, Nicholas Bennett
> <[hidden email]> wrote:
> >
> > Is it just me or does the "horizontal subclassing"
> Tim is looking for
> > (allowing one to extend an existing framework
> (like the licensed Unreal
> > Engine code) by adding some 'cluster' of members
> to some high level class
> > that is deep in the engine) sound a lot like
> Traits?
>
> It looks exactly like the categories in Objective-C,
> where you can do
> just that (declare a category for a class, and the
> methods in the
> category will either replace or be added to the
> original class, even
> if you don't have access to the source code).
>
> --
> Nicolas Roard
> "Any sufficiently advanced technology is
> indistinguishable from magic."
>   -Arthur C. Clarke
>
>


12