By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,548 Members | 1,396 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,548 IT Pros & Developers. It's quick & easy.

Followup: big projects, games, reload

P: n/a
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/p...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


Jul 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
On Wed, 31 Mar 2004 14:32:47 -0500, "Terry Reedy" <tj*****@udel.edu>
wrote:
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/p...29/Panda3D.htm
It surprised me as well. But for different reasons.

The Entertainment Technology Center at CMU seemed to have been (is?)
ground zero for Alice. And Disney, is well, Disney. And the Alan
Kay, Disney connection - as to *educational* technology, disturbed me
- to put it mildly. I could say much on this.

So it was great to see that collaboration of Disney and CMU produce
something so clearly defined and powerful and - well - wholesome.

It was refreshing that:

Panda3d - as opposed to, Alice -is and has been opened source and
crossplatform.

It is and understands itself to be *entertainment* technology. No
ambiguity, and not depending on who the audience happens to be.

The students at CMU in the Building Virtual World class were given
the choice of Alice and Panda3d and 100% chose to work with Panda3d.

The class project usingt Panda3d presented seemed to me, at least,
to be a clear swipe at the insipidness of Alice.

The Python community should feel good about Disney's choice of Python
as the scripting tools for Panda3d. And CMU support for the project
going forward.

Buy the community should intorspect a bit, IMO, about how so many
bright people seemed to have become enamored of Alice, simultaneously.
I will probably never get over the fact that a (let's say) overly
generous view of Alice seemed to be almost of price of admission for
community acceptance for those of us interested in Python and
education.

Art

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


Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.