Hi, I was just wondering a couple things. The first thing is, is there any plans to add non-shader dynamic shadows to panda?
Also, I imagine you do, but do you have to be a proficient programmer to do multiplayer in panda?
The last thing I was curious about is performance. Using an interpreted language, how does Panda’s speed compare with say Blitz3d or Gamestudio?
Great idea! That’s the thing I miss too in Panda3d.
No. Just take a look at the networking section in the manual.
But of course you do need to know some basic programming and basic networking.
In some ways. The great thing about Panda3D above GameStudio is that in Panda3D you have to code more by yourself. That means, the performance is in your hand, just how you code it.
Yeah I don’t really like Gamestudio’s way of doing things either. I was really more concerned with how it compares to Blitz, as that is the engine I have my game started in and likely that is what I will continue to use for now.
I will have to take a closer look at the networking section in the manual but even the basic networking knowledge you said I would need to have is probably more than what I know. The only reason I think I can do it in Blitz is because there is a library someone made that has all the dirty work done for you and supposingly can get 255 players online at the same time. Can that be done just following panda’s manual?
Really the main reason I’m considering switching over to Panda right now is because Blitz isn’t being developed anymore, so the limitations it has right now (dynamic shadows), are here to stay.
Your maximum players is unlimited.
You just need to code your networking code in such way that the performance is best. ThomasEgi here on the forum wrote some networking code. Ask him if you need help with anything.
Unlimited players? In that case I think I will give panda a try.
Yep, unlimited. That’s the pro point of Panda3D above all those higher-level game engines.
The con is, however, that you need to write all the networking code by yourself - starting from basic client-server connections and sending packets. I’m not very experienced with that part of Panda3D - anyone else here (like ThomasEgi) may help you with that.
speaking of experienve… i started python… about 4 month ago… and panda about 3.
networking itself is not very hard, depending on what you want to do.
about networking …just connecting to a server and share some data is very easy, works great for a small number of players…(64… maybe more) in my case my server had to manage several hundret players so i needed to minimize traffic and cpu-usage.
depending on your application such a programm(part) would be written in a compiled language but so far mine worked great with python,too (later mmo-server… havent tested tons of players but the code is efficient).
so it depends on what sort of application you have, of course your code and well… hardware.
in case you hit some performance issues you still have the possibility to write the part you need in c++.
so… you could say… there is a limit for networking… given by your server&network&code =). but no “only 4 players” limit
about speed… well the engine itself is c++… you just use python to controll it so speed usualy is no issue… writing complex algorithms for runtime stuff (e.g. terrain, dynamic LOD, etc) should be written in c++… but usualy you dont need to do this since you only use the engine.
about shadows… i think you can access the stencil buffers since… dunno. 1.3.0 … so it should be possible to add stencilbuffer shadows … needs c++ ability… and i have none so dont ask me^
I see. 64 is good, but as I understand it you’re saying that it would take some work to get hundreds like I’m supposedly able to in Blitz? Is that correct? Then again, I haven’t tested the Blitz one yet, either. For a noob like myself it might not make a big difference either way.
What I’m doing though is an RPG type thing where (at least in multiplayer mode) you’re not on any kind of mission or anything, just interacting with other players - talking(if you speak the same language), fighting, ect… and of course levelling up and increasing your abilities and attributes.
Thanks for the replies, though.
well it certainly takes more to manage more players without burning your cpu or network… BUT its not that hard either. my (mmo)rpg server code is about 350 lines at the moment and more or less all important things are working.
in case of a rpg you should be able to take huge parts of my code. it manages the players in zones but the players wont notice. it’s ahuge world with virtually unlimited size (even precision issues are no problem cause i’m recentering the world.
the code should be able to handle a huge number of players even if they are spread around the world.
the code is everything else than finished. just a snapshot of my work. but most of the basic things you would require are already in there (it really lacks documentation so ask if you need help… preferably in the panda irc channel)
basic server and client, loading players and move them, interpolate player positions,save data on disconnect, collision detection(not 100% finished yet), etc… lots of small things.
you better rewrite it since it’s pretty much a mess but it works
i think client/server backup7 is the latest
PS: … no i wont pay your doctors bill. even if you get headaces looking at the code^^ i wont pay any money … i can only explain it