| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#21
| |||
| |||
| In article <7d209056.0411161322.7dddc88a@posting.google.com >, plunket@gmail.com says... > FWIW, I developed a game in Python to learn the language in the first > place. I have been employed in the industry for some time. When > writing a game in Python, I found it amazing that I could actually get > the functionality done an order of magnitude faster in Python than I > could in C++. I've been programming in C++ for something like 12 > years, and as I said above, learned Python from scratch through this > project. One small question - was the game you developed in Python pretty much a clone of a game you had previously written in another language? That's a great way to learn a language, but I suspect it tends to give a false impression of the productivity of the 'new thing'. - Gerry Quinn |
|
#22
| |||
| |||
| Gerry Quinn wrote to Tom Plunket: > > FWIW, I developed a game in Python to learn the language in the first > > place. I have been employed in the industry for some time. > > One small question - was the game you developed in Python pretty much a > clone of a game you had previously written in another language? No, actually. However, the games I make in my day job are 3D action games, whereas this Python game was a top-down run-around-the-nonscrolling-playfield game. Certainly part of my velocity was knowing how to proceed; the top-level loop needed to know when to play the frontend vs. the game vs. the high score screen. The player's avatar and the 'enemies' were represented with some conceptual similarity to what I had done before. At the end of the day, though, if I had done the same game in C or C++, it would have taken several times as long simply due to all of the "low level crap" I would have had to manage. -tom! |
|
#23
| |||
| |||
| Tom Plunket wrote: > Certainly part of my velocity was knowing how to proceed; the > top-level loop needed to know when to play the frontend vs. the game > vs. the high score screen. The player's avatar and the 'enemies' were > represented with some conceptual similarity to what I had done before. > At the end of the day, though, if I had done the same game in C or > C++, it would have taken several times as long simply due to all of > the "low level crap" I would have had to manage. From the Lua mailing list: > The latest title from the German Company "BlueByte" called "Settlers V" > is about to be released. It consists of: > - 500.000 LoC written in C++ > - 150.000 LoC written in LUA > LUA is used for all the mission scripting and they are very happy with > it since they started using it in Settlers IV. Settler V is one of the > major PC gaming titles to hit the stores for this Christmas. > Bernd That's the thing. The question whether they had a Lua debugger is less important to me than the question of a Lua profiler. As one finds bottlenecks in the scripting language, one can perform the Change Language Refactor to push that code into C++. Once there, one can make all the typesafe assumptions that a compiled language provides, and one can also Substitute Algorithm Refactor. Ideally, the decisions and logic happen, slowly, in Lua, and all the special effects happen in C++. A rich Lua layer _might_ lead to a curious effect. If instead of debugging everyone writes tests, then designers could conceivably write tests in Lua that match the design elements they author. This seems more productive, to me, than manually testing the product every day for a year, fretful that some subtle nuance might disappear and nobody notices. -- Phlip http://industrialxp.org/community/bi...UserInterfaces |
|
#24
| |||
| |||
| Tom Plunket wrote: > Certainly part of my velocity was knowing how to proceed; the > top-level loop needed to know when to play the frontend vs. the game > vs. the high score screen. The player's avatar and the 'enemies' were > represented with some conceptual similarity to what I had done before. > At the end of the day, though, if I had done the same game in C or > C++, it would have taken several times as long simply due to all of > the "low level crap" I would have had to manage. From the Lua mailing list: > The latest title from the German Company "BlueByte" called "Settlers V" > is about to be released. It consists of: > - 500.000 LoC written in C++ > - 150.000 LoC written in LUA > LUA is used for all the mission scripting and they are very happy with > it since they started using it in Settlers IV. Settler V is one of the > major PC gaming titles to hit the stores for this Christmas. > Bernd That's the thing. The question whether they had a Lua debugger is less important to me than the question of a Lua profiler. As one finds bottlenecks in the scripting language, one can perform the Change Language Refactor to push that code into C++. Once there, one can make all the typesafe assumptions that a compiled language provides, and one can also Substitute Algorithm Refactor. Ideally, the decisions and logic happen, slowly, in Lua, and all the special effects happen in C++. A rich Lua layer _might_ lead to a curious effect. If instead of debugging everyone writes tests, then designers could conceivably write tests in Lua that match the design elements they author. This seems more productive, to me, than manually testing the product every day for a year, fretful that some subtle nuance might disappear and nobody notices. -- Phlip http://industrialxp.org/community/bi...UserInterfaces |
|
#25
| |||
| |||
| Nathan Mates wrote with Tom Plunket: > >I wonder how much our productivity would be increased if we used > >something that "compiled" faster. I'd even trade execution speed for > >being able to load a bunch of code up on the target and have it > >interpreted, for some development anyway. > > Scripting languages like Lua come to mind. Or things like proper > use of precompiled headers or IncrediBuild for PC/XBox that make > builds go pretty fast. On the PS2, things like batching up .cpp files > speeds things up a lot, as the excess of headers bloats things up a > lot. [Anyone know of a tool to identify which .h files are not needed > by a .cpp? That'd help all platforms by cutting out some deadweight.] Yeah, scripting languages are where I'm leaning these days. Lua is an option but I've had far more luck with custom built-to-purpose scripting engines quite honestly (on games I've worked on; I've never actually implemented one myself). The problems people have with general-purpose scripting languages are similar to the problems that people have with general-purpose memory allocators and general-purpose rendering engines. They're great for general work, but not so great for highly-specialized tasks... Anyway, I'm drifting off topic. Incredibuild helps, reducing coupling between files helps a lot as well. Precompiled headers help no doubt as well, and I've heard about concatenating a bunch of files and feeding that to the compiler as well, but never done it myself. I'm more interested in scripting languages to get beyond this, too, though. Consider having your game logic in 'script,' you could hack, edit, completely rewrite game logic and reload it without even exiting the game, much less recompiling. Obviously you need the in-game infrastructure to be able to reload resources, but if it's something you plan for up front you're all set. I keep thinking about writing a tool to determine what headers are unnecessary. It seems like it'd be pretty easy to whip up using Python or Perl, but as so many other things it seems fairly low on the list. ....hmm, maybe I'll take a stab at it tomorrow. ![]() -tom! |
|
#26
| |||
| |||
| Nathan Mates wrote: > [Anyone know of a tool to identify which .h files are not needed > by a .cpp? That'd help all platforms by cutting out some > deadweight.] Yes. Lint can do that. However it doesn't help so much because a lot of code is written in a way that it relies on headers that it shouldn't. A good coding standard up front is the only sure way around that, that I know of. Although I have been tempted a few times to write a tool to break-up dependencies. |
|
#27
| |||
| |||
| In article <x2gnd.25943$5b1.15783@newssvr17.news.prodigy.com> , Phlip <phlip_cpp@yahoo.com> wrote: >> LUA is used for all the mission scripting and they are very happy with >> it since they started using it in Settlers IV. Settler V is one of the >> major PC gaming titles to hit the stores for this Christmas. >That's the thing. The question whether they had a Lua debugger is less >important to me than the question of a Lua profiler. As one finds >bottlenecks in the scripting language, one can perform the Change Language >Refactor to push that code into C++. Once there, one can make all the >typesafe assumptions that a compiled language provides, and one can also >Substitute Algorithm Refactor. Ideally, the decisions and logic happen, >slowly, in Lua, and all the special effects happen in C++. Is your paragraph based on actual fact with respect to the game you mentioned, or just some fantasy world full of buzzwords (find something better to dream about already!) that you ran with just to try and bolster your repetitive rantings? Nathan Mates -- <*> Nathan Mates - personal webpage http://www.visi.com/~nathan/ # Programmer at Pandemic Studios -- http://www.pandemicstudios.com/ # NOT speaking for Pandemic Studios. "Care not what the neighbors # think. What are the facts, and to how many decimal places?" -R.A. Heinlein |
|
#28
| |||
| |||
| In article <x2gnd.25943$5b1.15783@newssvr17.news.prodigy.com> , Phlip <phlip_cpp@yahoo.com> wrote: >> LUA is used for all the mission scripting and they are very happy with >> it since they started using it in Settlers IV. Settler V is one of the >> major PC gaming titles to hit the stores for this Christmas. >That's the thing. The question whether they had a Lua debugger is less >important to me than the question of a Lua profiler. As one finds >bottlenecks in the scripting language, one can perform the Change Language >Refactor to push that code into C++. Once there, one can make all the >typesafe assumptions that a compiled language provides, and one can also >Substitute Algorithm Refactor. Ideally, the decisions and logic happen, >slowly, in Lua, and all the special effects happen in C++. Is your paragraph based on actual fact with respect to the game you mentioned, or just some fantasy world full of buzzwords (find something better to dream about already!) that you ran with just to try and bolster your repetitive rantings? Nathan Mates -- <*> Nathan Mates - personal webpage http://www.visi.com/~nathan/ # Programmer at Pandemic Studios -- http://www.pandemicstudios.com/ # NOT speaking for Pandemic Studios. "Care not what the neighbors # think. What are the facts, and to how many decimal places?" -R.A. Heinlein |
|
#29
| |||
| |||
| Nathan Mates wrote: > Is your paragraph based on actual fact with respect to the game you > mentioned, or just some fantasy world full of buzzwords (find > something better to dream about already!) that you ran with just to > try and bolster your repetitive rantings? Do you have a real question to share with everyone? -- Phlip http://industrialxp.org/community/bi...UserInterfaces |
|
#30
| |||
| |||
| Nathan Mates wrote: > Is your paragraph based on actual fact with respect to the game you > mentioned, or just some fantasy world full of buzzwords (find > something better to dream about already!) that you ran with just to > try and bolster your repetitive rantings? Do you have a real question to share with everyone? -- Phlip http://industrialxp.org/community/bi...UserInterfaces |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.