Questions.

Hey there, i’m new to Panda3D but a little familiar with python. I have some questions i hope you guys can answer for me :slight_smile:.

1. Alright, lets kick off; I’ve heard about and seen this “Scene editor” heck, i’ve even watched the video about it, but it doesn’t tell me how to open it! How the hell do i open this scene editor? What is it used for? Creating your game’s world?

2. .egg files, what? Where can i get my hands on a nice, easy, free modeller to create such a file? I have blender3D and am really familiar with it, been using it for around 5 years now but i don’t really feel it’s good for modelling nice models, and suggestions? How would i then go on to creating that .egg file? Just change the file extension to .egg?

3. I’m still wondering how the hell a game can be made with lines of code! How does it all work? Can anyone explain it in a nutshell?

4. Once i write my game, how do i create the .exe for distribution? How can i “lock” or compress my python files so no one can just randomly access them and edit away?

5. How long is the average milestone for grasping python and being able to code a simple 3D game?

6. Now for the killer, “i am creating a WOW killer MMORPG! How do i do it??” Just kidding :smiley: :stuck_out_tongue:. My real question is this; I’ve heard panda3D is actually designed for an MMO type project, i also heard that it has the client-server system already to go, can someone elaborate this please?

Thanks, that is all for the moment :wink: I’ll surly have more questions soon.
Brave. :wink:

1: Scene editor is not really mentained as far as i know. it can be used to puzzle together your world, placing objects,lights etc etc. you can do the same with code or write your own little editor which stores those information in a textfile or whatever else you want.

2: egg files are human-readable file which contains model and animation data. there is a good documentation about it and they are pretty easy to create. if your favorite modeller/animation package has a SDK or a good script-interface you can write a exporter yourself. my recommendation: use blender. the exporter is good,fast,stable and easy to use.

3: check the manual (documentation->manual). it explains how to start the engine, how to load, move,animate stuff. how to use all sorts of things. best is to read through it once to get an idea about what is possible. then you work through the basic tutorials. after that you should already be able to create a small simple application.

4:for windows panda provides a tool called packpanda. on linux you could try to use freeze which comes with python. in case you want to hide your sourcecode you could try to use python bytecode files. they work as fine as the source, are easy to generate and are not really human-readable anymore.
-alternative: use c++ instead of python. pro-rsoft is currently writing tutorials about how to use panda with c++ instead of python.

5:depends on how you define “simple”. if you want a character walking around, jumping and collecting coins… simple jump and run. you can make it in a few days (if you have the whole day free)… i’d say … 2 weeks if you just do it as hobby… but heavily depends on how much time you have. usualy you start somewhere and learn how to do it and just continue like this.

6: jeah now the killer question. … a MMORPG. how to do… well… i’d say… code it.
first of: panda has nice buildin network capabilities which allows you to send all sorts of data between server<>client. setting up a connection takes only a few lines of code. the real challange with mmo’s are that you have to minimize traffic and cpu usage and still be able to manage hundrets or maybe thousands of players at the same time on a single server. i’m writing on a mmorpg myself and my framework(network part) is more or less finished, including basic playermovments,basic data-sanity check ,account management, login/disconnect , zone based client management which allows virtually unlimited world size and high player counts per server (the player wont notice the zones, for him it’s a single huge world)
feel free to check it out, but ask me befor you use it for anything serious or non-open-source.
http://home.arcor.de/positiveelectron/files/project-files/backupfiles.tar.gz
in the end one has to “translate” the server into c++ but it’s nice to have it in python for develping. c++ is only needed for the “real” server versions which might have to handle lots of players.

mmorpg’s are more or less like the olymp of code-optimisations. especialy on the server-side. but nothing’s impossible. to give you an idea. i wrote on this code for about 2 month and i started to programm when i started with panda. 1month befor that i started python. and i had virtually no programming experience befor that. so… panda is really great to start with :slight_smile:

since panda was made for a mmo there might be some nice buildin features which might make your life easyer… i didnt really find them or i didnt realize what they where in case i did… just in case you want to programm a mmo you might want to ask drwr about special mmo-features :slight_smile:

Thank you! What an informative reply! My responses:

1. Hmm, i watched the video tutorials about the “Scene editor”, can i use something like it instead of coding everything? The one he had in the video would convert what he saved in the editor into python. very fast and convenient.

2. I still don’t get it, how do i create a .egg, could you provide a link to something witch would put this into more light? Thanks. :slight_smile:

3. So there is an application, with a GUI etc…? You don’t need to code everything in python for it to run? Could you provide a link on how to “Open” the engine? Thanks.

4. Again, link me please :stuck_out_tongue:. I’m on windows.

5. Here’s the deal, i want to create a simple city level, with a character in 3rd person, with nice 3D graphics and can shoot/run/crouch/jump etc… I have a lot of free time. Then i want to put this online with the Client-Server network and further develop it into a more MMO type project.

6. So i can’t use python to make an mmo? I have no C++ knowledge i was advised to stop learning it as it takes a lot of time to learn. Thus i opted back to python as it’s much easier. But as i was saying, can’t i make the server in Python? I’m sure it’s possible.

The download you provided, what exactly is that? A server-Client set up for python?

Once again, thanks. :wink:
Brave.

i really recommend you to read the manual. like i stated above you can find it when you click here on the panda main-page on documentation->manual.
there sre sticky threads about how to get started,too. READ them, i cant tell you anything else since it’s all in there.

  1. i havent used the editor yet and i wont. so i dont know its capabilities. but i guess you still have to code by hand.

  2. a egg files is a simple text file. try to open some, which comes with the panda-examples or export a simple box in blender (using the chicken exporter).you can open the files with every texteditor of your choice. it has a clear structure. like i already said there it’s well documented. it’s all in the manual.

  3. once more. read the manual. all your questions will be answered there. and no. there is no gui for the engine. why should there be one? the engine has to show your game and no gui for… yeah for what?

  4. i havent used packpanda since i’m not on windows. i think there was a thread about it. use the forum search. there is a thread with detailed usage instructions and good explenation to optimize your later packed files.

  5. a “city” is not simple. (usualy its not) a smal village is already more than enought to start with, a single block of houses might be best,if you have no idea how to start, use a simple plane area for testing. making a mmo with shooting make things a little bit time-critical. those timing-critical servers are already a case for themself (prediction,smoothing,timing itself,lag compensation etc) but mmo+critical timing is ways above your head if you dont know how to even run panda yet. i guess you should skip the network for now and just try to make your player walk,jump,move around in your environment… at least for the beginning.

  6. you can use python to make an mmo. BUT if you really have lots of players your servercode needs to run FAST and python is comparably slow. for the client it’s fine because it controlls the engine which is written in c++ but the server has to manage more stuff like lists and directories,files and all this with a lots of “slower” python calls. so for testing it’s still ok to use python for the server too. once you have lots of players you should ask someone to translate the code into c++. it’s not that hard.

the files i provided contains more or less exactly the framework for what you want to do.
it contains my backup files of my server and client. the server handles everything a server should handle. and the client handles players,movemend,loading of the world and removing unneccessary parts again, playing animations ,doing collisions etc.
just to give you an idea what you’r about to write^^.

maybe i should make one thing a little bit more clear.
panda3d is no game-creation kit.
so there are no nice gui’s for each and everything. i dont even know if the scene editor is useable at the moment. in any case you should be aware that you have to WRITE your game, you can not click it together. it’s not hard, in fact it’s quite easy. so if you want to know how to do something you should read the manual, check the forum, and if there are no information ask in the forum or the irc channel.

dont get discouraged. panda is a nice engine featuring almost everything you would expect from a complete game engine… there are just no drag&drop or click&place things.
read the manual, go thorugh the examples ( you can find them in your panda install directory on your harddrive). after that you should have a good overview on how to use panda :slight_smile: and you should be able to start coding your game.

Thanks again! Ah Jesus, i love you and your brilliant replies! :smiley: hehe.

So if i make a model in blender, all i do is export it with this “Chicken” exporter, and it will instantly create a .egg file?

So to make the character run, jump etc… i should really focus on learning more Python?

I know panda isn’t a game creation kit; i don’t want it to be one! I love the freedom, i’m just new to this all and am used to blender’s engine with its GUI :stuck_out_tongue:.

I’ll get onto reading that manual right now!

PS: What’s the IRC info? Can i connect to it via the website?

Brave. :wink:

chicken does the hard work yes :wink:

to learn to make things run, jump and otherwise,read the manual front to back if you can, and along the way if you need to, just do some searches on various topics of interest.

blender is a great combo with panda, so have fun and welcome to panda3d :wink:

IRC info is: irc.freenode.net #panda3d

cheers
neighborlee

Alright thanks guys, i’m currently reading a book about Python and then i’ll finish the Panda3D manual. I’ve got another few questions for you :stuck_out_tongue::

  1. How much experience with Python and Panda would it take to create an online game?

  2. When i create the Client-Server, do i need to code the Client into the game? Or is the Client a separate program?

  3. If several people had the Client and i wanted to distribute an update patch, what would i do? Put it on a server ftp? And it would be downloaded by the Client?

  4. When you say “Panda already has the networking (Client-Server) built in” what exactly do you mean? That it’s easier to create them?

  5. Python is a relatively easy language to learn, but how easy is it to code a game? Say a 3D game where you could run, shoot a gun, jump, walk and crouch.

Thanks,
Brave. :wink:

i dont like to say it again… but…read the panda manual, most of your questions are already answered there.

1.i had no experience and managed a server/client framework in less than 2 month. so it’s not much you require if you have the manual nearby.

2.the client IS the game. so its coding both at once.

  1. you should really get into things first befor you get into the details. it’s basically replacing or changing all updated files. how you do that is your thing. you can provide manual downloads so people need to patch the game themself, you could write a small updater application or you can integrate the updater into your game so it’ll check for updates automatically.

  2. panda has networking capabilities means: panda is able to connect,hold,manage,close connections and send data over those. this doesnt make it easyer it makes it possible. it’s not hard anyway. what sort of data you send and what you do with the sended data is up to you and your code.

  3. again… read the manual… it’s all in there and you’ll get a good idea about game programming with python/panada3d once you read through it. it’s not hard but you have to read the manual for creating a game^^. all you need is the manual, perhaps some python reference and basic math. …uhhmmm… and some free time :smiley:

maybe you should read a book about game programming/creation in general. judged from your questions it might give you a good idea about a lot of things.

Hehe, i’m sorry, i know i need to read the flipping Manual! But i want to finish this Python book first. :smiley:

Thanks for your answers,
Brave. :wink:

Can Panda3D run with High Poly models?

If i use subsurf in Blender on my model, will Panda3D keep the model the same?

How do i export my models with the textures i apply in Blender?

If i UV map my textures on my model in Blender and export them, will Panda3D keep the textures on the model? Or do i need to texture the models the same as texturing for a render?

Hope someone can help,
Brave.

ok this time you should read through the chicken exporter manual :wink:
panda can handle pretty much anything you put into, high poly models,too. the question is if your hardware will be able to display it with a decent framerate.
in 3d-relatime applications such as games … there is a golden rule… low poly-lower poly-lowest poly. means… go as LOW as you can while keeping the modell looking good.
you can use subsurf in blender, but you have to apply the modifier befor exporting or it wont have any effect on the exported model.

textures will exported automatically. perhaps you need to change absolute path in the egg file to relative ones.
using th UV-editor is just fine. but keep in mind… EITHER material OR texture… both doesnt work yet (at least as far as i know).
if the textures show up in blender’s normal modelling preview (with draw mode-textured) it should be fine.
for more details check the chicken manual, there you can find what is supported and not.
just make some simple tests and you’ll see if it works for you :slight_smile: if not… well feel free to ask

The thing is, i have modelled my model, UV Mapped it then exported it, then opened it in the Scene Editor but it’s texture less. Wth?

export as egg, open the egg with a texteditor, check for too long texture names, spaces in the texture name(check the texture-file for it), and check if you did assign a material (if so delete it in blender), check if the texture path is correct. … and check if you did everything like the chicken exporter manual told you to =)

Where’s the manual?

comes with the chicken exporter. look at the files you downloaded… its somewhere in there

@ThomasEgi: I think he means the Panda3D manual, no?
It’s here: http://www.panda3d.org/manual/index.php/Main_page