...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 |
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 - |
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 |
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 |
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:
|
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 |
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 |
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 - |
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 |
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 |
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 > |
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> |
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 |
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 |
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 |
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 - |
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 |
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 |
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 > > |
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 > > |
Free forum by Nabble | Edit this page |