Is Panda3D the right engine for me?

Hi there Panda3D community, my name’s Sma and I’m new here. I study bioinformatics at the university at the moment, so I have quite good programming skills.

I’m very interessted in game design and to start with it, I want to create a small 2D game (I grew up with 2D games and I wanna die with them).
The “Asteroids” demo script showed me that it is possible to create 2D in Panda3D, but I have some questions:

  • The game should be multiplayer (4 players) via the internet. I’ve read the manual about networking (AC.), is Panda3D a good platform for online gaming?
  • The “Asteroids” demo used ‘x’ and ‘z’ for the 2D sprites. Can I use the ‘y’ coordiante to stack objects on the screen (example: sky in the background, clouds before sky, tree before clouds, apple in the front)?
  • Lots of manuals are about 3D models, is there anyone outside who might help with 2D graphics/ animations (if I need it)?
  • [EDIT] The game should also support Windows/ OS X/ Ubuntu (afaik Panda3D should be able to do this)

If you’re still interested, the game should be “oldschool gameboy rpg” style (but multiplayer), see:

I want to be sure that Panda3D supports my needs before I start implementing my ideas, so I would be very grateful for any answer given.


Panda has all you need.
Multiplayer - yes, there’s a mmo using panda (Pirates of the Caribbean) theres a Distributed Object system and there’s also some simpler networking.

The Y-axis is still there, and you can use it as you like it.

3d graphic is some times simpler then 2d. For 2d you need to know how to draw/paint (or use photos and movies) some software can help, but none will do the job for you. With 3d models some tasks can be done for you - can’t model a character? Use MakeHunan. Can’t draw terrain? Use L3DT. Can’t make animations? Use mocaps from CMU. Can’t make textures? Use FilterForge. And the list goes on…

Panda can pack your game into a binary for windows or mac or linux with just two command line programs or into a platfor independend p3d file with just one.

panda can handle all things you requested. but be warned that panda focuses on 3D, not 2d.

you can use it for 2d stuff but you should be prepared that most of the convenient 2d-stuff you might know is simply not present. like there is no buildin system to do pixel-pixel based collisions. you’d have to drag in 3D collision solids to make up for that. possible but not as convenient.

as wezu said. it might be even easier to go with a 3d look. altho, as pixelfanatic you may want to keep it to some very minimal 3d environment and use sprites/billboards. this way you could create a simple, yet unique retro look.

as for networking, i once wrote a small example script using the “middle” layer of panda’s networking system (the managed connections). those allow you to easily send data from A to B, yet they provide enough convenience like automatically detecting disconnects and stuff like that. …
it should be pretty easy to re-use. the in that example is used to savely pack and unpack pretty much all python standard data.

Well i already made some units (with 2 animations)/ floor-tiles/ walls and i’m pretty sure that i can “draw” everything i want to be in the game. :slight_smile:

I might switch to 3D if i fail too hard in using 2D with Panda3D.

Very good, a packed binary is what i’m looking for (in the first place).

Okay, so 2D collison might be complicated.

What about 2D animations (replace one sprite with another)? Is there a way to replace the skin of that “plane.egg” model during runtime?

Thanks alot for the network example and the fast answers! :slight_smile:
Looks like i’ll try Panda3D for my project.

For animations, perhaps take a look at SequenceNode, and note that, if I’m not much mistaken, the command-line utility “egg-texture-cards” can make such a thing for you automatically.