Hello all,
I have three projects that I would like to work on with others in the Panda3D community. These ideas have been rolling around in my head for a while and I’ve decided that I will never work on them unless I can get some other cool, motivated people like you involved.
- A Python learning game (think virtual robot programming)
- A collection of classic game implementations
- Collecting and converting models for Panda3D
Also let me add to this list continued work on the Mac packaging. Beyond the look and functionality of the current DMG, I haven’t done much real work.
Project Descriptions!
Python learning game
We have all seen the classic “learn programming” games where one writes a script or interacts directly with a character/robot to accomplish tasks, and that is the basic idea behind this implementation. There are a few things that I think makes a Python and Panda3D version compelling for this sort of program.
- Python is a real language. The skills learned by the student are directly transferable to real-world applications.
- The ability of the student to interact with the world in their code is incredible. I can see advanced students writing code that imports their own objects into the world, complete with 3D models, that interacts with the world the way they code them up.
- Panda3D’s graphical and multimedia capabilities would allow this program to potentially blow competitors out of the water and shed the ‘edutainment’ moniker.
- Networking capabilities could allow multiple learners to work in the same world - collaboratively or competitively.
- A good design will allow students to progress to contributors, since they are learning the language and framework the program is written with. They can then turn around and contribute new learning modules, models, environments, etc.
Implementation:
- I was thinking a two-pane window split vertically (since most screens are wide now) with a wxPython/wxScintilla editor on the left and the Panda3D world on the right. I am open to other suggestions such as doing the coding window in Panda or using a different windowing toolkit. I know wxPython pretty well.
- Students watch a tutorial on what needs to be done. i.e. what the goal for this environment is, and get programming instruction.
- They then write a script which controls their character and guides them through the objectives. Think of a script that tells the character to go to a locker, obtain (instantiate) a new item (which has its own class they need to work with) that gives them some ability (like flying), then they fly a path to the goal!
Classic games implementations
Two older articles I found inspired this idea:
Basically, there are always some games that beginning developers go through creating. Panda3D, being accessible and written in Python, attracts a lot of beginners in both programming and game development. The question for these beginners is always “how would I do [game dev topic] in Python/Panda3D?”
I would like to see this project take on three goals:
- Provide good reference material for implementing certain kinds of features
- Show off Panda3D and get its name out there as a game framework that actually has some fun free games
- Create some FUN, complete, attractive classic games
I dub this project “Panda3D Recreations” if it ever gets off the ground. Game types/styles I would like to see include the ones given in the links above: Tetris clone, Pac-Man, Mario/Platformer, side scrolling shooter, dungeon crawler, maybe a basic RPG with menu systems.
Lastly, Collecting and converting models for Panda3D
This project already had sort of a jump start and stalled. The Google code project I put together has some more information, but basically I’d like to get some Panda3D-ready models together for those of us with less Blender skills than some of you
code.google.com/p/panda3d-models/
New, original models would be awesome, but there are many good, freely available models that could be converted as well. For example, the Glest models could be used in an open source Panda3D game if someone just converted the formats and did a little clean-up. This is out of my league, unfortunately, but I’m hoping to prompt someone who can do it to help us all out!
You and me
I recently returned to graduate school from working full time to pursue a Phd in statistics. I of course thought I would have more time than I actually do . I am motivated, encouraging, and good at organizing people and tasks to accomplish goals. I’m also decently handy with Python, C, C++, BASH, and a bunch of toolkits. I also have some server resources we can use and am a pretty handy UNIX sysadmin. I am short on time but big on working on things I love.
You know Panda3D and/or are a good 3D modeler/artist OR are highly motivated and have time to learn one of those things.
Hope to hear from you soon!