Python

Gute 3D-Python-Spiel-Engines

Gute 3D-Python-Spiel-Engines

Einführung

Ein Framework für 3D-Spiele-Engines zu finden, die für und mit Python entwickelt wurden, kann sich als sehr schwierig erweisen. Der Grund dafür ist, dass Python bei steigender Komplexität schnell auf Performance-Probleme stößt. Schnelles Grafik-Rendering ist nicht das, was Python am besten kann. Da Python jedoch sehr gut zum Erstellen der Logik geeignet und sehr beliebt ist, haben Sie viele Möglichkeiten, in C . geschriebene Frameworks auszuführen++.

Damit dies für 3D-Spiele-Engines funktioniert, können Sie nicht alles tun, wie Sie es normalerweise in Python tun. Die meisten Frameworks erstellen einen Wrapper für ihre C++-Bibliotheken. Sie müssen herausfinden, wie Sie kompilieren, damit Python diesen Wrapper abrufen kann. Sie behandeln in der Dokumentation, wie man mit dem Python-Wrapper kompiliert.

Spielstil und Sprachauswahl

Überlegen Sie, bevor Sie beginnen, ob Ihr Spiel ein Plattformer, Ego-Shooter oder dialogbasiert ist. Vielleicht erschaffst du ein Spiel, das intellektuelle Fähigkeiten herausfordert. Dafür ist keine Hochleistungsgrafik erforderlich. Der Punkt ist, dass Sie wissen müssen, was Sie erreichen möchten, bevor Sie beginnen. Du bist vielleicht an Python zum Programmieren gewöhnt. Wenn Sie jedoch Spiele mit vielen Effekten erstellen möchten, sollten Sie andere Programmiersprachen in Betracht ziehen. Es ist eine große Anstrengung, eine neue Sprache zu lernen, aber es ist auch äußerst befriedigend, wenn Sie die erste Hürde der Grundlagen genommen haben. Der Zeitpunkt, an dem die regelmäßige Dokumentation schon auf den ersten Blick Sinn macht.

Bindungen, zu berücksichtigende Bibliotheken

Um Spiele zu erstellen, musst du Grafiken, Menüs und Audio erstellen. Es gibt mehrere Bibliotheken und Python-Bindungen, um diese Fälle zu behandeln. Eine der gebräuchlichsten dieser Bibliotheken ist SDL2, die Programmierern direkten Zugriff auf den Video-Framebuffer, die Audioausgabe, die Maus und die Tastatur bietet. Ohne diese muss Ihr Spiel regelmäßige Routinen verwenden, die manchmal langsam sein können. Die erste Version gibt es noch, aber SDL2 hat alle notwendigen Gadgets.

SFML2 spielt eine ähnliche Rolle wie die meisten Multimediafunktionen und fasst alle Funktionen zusammen. Im Gegensatz dazu enthält SDL2 viele kleinere Teile, die Sie nacheinander in Ihren Code einfügen müssen.

Für Python benötigen Sie die Pakete PySDL2 bzw. PySFML2.

PyOgre

Die Designer von PyOgre haben das Ogre-Framework in C++ mit einem Wrapper für Python geschrieben. Der Wrapper ist ein eingebauter Wrapper. Das alte Projekt ist noch im Web verfügbar. Das Befolgen der Tutorials kann nützlich sein, aber seien Sie vorsichtig, da nicht alles, was online verfügbar ist, korrekt ist. Ogre hat Klassen für viele Weltobjekte, die Ihnen eine Ebene über OpenGL und Direct3D . bieten.

Ogre arbeitet mit Szenen und kann alle Grafiken erstellen, die Sie für Ihr Spiel benötigen. Die PyOgre-Module funktionieren für Versionen vor Ogre-Version v1.05. Danach stehen weitere Module zur Verfügung. Die Ogre-Software enthält Python-Skripte zum Importieren von Daten aus Blender in Ogre. Dadurch ist es möglich, deine Ressourcen in Blender für dein Spiel zu erstellen. Andere Exporteure sind ebenfalls verfügbar.

http://wiki.Ogre3d.Organisation/

Allegro

Allegro übernimmt die ganze Schwerarbeit beim Erstellen von Fenstern, Akzeptieren von Benutzereingaben, Zeichnen von Bildern und Abspielen von Sounds - alles Funktionen, die für die Videospiel- und Multimedia-Programmierung nützlich sind. Die Designer von Allegro behaupten nicht, dass dieses Programm eine Spiele-Engine ist, aber es ist nützlich, um Spiele zu erstellen.

Da Allegro in C++ erstellt wurde, müssen Sie den Wrapper erstellen, um dieses Programm in Python zu verwenden. Sie können diesen Schritt ausführen, indem Sie aus der Quelle kompilieren. Der Prozess erstellt die Klassen in einer Datei namens allegro.py. Sobald Sie diesen Schritt abgeschlossen haben, können Sie die Klassen aus dieser Datei auswählen. Es wird jedoch empfohlen, auch die reguläre Dokumentation zur Funktionsweise dieses Programms zu lesen. Dies kann den Prozess verkomplizieren, aber das Erlernen von C++ ist auch eine lästige Pflicht.

https://github.com/libaleg/allegro5

Armory 3D - Blender-Erweiterung

Dieses Paket verwendet Blender als Entwicklungsplattform und HAXE als Programmiersprache. Ja, Sie müssen zu Haxe wechseln, aber Sie können einige vorhandene Spiellogik von Python konvertieren. Armory3D arbeitet in Blender als Erweiterung, in der Sie alle Ihre Ressourcen für das Spiel erstellen können.

Auch wenn Armory 3D nicht auf Python läuft, sollten Sie sich dieses Programm dennoch gut überlegen, da Sie mit diesem Tool sehr schnell loslegen können. https://armory3d.Organisation/

Urho3D

Dieses Paket verwendet Blender als Entwicklungsplattform und verwendet HAXE als Programmiersprache. Auch hier müssen Sie zu Haxe wechseln, aber Sie können einige vorhandene Spiellogik von Python konvertieren. Armory3D arbeitet in Blender als Erweiterung, in der Sie alle Ihre Ressourcen für das Spiel erstellen können.

Auch wenn Urho3D nicht auf Python läuft, sollten Sie auch dieses Programm sorgfältig prüfen, da Sie mit diesem Tool sehr schnell loslegen können. https://armory3d.Organisation/

Ursina

Ursina ist in Python geschrieben und basiert auf Panda3D. Dieses Werkzeug wurde entwickelt, um viele Primitive bereitzustellen, wie z. B. einen Würfel, eine Kugel usw., damit Sie so schnell wie möglich zum Spiel selbst übergehen können. Panda3D übernimmt die Tiefenarbeit und Ursina bietet Ihnen fertige Programmfunktionen. Eine Spielerklasse bietet Ihnen die Möglichkeit, gedrückte Tasten und Mausbewegungen zu registrieren.

Die meisten Funktionen sind intuitiv bedienbar mit klaren Namen und leicht verständlichen Funktionen. Sie können schnell mit Ihrem Spiel beginnen, wenn Sie dieses Spielerstellungstool verwenden. Ursina verfügt auch über Tools zum Konvertieren von Blend- und PSD-Dateien.

https://github.com/pokepetter/ursina

Blender-Spiel-Engine (?)

Vor Version 2.79 hatte Blender eine eingebaute Game-Engine. In späteren Versionen entschieden sich die Designer jedoch, die Spiel-Engine aus dem Standard-Build zu entfernen und sich auf Animationen zu konzentrieren. Also beschlossen die Leute von UPBGE, ihre eigene Erweiterung zu erstellen, die in Blender funktioniert works. Sie können daher Blender verwenden, um das gesamte Spiel zu erstellen. Wie hängt das mit der Python-Spielentwicklung zusammen??

BPGE verfügt über eine API, mit der Sie auf alle Daten zugreifen können, die Sie während der Arbeit in Blender erstellen. Sie können die Konsole in Blender verwenden, um auf die API zuzugreifen und sie zu testen. Tatsächlich könnten Sie das gesamte Programm auf diese Weise schreiben, aber das ist möglicherweise nicht die beste Wahl für Ihre Bedürfnisse. Zumindest haben Sie alle Ressourcen bereit und so, wie Sie sie haben möchten, von dem Moment an, in dem Sie sie erstellen.

GODOT - GDscript, NICHT Python

Wenn Sie ein Spiel schreiben möchten und mit Python vertraut sind, können Sie auch GODOT . verwenden. Diese Sprache ist Python sehr ähnlich, nur um Spiele zu schreiben writing.

Fazit

Es gibt viele Frameworks zum Schreiben von Spielen in Python. Wenn Sie leistungsstarke 3D-Spiele erstellen möchten, sollten Sie ernsthaft in Betracht ziehen, andere Sprachen für diese Spiele zu lernen. Stellen Sie sicher, dass Ihre Programmwahl es Ihnen ermöglicht, Ihrer ursprünglichen Spielidee zu folgen. Passen Sie bei Bedarf Ihre Programmiersprache an Ihre persönliche Vision an.

SuperTuxKart für Linux
SuperTuxKart ist ein großartiger Titel, der entwickelt wurde, um Ihnen das Mario Kart-Erlebnis kostenlos auf Ihrem Linux-System zu bieten. Es ist ziem...
Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...