Understanding Panda...

One simple question, what’s the most efficient method of changing a characters animation. For example, I want him to have different animations for when he runs left, right, forward, backward, jumps, etc. In 2d it was simple and there were many methods of doing this. In 3d, I’m not sure which method is best. In fact, I don’t even know what the methods are.

The rest of my post is a bit different, and I would actually prefer an answer to the long stuff at the bottom.

Hi everyone. I’ve been learning the ways of Panda3D to achieve the goal of creating a full online multi player game in 3d. I know how python works and how to code (although my skills are laughable at this point). My request is for some help on what path I should take to reach this “simple” goal of mine.

Currently I’m working on my Python and coding skills in general, and am about to dive into the rest of the manual.

I have Blender and Poser 6, an expensive gift from a friend a while back. I’ll download any software you think is important, but my goal is also to keep it free or cheap. I wouldn’t really buy Poser 6 myself but my friend couldn’t think of a birthday present…

Anyway, now that I’ve got my selfish requirements out of the way, this is what I am looking for:

-Good tutorials besides the one’s that come with Panda. I’ve already gone through them. I prefer to do things on my own without begging for help, so links to good Panda related sites would be great. Even some good python sites would be nice. Unfortunately, Google hasn’t come through for me so I’m asking here. The tutorials don’t just have to be beginner, any level is fine.

-Some concepts to read. The best ways to use Panda. You know. Tricks that are present in any language/engine that provide the best performance.

-Helpful tools for networking, graphics, terrain, and all that junk that’s important for a 3d multi player online game (let’s say mog for short?)

I’m willing to learn these and figure out how to integrate them myself. Just not sure which one’s are compatible or recommended.

Can’t think of anything else at this time, but I’ll keep asking questions on these forums if I’m accepted into the community and my questions are tolerated.

By the way, you may be wondering why I put this post here in this scripting issues section. The reason is quite simple actually. I’m having issues scripting, and I’d like to help myself as much as possible so not to waste your time now and save that for when the problems are serious.
:laughing:

Any comments, whether they be flames, advice or whatever, are welcome. I’m not a very sensitive guy so feel free to be jerks :smiley:.

www.panda3d.org/manual/index.php/Actor_Animations

actor.play('Animation Name')
actor.loop('Animation Name')
actor.stop()

and you should be a writer or a politician not a programmer …

indeed, sounds for me like a proloitican…

sorry for your friend.

network coding

ping pong wong tong chong

:wink:

dont you see the red door?

Hi kayn,

Like treeform tells you, this is the way to change an animation.

Also, for the rest of your questions, this is what I’ve done. Notice that I’m already a programmer but I’m new to the game world:

  1. Learn Python. By this, I mean to learn what is important for you. You don’t have to read a complete book. If you are already a programmer, I would suggest “Dive into Python” http://www.diveintopython.org.

  2. Learn Panda3d the hard way. I read the manual from top to bottom. I think there is a lot of precious information that you need to know before starting in the game world. I suggest to past more time reading about the scene graph ( a lot of information on this on the web too).

  3. Browse the forum. I found a lot of precious information on this forum. There are a lot of people sharing their piece of code that you can use and analyse.

  4. Try something before attacking your “dream” project. I know creating a full online multiplayer game is one of the most difficult task you can imagine. Start with smaller things and you can even create some parts of your bigger game.

I think that’s all. You will not find a lot of things on google. You can check on http://www.p3dp.com. Sometime, people put sample of there code their.

Don’t hesitate to ask question!

Jaff

Hmmm… I think I have the first article for the “tricks” section… Python itself :slight_smile:

kayn: a few “beginner” tutorials help quite much to get a basic glimpse of Python…
DarkJaff is also right. I did also start with the idea of writing “big stuff” right away. You will have trouble keeping that up. Why? Because the more your programming skills evolve, the better your code gets. And you will start noticing, that all the code you wrote, are a piece of crap (once you notice it). You will continuously try to rewrite your “sub-optimal” code and thus will never finish.

This happened to me and I see it happening here again and again. You see people becoming better. Most of the time the reason is: They see that they made a program that work, but that it could perform much better.

So if you want to start with the big buisness right away, you might never reach the goal.

Start with small stuff that you can “dump” once you managed it. (Then you don’t feel the urge to rewrite it again and again.) And once you feel that you reached a level where your code is good enough after a some weeks of programming and looking again at it, then you are ready to start your project. :wink:

Regards, Bigfoot29

Well, thank you for the compliment? I get that kind of stuff a lot. Anyway, looking at the responses, I guess you guys misunderstood what I am trying to do. I’ve been programming and messing around with computers since I was very small, so it’s not something new to me. I’m already starting to get the hang of Python, and I did read diving into python for the
most part.

I said I’m working my way up to a multi player game. I’m not starting with one.

By the way, I don’t understand the joke, Ditus.

I dumped Ogre because I hate the many small nuisances in C++ that just become a large headache. I was reading up last night so I at this point, I’m just looking for some compatible tools to use since Panda is only a 3d engine and not a game engine. I absolutely could not figure out what to use. Thank you in advance.

And I have a habit of bolding the most important stuff in my post, if you didn’t notice.

Kayn

EDIT: Shortened the post.

This is just a wild guess, but I think this is what he is asking for: tools to create or edit (“change”) 3d animations.

If this is right then Blender, Maya or Max3D would be the answer. All of them have plugins or scripts for exporting to Panda3D (“compatible”).

Oh, by the way I think he mixes up Panda3D and Ogre. Ogre is “only” a 3d engine (though a quite good one), and Panda3D is the full game engine. Ogre requires to have other libraries for input/physics/sound/network/…, and Panda3D has everything game-related onboard. Maybe just a typo.

enn0x

It’s too bad poser2egg hasn’t been fully updated.
:smiley: LOL snicker
Blender is totally free though and excellent.
If you enable td tools in the configuration py. that’s a good one,
it’s almost like a scene editor to get dynamic location info for lights etc.
I like it because it helps when I have a 3d figure that
‘wades through the land’ as terrain is scaled differently.

Actually, no, I said I already have Blender (and also 3dStudio Max which I just found laying around). I’m looking for something more along the lines of networking tools, physics, etc. I am pretty sure you are mistaken. Panda is in fact a 3D engine.

The first page of the manual:

I’m actually looking for external tools for a specific reason, since I prefer to use them over the tools that the engine provide because they can be used outside of the engine. Does that make sense?

By the way, I am not talking about libraries, although I never did read whether the ones that I used with Ogre would work with Panda. Any one know about that? I’ll do some more reading when I get back to my computer at home.

If you guys have no idea what I’m talking about, then it’s alright. I’ll try to figure this out on my own, as I am currently doing while I wait for a response. Maybe I’m just familiar with a different style of development than that common in the Panda3D community. Thank you all for trying to help me solve the problem.

Kayn

Panda3D is a game engine, it already has implementations for most of the things that you need to start making a game such as collision detection, inputs, sound, animation etc. As for external libraries that work with Panda, ODE has been made to work in Panda through the use of PyODE so you can use that as a physics engine. Aeiga also has a Panda implementation if you want to use it. On the networking side, Panda has one but its poorly documented. You could try Twisted which was designed for general python use.

Well, in some ways kayn is right.

Sure, its not hard to write a “game” with Panda3D. However, some things are community projects and thus not ready for the Panda3D-“core”.

Think of (ex)PGMM (pro-rsoft) - it makes big procedural terrains easier, but its not there.
“Integrated” IDE - its in the works (ynjh_jo)
A more advanced 2D-adventure-like gui system (treeform) is in the works, but also not there.
Networking: Its there, but barely useable if you have to rely on speed (plus sub-optimized docs)
Physics: Yap, thats there. But again, its only a few basics. ODE is still in the works, PhysX (ennox) is a community project. (Dunno when its ready to be integrated - in case thats wanted)

Currently Panda3D is a great 3D Engine with several big enhancements and on its way to be a full blown game engine. Except a few tools that went lost (scene editor) it is really becoming one in no time. :slight_smile:

But of couse… expecting a click’n’run (eg) adventure engine like these that do exist already doesn’t work. :smiley:

Regards, Bigfoot29

Thank you, that’s more of what I was looking for. I don’t want to be held back by the limitations of Panda (no offence :slight_smile: ) and want some more flexibility. Also, I am not looking for an drag’n’drop or click’n’run (?) adventure game engine that’s prebuilt or anything like that bigfoot. What do you mean by that? I stopped expecting it to be easy a long time ago.

Either way, I’m starting to the see what kind of stuff works with Panda, so I’ll continue my project. It was on hold while I was reading through everything but I can get back to work. Once again, thank you for your advice, and any more would be appreciated.

-> http://tkool.jp/products/rpgxp/eng/ for example :slight_smile:

If you know the limits, even then Panda3D is a good choice. Nothing is fenced, so you could e.g. use PhysX or other enhanced physics calculation systems for your objects to interact. Ennox Example (https://discourse.panda3d.org/viewtopic.php?t=3108) is a good place to start with…

Anyway. Nothing is worse than making wrong promises that are hard to make them come true.

If you are experienced enough to try some of the core mechanics for your game that might be a problem with Panda3D, you will see if it will work or not. If ot does, thats fine then. You are always welcome. :slight_smile:

If not - well, then maybe the next release will suit your needs. Suggestions are always welcome.

Regards, Bigfoot29

I don’t know if this is what you are looking for but MakeHuman is a great tool for generating characters for your game (assuming you don’t need an in-game character editor that goes too deep)

the only problem is that the models are a little poly heavy. you will need blender to convert them to egg

You don’t need blender, makehuman can export to .obj which panda can read.

obj importer that i wrote is still alpha i recommend blender.

I’m already set with graphics as far as I can tell, and I am using Blender to make the egg files because that seems to be what Panda uses. Already have Poser so don’t really need MakeHuman , but I will look into it and see if it’s better. At this point I’m actually not even concerned with graphics too much, just trying to master the programming to the best of my abilities. I have a bunch of graphics stuff laying around (I used to do a lot of graphics, including 3d). I’m planning to use my old stuff models until I am happy with my coding.

I’m sorry, is this referring to one of my previous statements? Or with Panda?

So far I have gotten the movement, camera controls (took a while since I’m trying to make a smart camera and I’ve never done that in 3d before). Currently I’m testing the combat to see if it all runs smoothly.

I’m very pleased with Panda, and although Ogre is more impressive with the 3D, I absolutely hate it, so I’m sticking with Panda. I was actually already testing everything in the game that I thought might present problems, but it turns out Panda is capable of what I need at this point. Thank you very much for your help bigfoot, as well as everyone else who posted. Feel free to leave more suggestions, as I check this thread every day in case someone left something useful. Also, I’m very surprised no one left any negative comments, even though my questions were some what stupid. I really feel like I have a lot of work ahead of me since I didn’t even understand what actors were before treeform pointed it out. :smiley: Makes me wonder how I got through the tutorial without finding anything out… Maybe I should read it earlier in the day so it actually sinks in.