Followup: big projects, games, reload

Terry Reedy tjreedy at udel.edu
Wed Mar 31 21:32:47 CEST 2004


People fairly frequently ask about Python being used in big projects,
commercial projects, commercial games, etc.  There was also a recent thread
on the limitations of 'reload' and what one might do to get the reload
behavior one wants...

One of the PyCon talks that most surprised *me* is this:
http://www.python.org/pycon/dc2004/papers/29/Panda3D.htm

It seems that Disney's rather successful ToonTown Online (
http://toontown.com )
is scripted in Python on top of their now open sourced Panda3D (C++)
engine.
( http://www.etc.cmu.edu/panda3d )
This answers the first set of questions in the affirmative.

One of their reasons for using Python is to be able to do the following:

"Redefining methods:

One of the truly powerful features of Panda3D is that you can stop a
simulation, redefine a method, and start from that point again. This is
done using Python features. Panda3D recursively digs through namespaces to
find the definition of the class or methods and then swaps them for the
new, thus rebinding the new version. There is also special code written to
dig out all the stored function pointers, such as events and tasks, and
replace those as well."

I think this nicely illustrates what I saw as the conclusion of the reload
thread: if one wants a reload function that does exactly what one wants in
a particular application, one should write it oneself, and with effect, one
can do so.

Terry J. Reedy







More information about the Python-list mailing list