Wie lerne ich Orx?

Orx ist eine tragbare 2D-Open-Game-Engine von Open Source, die derzeit unter Windows, Mac, Linux, iOS und Android (2.3+) läuft und OpenGL (ES für iOS / Android) für die Renderbeschleunigung verwendet. Es ist datengesteuert und verwendet ein einfaches, aber leistungsfähiges Konfigurationssystem, mit dem Sie Ideen schnell prototypisieren und validieren können. In diesem Artikel werde ich Tipps und Ressourcen zum Lernen von Orx teilen und Ihnen zeigen, wozu er in der Lage ist.


Warum Orx??

Ich habe verschiedene Game Engines und Frameworks (Corona SDK, AndEngine und kürzlich Unity) ausprobiert, bevor ich Orx gefunden habe. Seitdem habe ich nie etwas Ähnliches oder Leichteres gefunden, das für meine Bedürfnisse geeignet ist. (Zugegeben, das ist eine subjektive Aussage.)

Unter der Haube verwendet Orx OpenGL-beschleunigtes Rendering mit möglichst automatischer Stapelverarbeitung, OpenAL für die Soundpositionierung und Box2D für Physik.

Hier sind die Hauptgründe, warum ich bei Orx bleibe.

Der Autor

Ehrlich gesagt, das ist der Hauptgrund. Der Autor von Orx (alias iarwain) ist wirklich ein netter Kerl, aufgeschlossen und sehr hilfsbereit (sowohl in Bezug auf Orx selbst als auch gamedev im Allgemeinen), und das ist für mich unbezahlbar. Wenn Sie mit etwas nicht weiterkommen oder eine API vermissen, löschen Sie einfach einen Beitrag im Forum, und Sie erhalten in kürzester Zeit eine Antwort.

Es ist Open Source

Ich bin kein Open-Source-Extremist. Es macht mir nichts aus, eine gute Closed-Source-Bibliothek / ein gutes Framework zu verwenden, wenn sie die Aufgabe richtig ausführt und über eine gute API und Dokumentation verfügt. Open Source mit einer sehr erlaubten Lizenz (zlib, im Fall von Orx) ist jedoch immer ein Plus. Dies hat mir erlaubt, die Android-Plugins zu schreiben und neu zu schreiben, damit sie funktioniert - und es ist immer interessant zu sehen, was sich unter der Haube befindet.

(Der Orx-Code und die APIs sind auch sehr sauber, so dass Sie viel davon lernen können, wenn Sie sich in sie einarbeiten.)

Das Konfigurationssystem

Hier scheint Orx. Um ehrlich zu sein, das Konfigurationssystem verdient einen kompletten Artikel für sich, denn es steckt viel dahinter. Die Konfiguration ist möglicherweise nicht der beste Name, da es viel mehr ist als nur die Engine-Konfiguration. Die Syntax basiert auf .INI Dateien und fügt einige nützliche Funktionen hinzu, z.

Es gibt viele verschiedene Verwendungsmöglichkeiten für das Konfigurationssystem:

  • Engine und Plugin Konfiguration: Hier können Sie die Physik optimieren, die Kamera- und Anzeigegröße einstellen, die Größe der Stream-Puffer einstellen, die Eingänge zuordnen und so weiter.
  • Objektdatendefinition: Hier definieren Sie Ihre Texturen, Grafiken, Sounds, Effekte, Animationen, Objekte, Spawners, Shader usw..

    In Orx können Sie natürlich Engine-Objekte über die API erstellen, aber Sie können sie auch erstellen, indem Sie den Namen eines Abschnitts in Ihrer angeben .INI Dateien:

     orxOBJECT * pstSoldier = orxObject_CreateFromConfig ("Soldat"); [Soldier] Grafik = SoldierGraphic Position = (0, 0, 0) [SoldierGraphic] Textur = Soldat.png Drehpunkt = Mitte

    Auf diese Weise wird das "Sprite" des Soldaten in der Mitte der Welt erstellt und angezeigt. Jetzt kann ich Effekte, Shader und Animationen hinzufügen, deren Größe, Textur und mehr ändern, ohne eine einzelne Codezeile zu ändern! Das ist genial.

  • Globale Daten: Da auf die Konfiguration über die API zugegriffen werden kann, können Sie globale Variablen speichern und abrufen.
  • Erweiterte Nutzung: Dies umfasst Zeitleisten (die Befehle wie eine Skriptsprache ausführen) und Objektvorlagen.

Für wen ist das?

Orx ist eine voll funktionsfähige 2D-Spielengine, die auf Desktop- und mobilen Plattformen ausgeführt werden kann und für Prototyping und komplette Spiele mit all den glänzenden Effekten verwendet werden kann, die Sie sich vorstellen können.

Ich würde Orx persönlich jedem empfehlen, der Spiele machen möchte und sich auf die Spielelogik konzentrieren möchte, egal ob Pro, Indie oder Amateur. Wenn Sie C / C ++ kennen, sollten Sie es versuchen. Ich denke, Sie werden beeindruckt sein.

Es mag sich so anhören, als würde ich für das Produkt werben (na ja, vielleicht bin ich ein bisschen), aber dies ist meine persönliche Erfahrung, die ich hier ausdrücke.


Vitrine

Leider leidet Orx an einer schlechten Öffentlichkeit, sodass es kein großes veröffentlichtes Spiel gibt. Aber schauen wir uns an, welche Orx-Spiele es bereits gibt.

Pilzeintopf

Mushroom Stew ist ein kleines Plattformspiel, das vom Autor von Orx entwickelt wurde. Es enthält schöne Wassereffekt-Shader und einige lokale Zeitverzerrungen.

N.E.X.U.S. Neu geladen

Auch bekannt als The Clarion Project, ist dies ein Remake des 1986er Commodore 64-Spiels N.E.X.U.S.


Le Magasin Des Suicides

Le Magasin des Suicides wurde von mir als Android / iOS-Werbespiel für den gleichnamigen französischen Film erstellt.

Gefährlicher Angriff

Hazardous Attack ist ein Comic-Shooter von Oxl Games.



Fertig machen

Wo kann ich Orx herunterladen?

Die Download-Links finden Sie auf der offiziellen Orx-Website. Für die neueste veröffentlichte Version sind vorkompilierte Bibliotheken für jede Plattform verfügbar.

Da Orx Open Source ist, können Sie den vollständigen Quellbaum auch aus dem offiziellen Bitbucket-Repository erhalten. Dieses Repository ist immer in einem guten Zustand und kann kompiliert werden. Es empfiehlt sich, mit Orx zu arbeiten, da es die neuesten Korrekturen und neuen Funktionen enthält, die in der Spiel-Engine enthalten sind. Es enthält auch die Quelle der Tutorials.

Kompilieren Sie es

Wenn Sie die vorkompilierten Bibliotheken heruntergeladen haben (nicht empfohlen), sind Sie alle eingestellt. fügen Sie einfach das hinzu umfassen und lib Ordner zu Ihrem Spielprojekt und beginnen Sie mit der Arbeit an Ihrem nächsten Killerspiel.

Wenn Sie das Mercurial-Repository geklont haben, müssen Sie zuerst die Engine kompilieren. Keine große Sache hier. Orx verwendet premake4, um das Projekt so einzurichten, dass es für Ihre gewünschte Plattform kompiliert wird (außer für Android)..

  1. Gehe zum orx / code / build Verzeichnis
  2. Anruf Premake (gelegen in orx / extern / premake) mit der gewünschten IDE als Argument.

Hier ist die Liste der unterstützten Argumente.

  • Codeblöcke: Generieren Sie Code :: Blocks Projektdateien
  • Codelite: Generieren Sie CodeLite-Projektdateien
  • gmake: Generieren Sie GNU-Makefiles für POSIX, MinGW und Cygwin
  • vs2002: Generieren Sie Microsoft Visual Studio 2002-Projektdateien
  • vs2003: Generieren Sie Microsoft Visual Studio 2003-Projektdateien
  • vs2005: Generieren Sie Microsoft Visual Studio 2005-Projektdateien
  • vs2008: Generieren Sie Microsoft Visual Studio 2008-Projektdateien
  • vs2010: Generieren Sie Microsoft Visual Studio 2010-Projektdateien
  • vs2012: Generieren Sie Microsoft Visual Studio 2012-Projektdateien
  • vs2013: Generieren Sie Microsoft Visual Studio 2013-Projektdateien
  • xcode3: Apple Xcode 3-Projektdateien erstellen (experimentell)
  • xcode4: Apple Xcode 4-Projektdateien erstellen (experimentell)

Android

Für Android muss der neueste Android-NDK installiert sein. Dann:

  1. Gehe zum orx / code / build / android Verzeichnis.
  2. Anruf ndk-build.
  3. Ruf den install.sh Skript, um die Binärdateien in ihr Installationsverzeichnis zu kopieren.

Offizielle Foren

Die Orx-Foren sollten Ihre erste Anlaufstelle sein, um Hilfe zu suchen. Die Community ist sehr klein, aber erfahrene Mitglieder sind bereit, jedem zu helfen.

Der Autor der Engine reagiert auch sehr schnell und als Senior-Spieleentwickler (derzeit bei Ubisoft Montreal tätig) hat er immer einen relevanten Rat zur Lösung eines Problems.


Das Wiki

Das Orx-Wiki ist auch ein guter Ort, wenn Sie verloren gehen. Es gibt Abschnitte, die Sie beim Einrichten Ihrer Umgebung für die verschiedenen unterstützten Plattformen unterstützen, und einen Abschnitt, der Sie beim Konfigurationssystem unterstützt.

Die Tutorials

Die Tutorials führen Sie von den Grundlagen zu den erweiterten Funktionen von Orx.

Das erste Tutorial zeigt, wie Sie die einfachste Szene rendern und wie Sie mit den verschiedenen Objekteigenschaften in spielen können .INI Datei, um die Szene zu ändern, ohne den Code zu ändern.

Es ist ein gutes Tutorial, um mit dem datengetriebenen Teil von Orx zu experimentieren und wie Sie schnell etwas prototypisieren können.


Werkzeuge

Lassen Sie mich klarstellen: Orx ist keine Unity, daher finden Sie keinen voll ausgestatteten Szenen-Editor mit Echtzeitvorschau oder ähnlichem.

Die Community hat jedoch einige Tools entwickelt, um Sie bei den verschiedenen Aspekten von Orx zu unterstützen. Sie finden sie auf der Orx Bitbucket-Seite. Ich habe einige meiner Favoriten zusammengetragen.

Scroll / ScrollEd

Scroll / ScrollEd ist nicht wirklich ein Werkzeug, es ist eher eine Ebene auf Orx, die Ihnen beim Binden der Klassen Ihrer C ++ - Spielobjekte hilft.


Es enthält auch einen Level-Editor.


TexturePacker Exporter

TexturePacker Exporter ist ein Exporteur für das leistungsstarke Werkzeug TexturePacker.

AnimationEditor

AnimationEditor ist ein einfaches GUI-Tool, mit dem Sie Animationen für Orx erstellen können.

TiledToOrx

TiledToOrx ist ein einfaches GUI-Tool, das Tiled Map Editor-Dateien konvertiert (.TMX) in ORX Config (.INI) Dateien.


zusammenhängende Posts
  • Einführung in den gekachelten Karteneditor: Ein hervorragendes, plattformunabhängiges Werkzeug zum Erstellen von Levelkarten
  • Analysieren und Rendern gekachelter TMX-Karten in Ihrer eigenen Game Engine

Fazit

Orx ist eine aktiv entwickelte Spielengine. Ich verwende es seit zwei Jahren für meine persönlichen Projekte und habe die Anzahl der neuen Funktionen seitdem verloren. Sie können die vollständige Liste der Funktionen auf der Seite "Über Orx" überprüfen.

Ich hoffe, diese kleine Einführung gab Ihnen einen Vorgeschmack darauf, was Orx ist und was es zu einer leistungsstarken und interessanten Spiel-Engine macht. Ich kann Sie nur dazu ermutigen, es auszuprobieren und mit den Tutorials zu spielen. Zögern Sie nicht, Ihre Fragen hier oder im Orx-Forum zu stellen.