Gamepad (Quelle: https://openclipart.org/detail/212647/gamepad-black)

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.


SciFi Arduino wiki e-mail python Spiele Tipp IoT Dortmund hardware programmierung Text Tools Film GPIO JavaScript Windows Clonezilla Linkliste 34c3 35c3 Sport Newsgroup Kino Archiv Gesellschaft Datenbank INN Mathe ubuntu Tafelbild NNTP mooc software ldlmooc cloud Bilder docker Termin admin fun chatgpt Spaß Psychologie screencast buch dtp rs232 server c't Latex Informatik Wissenschaft audio HP35s Second Life ITA lernen importiert ldl TV Usenet ctf hacking das-labor xmpp debian video Geschichten bloggen esp8266 kunst git ZDF raspberrypi Sketchnotes serielle Schnittstelle ccc heise bio Funktionen Studium workshop Chat bildung badge Commandline Konferenz RSS Comic gamejam Twitter 3dDruck Taschenrechner podcast Linux sdr pdf Smarthome game-engine