Game engine with python scripting?
Asked Answered
S

8

10

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'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?

Sashenka answered 8/1, 2011 at 16:47 Comment(1)
F
4

Try PyGame and PyOpenGL together, here are some examples.

You also may use the Blender Game Engine.

Frothy answered 8/1, 2011 at 16:53 Comment(1)
Blender Game Engine looks like just what the doctor ordered! But Panda3D and Unity look like excellent options too.Sashenka
R
7

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.
Retrogress answered 4/3, 2011 at 14:50 Comment(0)
A
5

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.

Aalborg answered 8/1, 2011 at 17:4 Comment(0)
F
4

Try PyGame and PyOpenGL together, here are some examples.

You also may use the Blender Game Engine.

Frothy answered 8/1, 2011 at 16:53 Comment(1)
Blender Game Engine looks like just what the doctor ordered! But Panda3D and Unity look like excellent options too.Sashenka
E
3

Pyglet is another one.

http://www.pyglet.org/

See Differences between Python game libraries Pygame and Pyglet?

Elective answered 8/1, 2011 at 16:58 Comment(0)
K
2

PyOgre is the Python bindings of the C++ graphics engine Ogre.

Kelter answered 8/1, 2011 at 17:19 Comment(0)
A
1

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)
Acey answered 17/8, 2019 at 15:19 Comment(0)
B
0

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.

Bidding answered 9/1, 2011 at 1:35 Comment(2)
I completely forgot about Unity. Thanks for bringing it up. I think I'll go with Blender first and if I lose too much hair, switch to unity.Sashenka
@Kayle: Glad to help. Personally, I find it best to build the models in Blender, then import them into Unity(free version) and build a game out of them there. In my experience, Blender is more suited to animation, movies, etc, while Unity is better for games.Bidding
G
0

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

Goon answered 6/8, 2018 at 12:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.