Auf der Suche nach einer Spiele-Engine habe ich mir verschiedene Engines für Python angeschaut. Die folgende Liste fasst Vor- und Nachteile zusammen. Explizit ausgenommen habe ich 3D-Engines wie Blender oder Panda 3D.
- Pygame
Pro: Etabliert und weit verbreitet, Unterstützung für den Raspberry Pi, gut dokumentiert, eingebaute Kollisionserkennung, breite Hardware-Unterstützung (MIDI, Kamera, CD-ROM) Contra: API stellenweise schwer verständlich, wenig OOP, basiert auf SDL - Pygame Zero
Pro: Abstraktion basiert auf Pygame, durchdachte API, automatische Ressourcenverwaltung für Bilder und Sounds, könnte in Zukunft Pygame ablösen Contra: kein Gamepad Support (aber geplant) - Cocos2d
Pro: Professionelle Erscheinung, breite Toolunterstützung, Unterstützung für viele Programmiersprachen neben Pyhon, Game-Engine vom Spieledesigner getrennt, Unterstützung für mehrere Zielplattformen (Desktop und Mobile) Contra: Designer für Spiele nur für Windows und Mac, nicht aber für Linux erhältlich, komplexe API, komplizierte Installation - Arcade Academy
Pro: einfache API, integrierte Physik-Engine, basiert auf OpenGL, viel Beispiel-Code. Contra: mindestens Python 3.6 notwendig, entwickelt von 1-2 Entwicklern
Fazit
Derzeit scheint pygame mit seiner langen Tradition der defacto Standard für kleine Spiele mit Python-Unterstützung zu sein. Es gibt viele Erweiterungen und Dokumentationen an unterschiedlichen Stellen und es gut, die Bibliothek zu kennen. Die Frischzellenkur Pygame Zero tritt an, ein würdiger Nachfolger zu werden. Dezeit muss man jedoch noch Abstriche bei der Feature-Auswahl machen.