View on GitHub

Python Gaming Rocks!

Making Games in Python is Awesome!

Python Gaming Rocks!

People might not realize it, but Python is really good for making games!

Why Use Python?

Python allows extremely fast game creation compared to many traditional engines. It is particularly good at:

Ok, So What’s Available?

Lots of things! 2D, 3D, and everything in between.

Hardware Layers

These libraries are less “make a game now” and more “the abstraction you need to make a game engine”. These can still be useful, but be prepared to put in a bit more work inventing your universe.

PyGame CE

WebsitePyPISource

The venerable, the classic: PyGame. For many people, when they think about making games in Python, they think PyGame. It literally wrote the book on game development in Python (several books, actually).

PyGame is a wrapper around SDL that takes off a few of the rough edges while still keeping fairly thin. It supports 2D and OpenGL, sound, handles input, and most other platform tasks.

Pyglet

WebsitePyPISourceDocsDiscord

Pyglet is a pure-Python, cross-platform hardware layer, supporting 2D, OpenGL, spatial audio, input,

PySDL2

PyPISourceDocs

PySDL2 is a direct ctypes-binding to SDL2—you’re calling the C functions directly, with all of the rough edges and caveats.

PyOpenGL

WebsitePyPISourceDocs

TODO (They’re opengl bindings, that’s it)

Harfang

WebsiteGitHub Org

TODO (Proprietary multimedia framework big on VR support.)

3D Frameworks

Now the actual game engines! Unlike above, frameworks are more ready to go; you can more quickly get started and spend less time on things like drawing routines or event dispatch.

These are the 3D engines.

Ursina Engine

WebsiteSourceDocsTwitterDiscord

Ursina is a 3D game engine boasting fast development, easy of use, and flexible support.

Panda3D

WebsiteSourceDocsDiscordForums

Panda3D is a 3D game engine advertising power and flexibility.

Gloopy

Source

TODO

2D Frameworks

Like their 3D counterparts, these game engines are ready to go, just rather flatter.

PursuedPyBear

WebsitePyPISourceDocsDiscordTwitter

PPB is an education-targetted sprite-based engine, focusing on ease of use, rapid start, and extensibility.

Arcade

WebsitePyPISourceDiscordTwitter

Arcade is an easy-to-learn Python library for creating 2D video games. It is ideal for beginning programmers, or programmers who want to create 2D games without learning a complex framework.

Cocos2d

WebsitePyPIDocsSource

TODO

PyGame Zero

DocsPyPISource

PyGame Zero handles the boilerplate of PyGame, making it easy for students to get started.

Kivy

WebsitePyPIGitHubTwitter

TODO (Kivy is as much a GUI library as it is a game one, but they feature several games, heavy mobile focus)

Specialized Engines

Unlike everything else on this site, these engines are a lot more opinionated about the kinds of games you can make with them.

Ren’Py

WebsiteSourceDocsDiscord

Ren’Py is a Visual Novel engine, made specifically for that genre. It leans very heavily on its DSL to define stories.