Hoe Orx te leren

Orx is een open-source, draagbare 2D-game-engine, die momenteel draait op Windows, Mac, Linux, iOS en Android (2.3+), en OpenGL (ES voor iOS / Android) gebruikt voor renderacceleratie. Het is gebaseerd op gegevens en maakt gebruik van een eenvoudig maar krachtig configuratiesysteem waarmee u snel ideeën kunt prototypen en valideren. In dit artikel deel ik tips en bronnen voor het leren van Orx en laat ik je zien waartoe het in staat is.


Waarom Orx?

Ik heb verschillende game-engines en frameworks geprobeerd (Corona SDK, AndEngine en recent Unity) voordat ik Orx heb gevonden en sindsdien heb ik nooit iets vergelijkbaars gevonden of gemakkelijker te gebruiken voor mijn behoeften. (Toegegeven, dat is een subjectieve verklaring.)

Orx gebruikt onder de motorkap OpenGL-versnelde rendering, met indien mogelijk automatisch batchen, OpenAL voor de positionering van geluid en Box2D voor fysica.

Dit zijn de belangrijkste redenen waarom ik bij Orx blijf.

De auteur

Eerlijk gezegd, dit is de belangrijkste reden. De auteur van Orx (alias iarwain) is echt een aardige vent, ruimdenkend en zeer behulpzaam (zowel met betrekking tot Orx zelf als gamedev in het algemeen), en dat is onbetaalbaar voor mij. Als je ergens mee zit, of je mist een API, zet dan gewoon een bericht op het forum en je krijgt binnen no-time een reactie.

Het is Open Source

Ik ben geen open-source extremist; Ik vind het niet erg om een ​​goede closed source library / framework te gebruiken als het goed werkt en beschikt over een goede API en documentatie. Maar open-source zijn met een zeer permissieve licentie (zlib, in het geval van Orx) is altijd een plus. Hierdoor kon ik de Android-plug-ins schrijven en herschrijven om deze te laten werken - en het is altijd interessant om te zien wat er onder de motorkap zit.

(De Orx-code en API's zijn ook erg schoon, dus je kunt er veel van leren door ernaar te graven.)

Het configuratiesysteem

Dit is waar Orx schittert. Eerlijk gezegd verdient het configuratiesysteem een ​​volledig artikel voor zichzelf, omdat er veel aan is. Configuratie is misschien niet de beste naam, omdat het veel meer is dan alleen de motorconfiguratie. De syntaxis is gebaseerd op .INI bestanden en voegt een aantal handige functies toe, zoals het overerven van secties.

Er zijn veel verschillende gebruiksmogelijkheden voor het configuratiesysteem:

  • Configuratie van motor en plug-in: Hier pas je de fysica aan, stel je de camera en de schermformaten in, stel je de buffers in voor de streambuffers, wijs je de inputs toe, enzovoort.
  • Objectgegevensdefinitie: Hier definieert u uw texturen, afbeeldingen, geluiden, effecten, animaties, objecten, spawners, shaders, enzovoort.

    In Orx kunt u natuurlijk motorobjecten maken via de API, maar u kunt ze ook maken door de naam van een sectie in uw .INI bestanden:

     orxOBJECT * pstSoldier = orxObject_CreateFromConfig ("Soldier"); [Soldier] Afbeelding = SoldierGrafic Position = (0, 0, 0) [SoldierGraphic] Texture = soldier.png Pivot = centre

    Het bovenstaande zal de Soldier "sprite" in het midden van de wereld creëren en weergeven. Nu kan ik effecten, shaders en animaties toevoegen, de grootte, de textuur en meer wijzigen, zonder een enkele regel code te veranderen! Dat is geniaal.

  • Globale gegevens: Omdat de configuratie toegankelijk is via de API, kunt u deze gebruiken om globale variabelen op te slaan en op te halen.
  • Geavanceerd gebruik: Dit omvat tijdlijnen (die opdrachten uitvoeren, zoals een scripttaal) en objectsjablonen.

Voor wie is het?

Orx is een volledig functionele 2D-game-engine die op zowel desktop- als mobiele platforms draait en kan worden gebruikt voor prototyping en voor complete games met alle glanzende effecten die u zich kunt voorstellen.

Ik zou Orx persoonlijk aanbevelen voor iedereen die games wil maken en zich wil concentreren op de logica van het spel, of het nu pro, indie of amateur is. Als je C / C ++ kent, moet je het proberen, ik denk dat je onder de indruk zult zijn.

Het klinkt misschien alsof ik het product promoot (nou ja, misschien ben ik het, een beetje), maar dit is mijn persoonlijke ervaring die ik hier uitdruk.


vitrine

Helaas ondervindt Orx een slechte publieke bekendheid, dus er is geen groot uitgebracht spel om te pronken. Maar laten we eens kijken naar welke Orx-games er al zijn.

Paddestoelenstoofpot

Mushroom Stew is een klein platformgame ontwikkeld door de auteur van Orx. Het bevat mooie schaduweffecten met watereffecten en enige lokale tijdsvervorming.

N.E.X.U.S. Reloaded

Ook bekend als The Clarion Project, dit is een remake van de 1986 Commodore 64-game N.E.X.U.S.


Le Magasin Des Suicides

Le Magasin des Suicides is door mijzelf gemaakt als een promotioneel Android / iOS-spel voor de Franse film met dezelfde naam.

Gevaarlijke aanval

Hazardous Attack is een cartoon shooter gemaakt door Oxl Games.



Ermee beginnen

Waar Orx te downloaden

Je vindt de download-links op de officiële Orx-website. Voorgecompileerde bibliotheken zijn beschikbaar voor elk platform voor de laatst uitgebrachte versie.

Omdat Orx open source is, kun je ook de volledige source tree uit de officiële Bitbucket-repository halen. Deze repository is altijd in goede vorm en klaar om te worden gecompileerd, en is de aanbevolen manier om met Orx te werken omdat het de nieuwste fixes en nieuwe functies bevat die aan de game-engine zijn toegevoegd. Het bevat ook de bron van de tutorials.

Compileer het

Als u de voorgecompileerde bibliotheken hebt gedownload (niet aanbevolen), bent u helemaal klaar; voeg gewoon de omvatten en lib om naar je gameproject te gaan en aan je volgende geweldige game te gaan werken.

Als je de Mercurial-repository hebt gekloond, moet je eerst de engine compileren. Geen big deal hier. Orx gebruikt premake4 om het project in te stellen voor het gewenste platform (behalve voor Android).

  1. Ga naar de orx / code / build directory
  2. telefoontje premake (gevestigd in orx / extern / premake) met de gewenste IDE als argument.

Hier is de lijst met ondersteunde argumenten.

  • codeblokken: Generate Code :: Blokkeert projectbestanden
  • codelite: Genereer CodeLite-projectbestanden
  • gmake: Genereer GNU-makefiles voor POSIX, MinGW en Cygwin
  • vs2002: Genereer Microsoft Visual Studio 2002-projectbestanden
  • VS2003: Genereer Microsoft Visual Studio 2003-projectbestanden
  • VS2005: Genereer Microsoft Visual Studio 2005-projectbestanden
  • vS2008: Genereer Microsoft Visual Studio 2008-projectbestanden
  • Visual Studio 2010: Genereer Microsoft Visual Studio 2010-projectbestanden
  • vs2012: Genereer Microsoft Visual Studio 2012 projectbestanden
  • vs2013: Genereer Microsoft Visual Studio 2013 projectbestanden
  • xcode3: Genereer Apple Xcode 3-projectbestanden (experimenteel)
  • xcode4: Genereer Apple Xcode 4 projectbestanden (experimenteel)

Android

Voor Android heb je de nieuwste Android NDK nodig die is geïnstalleerd. Dan:

  1. Ga naar de orx / code / build / android directory.
  2. telefoontje NDK-build.
  3. Bel de install.sh script om de binaries naar hun installatiemap te kopiëren.

Officiële fora

De Orx-forums zouden je eerste plaats moeten zijn om hulp te zoeken. De community is erg klein, maar doorgewinterde leden zijn bereid om iedereen te helpen.

De auteur van de engine reageert ook heel snel en heeft als senior gameontwikkelaar (momenteel werkzaam bij Ubisoft Montreal) altijd relevant advies om een ​​probleem op te lossen.


De Wiki

De Orx-wiki is ook een goede plek om naar te kijken als je verdwaald bent. Er zijn secties om u te helpen bij het instellen van uw omgeving voor de verschillende ondersteunde platforms en een sectie om u te helpen met het configuratiesysteem.

De zelfstudies

De handleidingen begeleiden u van de basisbeginselen naar de meer geavanceerde functies van Orx.

De eerste zelfstudie laat zien hoe je de meest eenvoudige scène rendert en hoe je kunt spelen met de verschillende objecteigenschappen in de .INI bestand om de scène te wijzigen zonder de code te wijzigen.

Het is een goede tutorial om te experimenteren met het datagedreven onderdeel van Orx en hoe je snel iets kunt prototypen.


Hulpmiddelen

Laat me het duidelijk stellen: Orx is geen eenheid, dus je zult geen complete Scene Editor vinden met realtime preview of iets dergelijks.

De community heeft echter een aantal hulpmiddelen ontwikkeld om u te helpen met verschillende aspecten van Orx. Je kunt ze vinden op de Orx Bitbucket-pagina. Ik heb een aantal van mijn favorieten afgerond.

Scroll / gescrold

Scroll / ScrollEd is niet echt een hulpmiddel, het is meer een laag bovenop Orx die je helpt bij het binden van de klassen van je C ++ -spelobjecten.


Het bevat ook een niveau-editor.


TexturePacker-exporter

TexturePacker Exporter is een exporteur voor de krachtige tool TexturePacker.

AnimationEditor

AnimationEditor is een eenvoudige GUI-tool om u te helpen bij het maken van animaties voor Orx.

TiledToOrx

TiledToOrx is een eenvoudige GUI-tool die Tiled Map Editor-bestanden converteert (.TMX) in ORX Config (.INI) bestanden.


gerelateerde berichten
  • Introductie tot Tiled Map Editor: een geweldige platform-agnostische tool voor het maken van level maps
  • Ontdekken en weergeven van betegelde TMX-indelingskaarten in uw eigen game-engine

Conclusie

Orx is een actief ontwikkelde game-engine. Ik gebruik het al twee jaar voor mijn persoonlijke projecten en ik ben de tel kwijtgeraakt van alle nieuwe functies die sindsdien zijn toegevoegd. U kunt de volledige lijst met functies bekijken op de About Orx-pagina.

Ik hoop dat deze kleine introductie je een voorproefje gaf van wat Orx is en wat het tot een krachtige en interessante game-engine maakt. Ik kan je alleen maar aanmoedigen om het een kans te geven en met de tutorials te spelen. Aarzel niet om hier uw vragen te stellen of op het Orx-forum.