I knew about panda 3d but I did know how amazing it looks today!
Quick note about myself: I work in the cg industry (recently on the new Disney movie The Lion king). I am a rigger and programmer (both Python and C++) and I always have been interested in doing little games for mobile. So having said that my first question is:
-One of my choices when it comes to select a game engine is how hard it is to port it to mobile. I succeeded with other 2 commercial engines and I was almost about to pick one, until I saw this new panda3d. It says that it has a port to android, so can you recommend to me any resource or tutorial to start testing this in my android?
-Panda3d is compatible with python and c++. I have seen some python panda3d tutorials and it looks incredible simple. But how much does’t the performance suffer when use python instead of C++? Is it noticeable mainly in 3d games or 2d as well?
Thank you, I am really exited about this panda3d.
New on the forum:Introduction about myself and 2 question: about android and c++ vs python peformance
Hello and welcome!
I will let others comment on mobile, but from my understanding this is still a very manual process and not as “one-click” as other engines. Also, the only mobile efforts I know about are for Android. I do not believe anyone is working on iOS stuff for Panda at this time (there is, however, some iOS code in Panda).
As for performance, you shouldn’t see much of a performance different between using Python and using C++. The Python API is a wrapper around Panda’s C++ code, so the engine performance is not affected by your language choice. Your game logic will be slower in Python, but this usually isn’t a problem. You can always choose to port parts of your Python game logic to C++ for performance if necessary. In general, you should try using the Panda3D API as much as possible since it will move more of your code into C++ behind the scenes. I should note though, that the direct package is Python, and not C++.
I’ll give it a try on android.
Cool. I will do some simple test in python then.
By the way I am trying to run the pview.exe and I am getting the following error:
:display:gsg:glgsg(warning): Driver possibly misreported GL_VERSION! Unable to detect correct OpenGL version.
I looking for it, and it seems it has something to do with nvidias Geforce experience. I am trying to fix it now.
wow, it is amazing how easy it is! it reminds me to SMFL!
I did the hello world tutorial and I didn’t get any opengl error. So it is all good.
I did some search about c++ vs python. there are a lot of threads and they all conclude what you mention Moguri. I know both. I am more experienced in Python, so I thought that maybe I could increase my skill in C++ if I force myself to do all in C++. Or is it a waste of time having python?
Òne last thingm I did not undersand your last sentence:
" I should not though, that the direct package is Python, and not C++."
I am not sure what you mean.
You can ignore that. It’s an issue with the NVIDIA driver applying certain changes to processes named
pview.exe, but Panda can work around it adequately.
Some pros for using Python:
- Faster development speed (so maybe you’ll actually get something done)
- Better community support (more Panda users use Python can C++)
- Easier deployment (don’t have to worry about compiling for each platform)
- Python standard library and package ecosystem
- direct package (it has a lot of mediocre code, but there are also a lot of useful utilities)
Some pros for using C++:
- Faster if your application is CPU bound
- Might be easier to get working on more exotic systems (don’t have to worry about the system supporting Python)
I am very comfortable with C++, but I still prefer writing my game logic in Python.
As for my confusing sentence, that should have been:
I have edited my post to fix the typo.
direct is a Python package that comes with Panda that includes a lot of utilities that are not available to C++ users.
cool. Python it is then!
Thanks for your feedback. It helped a lot.
It depends on if you use the panda3d classes, in this variant the performance will be equivalent to C ++. However, if you write complex algorithms in Python, you will get a slowdown.