OSNews thread here degenerates into GC vs not
Lutger
lutger.blijdestijn at gmail.com
Wed Nov 22 10:19:10 PST 2006
Bill Baxter wrote:
> With a tight schedule, a good strategy is to not waste time optimizing
> any one particular thing until you *know* it is a bottleneck. Game
> developers tend to be pretty ruthless in applying this principle. For
> the Civ4 SDK, something that will only be used directly by a tiny
> fraction of Civ4 users, there's just not a lot of bottom line
> justification for putting resources there, when compared to say fixing a
> crash bug that 10% of players are likely to encounter.
>
> So yeh, that's why folks like the Civ team and the folks behind Eve
> Online are willing to go with Python. For most things Python is fast
> enough, and gets the job done much more quickly than C++. For the small
> fracton of the code where it's not fast enough, you can always re-write
> those bits in C and call it from Python.
>
> --bb
Civilization 4 is structured in roughly 4 layers:
1. core engine build on gamebryo (C++) - closed source
2. core game logic (120K LoC, a C++ DLL) - open source
3. python scripting (game logic, ui, terrain generation, etc.)
4. xml data (static data)
The C++ SDK is layer 2, so this affects all users. I don't know where
bottlenecks lie here, but I suspect it is in 1 or 2.
I'm not sure (nobody is as it hasn't happened yet), but I wouldn't be
surprised that if these parts of a large game are written in D
performance will go up instead of down, even if the D compiler doesn't
optimize as well as a good C++ compiler. For this kind of application I
can't believe a little slower floating point calculation will matter as
much as ease of high level design and maintenance optimizations.
More information about the Digitalmars-d
mailing list