Is it possible with Panda3D?

Hi folks! I’ve been comparing 3d engines and stuff in this area and Panda3D is the most convincent but before i start i would like to know some things…

I want to build a virtual environment, to build the stuff that habit the virtual world i can read values from a database? For example, have stored the buildings data in a mysql database (textures, dimensions, positions)?

Can i make that world interactive like Second Life or OpenSim? Can i make him to support multyplayer and the players communicate between them?

I’ve been searching and it seems all possible but i’m starting and i would be thankefull if there is any confirmation of that and (if possible) tips on how to do it because i just dont know where to start from to create this virtual world(first the terrain? the controls? load the textures?) :astonished:

Short and simple: Yes, I’ve done it. As have many others (Toontown online, Pirates of the Carribean online, the list goes on and on and on)

Can you store textures, objects, and positions in a MYSQL database? yes.
Might just be better to have all the clients already have the pre-made objects, but you could do it that way too.

Can players communicate through the world? Yes. You get a sort of ‘blank slate’ with panda3d, you get to set up everything, and control everything. This also means that you can use your own python networking library (aka Sockets, or post/get with a web server, or Twisted networking library, or etc…)

It’s completely possible and completely practical. Will it be already done for you? No. You’ll have to build your own chat server, send chat messages to the server from the client, display them on the clients when they get a chat message, etc.
You’ll have to send player’s positions to every other player (How else would they know someone moved?)

How should you start? Build things in panda3d -offline- first. Build your virtual world single player, completely. After that you can worry about letting other players log in to your server and communicate and see other players.
I really want to stress what I just said above, so you get it in big nice bold text: build your game first

Many many people come onto the forums with your same idea (or something incredibly similar, my own FPS/game-type MMORPG) and they worry so much about how they’re going to do it that in the end they only have an idea on how to do it (aka ‘design plans’) though they have no code at all to do it.

I REALLY REALLY want to stress that if you want to build an MMO, build your small games first. Build a world with a character that you can walk around in and go through portals and do this and that and this and that.

After that you know how to build the client, then build a server that can handle it. But seriously, build the game first.

(Sorry if I sound paranoid or like I’m about to snap, just I know so many people who try to jump right into doing everything that they forget about the small little things that make the game what it is, and in the end they just give up and I never talk to them again :smiley:)

So, just to wrap it up: It can be done, and has been done. Will it require work? Yes. How should you start? Build the game un-networked first.

Hope this helps,
~powerpup118

Hehhe thanks for that complete answer, i’m willing to do it, it’s for a school project. I’m starting now and having the first noobish difficulties … Is it possible to load a .dae file directly? I’ve seen subjects that talk in conversion to .egg first … but converting into .egg and loading doesnt work … is there any way to load models besides .egg? I’m still searching, hope to find one solution soon :slight_smile:

Or should i create a world first with the models given and make all the commands and then go for Collada importing?

Thank you for your help :smiley:

Hi, I believe that the current collada support can be foundhere, it’s in development

It may be easier for you to import the .dae (collada) models into a 3d editing program (like Blender, google it) or 3dsmax, which you could then export as an egg file.

That’s just my idea though, collada support is still in development if I understand properly.

~powerpup118

The dae2egg converter is already functional with the exception of some features like animation. It’s supposed to work. If you’re having trouble with it, report it as a bug, and attach the model you’re using.