crunch mode

This is a discussion on crunch mode within the Other Technologies forums in category; 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 ...

Go Back   Application Development Forum > Other Technologies

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #21  
Old 11-18-2004, 06:11 AM
Gerry Quinn
Guest
 
Default Re: crunch mode

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
Reply With Quote
  #22  
Old 11-18-2004, 11:52 PM
Tom Plunket
Guest
 
Default Re: crunch mode

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!
Reply With Quote
  #23  
Old 11-19-2004, 01:05 AM
Phlip
Guest
 
Default Re: crunch mode

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


Reply With Quote
  #24  
Old 11-19-2004, 01:05 AM
Phlip
Guest
 
Default Re: crunch mode

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


Reply With Quote
  #25  
Old 11-19-2004, 03:05 AM
Tom Plunket
Guest
 
Default Re: crunch mode

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!
Reply With Quote
  #26  
Old 11-19-2004, 05:26 AM
Paul Sinnett
Guest
 
Default Re: crunch mode

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.

Reply With Quote
  #27  
Old 11-19-2004, 12:22 PM
Nathan Mates
Guest
 
Default Re: crunch mode

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
Reply With Quote
  #28  
Old 11-19-2004, 12:22 PM
Nathan Mates
Guest
 
Default Re: crunch mode

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
Reply With Quote
  #29  
Old 11-19-2004, 04:05 PM
Phlip
Guest
 
Default Re: crunch mode

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


Reply With Quote
  #30  
Old 11-19-2004, 04:05 PM
Phlip
Guest
 
Default Re: crunch mode

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


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 07:24 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.