[q2x] Refactorization

Nick Trout nicktrout at shaw.ca
Mon Nov 10 12:25:38 EST 2003


From: "Jamie Wilkinson" <jaq at spacepants.org>
> This one time, at band camp, Nick Trout wrote:
> >optimised to minimise this. I think Pythons GC is a hack and Python
> >generates a lot more objects in use than Lua. Although I love Python I
don't
> >think its a realtime/game language.
>
> Microforte (Melbourne, Australia) are building a game called Citizen Zero
> around their BigWorld engine, a massively multiplayer RPG.  They're using
> Python as the scripting language, it was quite impressive when I saw it
run.
> Of course, they didn't go into details about the performance issues of the
> interpreter, and I'm sure the fact that it still isn't released after 3 or
> so years of development has anything to do with Python's GC :-)

The other issue with Python is the core is not reentrant, so you have mutexs
everywhere and big inefficiency when multithreading. Let me reiterate, I
really like Python, but the way it has been written is "let's get the syntax
correct and then sort out the implementation". Python 3 (from what I
remember) is where I think they're planning to do this. In a way the first 2
versions are prototypes (plan for a prototype as you'll end up throwing one
version away anyway...), as the language evolves, for which v3 will be a
complete reimplementation. Its quite sensible to do it this way really
(premature optimisation and all that). In Lua, the implementation and syntax
have always had equal importance. Lua also has a much smaller implementation
and is lean on features so this is not such a monolithic task.

Any comments about the delay of this game would be pure speculation. It's
easy to underestimate the amount of time and resources necessary to get a
game like this off the ground. There are a lot of problems you have to deal
with when you scale a game world up.

Nick






More information about the q2x mailing list