Thread: RE: [GD-Consoles] question: Embedded scripting language on console
Brought to you by:
vexxed72
From: Michael P. <MPo...@cy...> - 2003-02-18 00:42:26
|
Hello Lagarde =20 On one of our past games, we used Java & C++. The main issues we ran into were: - Duplicated entity structs in both Java & C++. - The run-time performance of switching back to and forth was expensive. - The designers just didn't have the experience writing solid, fast code, compared to the years the programmers did. =20 Needless to say, we'll be looking at a scripting system very carefully before going back to it. We're leaning towards programmers writting everything in C++, but with more of a data driven approach. =20 If I'm not mistaken, one of the Jax and Dextor games used a lisp system. (Check the post mortem's in Game Developer). There was an older game, Abuse, by Dave Taylor's crack.dot that was written in Lisp as well. =20 Cheers -----Original Message----- From: Lagarde S=E9bastien [mailto:Lag...@wa...]=20 Sent: Monday, February 17, 2003 5:33 PM To: gam...@li... Subject: [GD-Consoles] question: Embedded scripting language on console =09 =09 =09 I looking for some information on existing embedded scripting language on console (ps2, gc). =20 My goal is to design some behavior with UML state diagram then generating the code for the scripting language. I have found that Java or python are appropriate language (with rational rose , together soft etc...) but after some research i have this result: =20 java is use in Vampire the masquarade base on embedded java language and JNI. But no information on other game (PC or console). Is java interpreter (jvm) can be support on console because the lack of ressource ? =20 python is use in many PC game , again i found only few console game base on python scripting but i think some use it. =20 I want use a popular existing language in order to each new team member are quickly functionnal so no proprietary language. =20 In last is multithreading in scripting language (like java) can be emulate on console for a real-time game ? =20 |
From: <phi...@pl...> - 2003-02-18 01:46:35
|
You should carefully consider the technical abilities of your designers= when making this decision. From personal experience, and observing other projects; the more like a= full-blown programming language your scripting system is, the more like= ly the programmers will end up writing the actual scripts. If programmers = are going to be scripting, why not just let them use the same language the engine is written in? Of course, I may just have had primarily non-technial designer experien= ces. From the "heated debate" on the algorithms list a couple of weeks back,= it's safe to assume that there are more technical designers out there, = so your mileage will almost certainly vary. Cheers, Phil PS I do wonder why Lisp seems to be such a popular language to base cus= tom solutions on though (both Halo and Jak & Daxter). Most programmers I kn= ow get headaches from Lisp syntax that I thought would fry the average designer. Is there something I'm missing? = =20 "Michael Pohoreski" = =20 <MPo...@cy...> To: = <gam...@li...> =20 Sent by: cc: = =20 gam...@li...urc Fax t= o: =20 eforge.net Subje= ct: RE: [GD-Consoles] question: Embedded scripting language on=20 cons= ole =20 = =20 02/17/2003 04:41 PM = =20 Please respond to gamedevlists-consoles = =20 = =20 = =20 Hello Lagarde On one of our past games, we=A0used Java & C++.=A0 The main issues we = ran into were: - Duplicated entity structs in both Java & C++. - The run-time performance of switching back to and forth was expensi= ve. - The designers just didn't have the experience writing solid, fast co= de, compared to the years the programmers did. Needless to say, we'll be looking at a scripting system very carefully before going back to it.=A0 We're leaning towards programmers writting everything in C++, but with more of a data driven approach. If I'm not mistaken, one of the Jax and Dextor games used a lisp syst= em. (Check=A0the post mortem's in Game Developer).=A0There was an older ga= me, Abuse, by Dave Taylor's crack.dot that was written in Lisp as well. Cheers -----Original Message----- From: Lagarde S=E9bastien [mailto:Lag...@wa...] Sent: Monday, February 17, 2003 5:33 PM To: gam...@li... Subject: [GD-Consoles] question: Embedded scripting language on consol= e I looking for some information on existing embedded scripting language= on console (ps2, gc). My goal is to design some behavior with UML state diagram then generat= ing the code for the scripting language. I have found that Java or python are=A0appropriate= language=A0(with rational rose , together soft etc...) but after some research i have this result: java is use in Vampire the masquarade base on embedded java language a= nd JNI. But no information on other game (PC or console). Is java interpreter (jvm) can be support on console because the lack o= f ressource ? python is use in many PC game , again i found only few console game ba= se on python scripting but i think some use it. I want use a popular existing language in order to each new team membe= r are quickly functionnal so no proprietary language. In last is multithreading in scripting language (like java)=A0can be e= mulate on console for a real-time game ? = |
From: <chr...@pl...> - 2003-02-18 02:49:15
|
Phil said: >If programmers are going to be scripting, why not just let them use the >same language the engine is written in? and >PS I do wonder why Lisp seems to be such a popular language to base custom >solutions on though (both Halo and Jak & Daxter). Most programmers I know >get headaches from Lisp syntax that I thought would fry the average >designer. Is there something I'm missing? Well, in Naughty Dog's case, the whole game is written in their Lisp version, so they are indeed "scripting" in the same language the engine is written in. I don't know how much scripting their designers do, but I think their programmers do a large part of it. Syntax aside, Lisp is really ideal as a "scripting" language as it is trivial to extend, can be changed on-the-fly at run time, is a higher- level language, allows code to be treated as data, etc. On top of this, compiled Lisp is just about as efficient as C/C++, see: http://www.bagley.org/~doug/shootout/craps.shtml In summary, because Lisp rules! ;) The drawback is, I'd think, that the number of programmers proficient in Lisp is somewhat smaller than the number of C-savvy programmers. Christer Ericson Sony Computer Entertainment, Santa Monica |
From: Mark W. <Mwa...@to...> - 2003-02-19 02:35:07
|
Mick, At what level do access your game objects/classes? Can a script perform something like rendering a mesh or is it completely game object centric? Cheers, Mark > -----Original Message----- > From: Mick West [mailto:mi...@ne...] > Sent: Wednesday, 19 February 2003 5:15 AM > To: gam...@li... > Subject: RE: [GD-Consoles] question: Embedded scripting language on > console >=20 >=20 > We (Neversoft) discussed this at some length when starting our first > game for the PS2. There was some movement towards using a=20 > pre-existing > script language (Java was mentioned). However I decided we=20 > should roll > our own, as we'd need control over what it was doing. >=20 > I'm now insanely glad we did this. The fine control we get over > debugging, memory usage and performance is invaluable. Those kind of > things may be less of a consideration on the PC, where you have memory > and CPU cycles to spare. But on the PS2, I feel that if we'd used a > pre-existing language, then we would have had a lot more=20 > trouble than we > did. >=20 > It does not take that long either. We shipped THPS3 less than a year > after we started programming our scripting language. >=20 > Of course, YMMV, it depends on what you use the script=20 > language for. We > have over 4MB of script, and a lot of the game's high level logic is > running in script, and a lot of the high level data is held in script > data structures. >=20 > Anyway, the original questioner intends to generate their scripts from > UML diagrams. This approach is inherently doomed, so the=20 > actual choice > of script language is irrelevant. >=20 > Mick >=20 > > -----Original Message----- > > From: gam...@li...=20 > > [mailto:gam...@li...] On=20 > > Behalf Of Ron Hay > > Sent: Tuesday, February 18, 2003 7:04 AM > > To: gam...@li... > > Subject: Re: [GD-Consoles] question: Embedded scripting=20 > > language on console > >=20 > >=20 > > Has anyone on the list actually thought deeply about which=20 > scripting=20 > > language they choose? If > > so, care to share your thoughts? We're in the middle of=20 > choosing the=20 > > language, and Lua seems > > to be our current top pick. The team member that is in charge of=20 > > scripting is the type of person > > that just likes to pick and go, so I'm worried that there may be a=20 > > better alternative out there... > >=20 > > Ron > >=20 > >=20 > >=20 > >=20 > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf=20 > > _______________________________________________ > > Gamedevlists-consoles mailing list=20 > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > > Archives: = http://sourceforge.net/mailarchive/forum.php?forum_id=3D553 > >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Gamedevlists-consoles mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=3D553 >=20 |
From: Mick W. <mi...@ne...> - 2003-02-19 03:05:06
|
Well now, that depends on how you look at it. The meshes are rendered by the rendering engine, but the object that is comprised of meshes is created and modified by script. For example, the skater is comprised of several meshes with various scales, materials and colors, all of which is controlled by script. The scripts could not render a mesh in isolation, and I can't see why you would want to. But they could create a game object that just comprised of a mesh component, which is essentially the same thing, just with some useful framework. Maybe I'm not understanding your question? Mick > -----Original Message----- > From: gam...@li... > [mailto:gam...@li...] On > Behalf Of Mark Wayland > Sent: Tuesday, February 18, 2003 6:35 PM > To: gam...@li... > Subject: RE: [GD-Consoles] question: Embedded scripting > language on console > > > Mick, > > At what level do access your game objects/classes? Can a > script perform something like rendering a mesh or is it > completely game object centric? > > Cheers, > Mark > > > > -----Original Message----- > > From: Mick West [mailto:mi...@ne...] > > Sent: Wednesday, 19 February 2003 5:15 AM > > To: gam...@li... > > Subject: RE: [GD-Consoles] question: Embedded scripting language on > > console > > > > > > We (Neversoft) discussed this at some length when starting > our first > > game for the PS2. There was some movement towards using a > > pre-existing script language (Java was mentioned). However > I decided > > we should roll > > our own, as we'd need control over what it was doing. > > > > I'm now insanely glad we did this. The fine control we get over > > debugging, memory usage and performance is invaluable. > Those kind of > > things may be less of a consideration on the PC, where you > have memory > > and CPU cycles to spare. But on the PS2, I feel that if > we'd used a > > pre-existing language, then we would have had a lot more > trouble than > > we did. > > > > It does not take that long either. We shipped THPS3 less > than a year > > after we started programming our scripting language. > > > > Of course, YMMV, it depends on what you use the script > > language for. We > > have over 4MB of script, and a lot of the game's high level logic is > > running in script, and a lot of the high level data is held > in script > > data structures. > > > > Anyway, the original questioner intends to generate their > scripts from > > UML diagrams. This approach is inherently doomed, so the actual > > choice of script language is irrelevant. > > > > Mick > > > > > -----Original Message----- > > > From: gam...@li... > > > [mailto:gam...@li...] On > > > Behalf Of Ron Hay > > > Sent: Tuesday, February 18, 2003 7:04 AM > > > To: gam...@li... > > > Subject: Re: [GD-Consoles] question: Embedded scripting > > > language on console > > > > > > > > > Has anyone on the list actually thought deeply about which > > scripting > > > language they choose? If > > > so, care to share your thoughts? We're in the middle of > > choosing the > > > language, and Lua seems > > > to be our current top pick. The team member that is in charge of > > > scripting is the type of person > > > that just likes to pick and go, so I'm worried that there > may be a > > > better alternative out there... > > > > > > Ron > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This sf.net email is sponsored by:ThinkGeek > > > Welcome to geek heaven. > > > http://thinkgeek.com/sf > > > _______________________________________________ > > > Gamedevlists-consoles mailing list > > > Gam...@li... > > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > > > Archives: > http://sourceforge.net/mailarchive/forum.php?> forum_id=553 > > > > > > > > > > > > > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf > > _______________________________________________ > > Gamedevlists-consoles mailing list > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > > Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=553 > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: SlickEdit Inc. Develop an > edge. The most comprehensive and flexible code editor you can > use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE > 30-Day Trial. www.slickedit.com/sourceforge > _______________________________________________ > Gamedevlists-consoles mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU3 > |
From: Mark W. <Mwa...@to...> - 2003-02-19 03:52:48
|
You pretty much answered it with "create a game object" rather than exposing some of your lower level systems. Pretty obvious stuff, but some scripters want more and more power - I was just wondering at what level you restricted this. Mark. > -----Original Message----- > From: Mick West [mailto:mi...@ne...] > Sent: Wednesday, 19 February 2003 2:05 PM > To: gam...@li... > Subject: RE: [GD-Consoles] question: Embedded scripting language on > console >=20 >=20 > Well now, that depends on how you look at it. >=20 > The meshes are rendered by the rendering engine, but the=20 > object that is > comprised of meshes is created and modified by script. For=20 > example, the > skater is comprised of several meshes with various scales,=20 > materials and > colors, all of which is controlled by script. >=20 > The scripts could not render a mesh in isolation, and I can't see why > you would want to. But they could create a game object that just > comprised of a mesh component, which is essentially the same=20 > thing, just > with some useful framework.=20 >=20 > Maybe I'm not understanding your question? =20 >=20 > Mick >=20 > > -----Original Message----- > > From: gam...@li...=20 > > [mailto:gam...@li...] On=20 > > Behalf Of Mark Wayland > > Sent: Tuesday, February 18, 2003 6:35 PM > > To: gam...@li... > > Subject: RE: [GD-Consoles] question: Embedded scripting=20 > > language on console > >=20 > >=20 > > Mick, > >=20 > > At what level do access your game objects/classes? Can a=20 > > script perform something like rendering a mesh or is it=20 > > completely game object centric? > >=20 > > Cheers, > > Mark > >=20 > >=20 > > > -----Original Message----- > > > From: Mick West [mailto:mi...@ne...] > > > Sent: Wednesday, 19 February 2003 5:15 AM > > > To: gam...@li... > > > Subject: RE: [GD-Consoles] question: Embedded scripting=20 > language on=20 > > > console > > >=20 > > >=20 > > > We (Neversoft) discussed this at some length when starting=20 > > our first=20 > > > game for the PS2. There was some movement towards using a=20 > > > pre-existing script language (Java was mentioned). However=20 > > I decided=20 > > > we should roll > > > our own, as we'd need control over what it was doing. > > >=20 > > > I'm now insanely glad we did this. The fine control we get over=20 > > > debugging, memory usage and performance is invaluable. =20 > > Those kind of=20 > > > things may be less of a consideration on the PC, where you=20 > > have memory=20 > > > and CPU cycles to spare. But on the PS2, I feel that if=20 > > we'd used a=20 > > > pre-existing language, then we would have had a lot more=20 > > trouble than=20 > > > we did. > > >=20 > > > It does not take that long either. We shipped THPS3 less=20 > > than a year=20 > > > after we started programming our scripting language. > > >=20 > > > Of course, YMMV, it depends on what you use the script > > > language for. We > > > have over 4MB of script, and a lot of the game's high=20 > level logic is > > > running in script, and a lot of the high level data is held=20 > > in script > > > data structures. > > >=20 > > > Anyway, the original questioner intends to generate their=20 > > scripts from=20 > > > UML diagrams. This approach is inherently doomed, so the actual=20 > > > choice of script language is irrelevant. > > >=20 > > > Mick > > >=20 > > > > -----Original Message----- > > > > From: gam...@li... > > > > [mailto:gam...@li...] On=20 > > > > Behalf Of Ron Hay > > > > Sent: Tuesday, February 18, 2003 7:04 AM > > > > To: gam...@li... > > > > Subject: Re: [GD-Consoles] question: Embedded scripting=20 > > > > language on console > > > >=20 > > > >=20 > > > > Has anyone on the list actually thought deeply about which > > > scripting > > > > language they choose? If > > > > so, care to share your thoughts? We're in the middle of > > > choosing the > > > > language, and Lua seems > > > > to be our current top pick. The team member that is in=20 > charge of > > > > scripting is the type of person > > > > that just likes to pick and go, so I'm worried that there=20 > > may be a=20 > > > > better alternative out there... > > > >=20 > > > > Ron > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > ------------------------------------------------------- > > > > This sf.net email is sponsored by:ThinkGeek > > > > Welcome to geek heaven. > > > > http://thinkgeek.com/sf > > > > _______________________________________________ > > > > Gamedevlists-consoles mailing list=20 > > > > Gam...@li... > > > >=20 https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > > > Archives:=20 > http://sourceforge.net/mailarchive/forum.php?> forum_id=3D553 > > >=20 >=20 > >=20 > >=20 > >=20 > >=20 > ------------------------------------------------------- > > This sf.net email is sponsored by:ThinkGeek > > Welcome to geek heaven. > > http://thinkgeek.com/sf=20 > > _______________________________________________ > > Gamedevlists-consoles mailing list=20 > > Gam...@li... > > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > > Archives: = http://sourceforge.net/mailarchive/forum.php?forum_id=3D553 > >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: SlickEdit Inc. Develop an=20 > edge. The most comprehensive and flexible code editor you can=20 > use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE=20 > 30-Day Trial. www.slickedit.com/sourceforge=20 > _______________________________________________ > Gamedevlists-consoles mailing list=20 > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles > Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU3 >=20 ------------------------------------------------------- This SF.net email is sponsored by: SlickEdit Inc. Develop an edge. The most comprehensive and flexible code editor you can use. Code faster. C/C++, C#, Java, HTML, XML, many more. FREE 30-Day Trial. www.slickedit.com/sourceforge _______________________________________________ Gamedevlists-consoles mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-consoles Archives: http://sourceforge.net/mailarchive/forum.php?forum_id=3D553 |
From: <chr...@pl...> - 2003-02-21 18:39:15
|
Ivan-Assen Ivanov wrote: >But how do you integrate a debugger into the typical >massively multithreaded, realtime environment of a game? Massively multithreaded? On a console? On the next generation of consoles, yes probably, but using threading on e.g. the PS2 is IMO not a smart call. Christer Ericson Sony Computer Entertainment, Santa Monica |
From: Ivan-Assen I. <as...@ha...> - 2003-02-21 21:57:42
|
> Ivan-Assen Ivanov wrote: > >But how do you integrate a debugger into the typical > >massively multithreaded, realtime environment of a game? > > Massively multithreaded? On a console? On the next generation > of consoles, yes probably, but using threading on e.g. the PS2 > is IMO not a smart call. I didn't mean multithreading in the classical OS/CPU context switch sense, but rather logically multithreaded, as in many simultaneously executing scripts for all the "agents" in the game world. |
From: <phi...@pl...> - 2003-02-21 21:13:36
|
Christer Ericson: > Massively multithreaded? On a console? On the next generation of consoles, yes probably, but using threading on e.g. the PS2 is IMO not a smart call. Even on the next generation of consoles, you're still unlikely to need more than one thread per processor. Maybe another to service inter-processor comms, but I don't see the benefit of a full-blown pre-emptive multi-threaded game engine. The cost of task switching is one of those things that goes down and up, since although the processor and memory gets faster, the register file, and task state information gets larger. Pre-emptive multi threading is great for applications that need to maintain an interactive UI while doing some huge monolithic background tasks. I suppose maybe if your game is also acting as the server for multiplayer. Cheers, Phil |