473,395 Members | 1,977 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Followup: big projects, games, reload

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
1 1410
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Rathtap | last post by:
Suppose I have the following enum that I need in multiple projects: enum Ratings{Poor=1,Satisfactory,Medium,Good,Excellent}; Instead of defining it in every project that needs it, I want to...
1
by: ft | last post by:
Can existing vc++6 projects be managed with c++ .net? johannes
4
by: bob lambert | last post by:
Help I am trying to deploy to another pc a vb.net std 2002 windows form application. I am confused. I created a project - windows form I built form, compiled and debugged. I created a...
4
by: Earl | last post by:
Is it poor practice to have one custom library depend on another custom library? For example, my data manipulation library depends on my replication library, which in turn pulls serial data out of...
1
by: Toe Dipper | last post by:
Basically looking for advice on structuring projects in solutions. Here is our example. We have a custom windows control. This control is then in used in 4 different projects. In VB6 we would...
4
by: kj | last post by:
I'm looking for "example implementations" of small projects in Python, similar to the ones given at the end of most chapters of The Perl Cookbook (2nd edition, isbn: 0596003137). (Unfortunately,...
22
by: ddg_linux | last post by:
I have been reading about and doing a lot of php code examples from books but now I find myself wanting to do something practical with some of the skills that I have learned. I am a beginner php...
7
by: supthere | last post by:
Hi folks! I'm new to the C language. I can write it (basic things) and use the compiler and stuff, but to get more experience in the C language I need something to work on or with. Does...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.