Game engine with python scripting?
Looking to put together a 3D side-scrolling action platformer. Since this is my first time trying to put together a non-simple adventure game, I开发者_如何学C'm at a loss for which engine to consider.
I would prefer one that supports scripting in python, since that's my primary language. Without tight controls, the game will suck... so speed is a priority. Cross-platform is also important to me.
Any suggestions?
Active game engines with Python scripting
- Panda3D is a framework and requires low-level programming
- pyglet is a multimedia library and requires low-level programming
Inactive game engines with Python scripting
- ratcave (based on pyglet, inactive since 2018)
- Engendro 3D (inactive since 2018)
- PySoy3D (inactive since 2016)
- Delta3D (inactive since 2016)
- sylphis3d (inactive since 2015)
- Eden (based on Panda3D, inactive since 2014)
- Python-Ogre (inactive)
- Blender Game Engine (discontinued)
- The OGRE engine used to have 3rd party Python bindings, as of 1.10 official Python bindings. As of 2.2 there is no official or 3rd party Python support.
Panda3D: http://www.panda3d.org/
It's a 3D game engine written in C++ but specifically designed for use in Python. Disney has used it for some of its games in the past, including 2 MMOs. There is support for shaders, etc., and is BSD licensed. Windows, Mac, and Linux are all supported, and there appears to be a browser plugin. I haven't used it personally, though.
Try PyGame and PyOpenGL together, here are some examples.
You also may use the Blender Game Engine.
Pyglet is another one.
http://www.pyglet.org/
See Differences between Python game libraries Pygame and Pyglet?
PyOgre is the Python bindings of the C++ graphics engine Ogre.
Unfortunately there are no game engines in the modern sense of the word (includes editors, tools, physics, not just an audio and graphics programming library), that support Python scripting.
However there are modern game engines, which have benefits like level editors and built-in physics that might make up for the lack of Python:
- Godot (GDScript which has syntax similar to Python, open source)
- Unity (C#, proprietary)
- Unreal (C++, proprietary)
This is what I would use: Unity. It has a learning curve, but once you get the hang of it, it's very powerful. It uses your choice of Java, Boo(which I hear is very similar to Python), and C#.
Regardless of what you pick, I would advise you learn Java. It's a widespread language, so it should open up lots of options for you in various ventures. Learning another language is always very good for you.
Both Unity and Unreal have excellent third party Python Bindings. Its been a while since I've used the Unity one, but at the time it was perfectly competent. It does use Iron Python, so its not the C Python implementation, but at least its not Boo which I believe has been dropped from Unity anyway.
https://forum.unity.com/threads/python-interpreter-in-unity.86461/
And heres the Unreal one. I've used this a lot, and it works great. Its a bit of a headache to install initially, and I'd advise against it if your planning to deploy mobile as you'd have to get your hands dirty with some messy C++ and a very tight runtime. But if your writing a desktop game, its perfectly competent.
https://github.com/20tab/UnrealEnginePython
精彩评论