Hur lära sig Orx

Orx är en öppen källkod, bärbar 2D-spelmotor, som för närvarande körs på Windows, Mac, Linux, IOS och Android (2.3+), och använder OpenGL (ES för IOS / Android) för att göra acceleration. Det är datadriven och använder ett enkelt men kraftfullt konfigurationssystem som gör att du snabbt kan prototyper och validera idéer. I den här artikeln delar jag tips och resurser för att lära Orx, och visa dig vad det är möjligt för.


Varför Orx?

Jag har provat olika spelmotorer och ramar (Corona SDK, AndEngine och Unity) innan jag hittade Orx, och sedan dess har jag aldrig hittat något liknande eller lättare att använda för mina behov. (Det är givetvis ett subjektivt omdöme.)

Under huven använder Orx OpenGL-accelererad rendering, med automatisk batchning när det är möjligt, OpenAL för ljudpositionering och Box2D för fysik.

Här är de främsta anledningarna till att jag håller med Orx.

Författaren

Ärligt talat är detta den främsta anledningen. Författaren till Orx (alias iarwain) är verkligen en trevlig kille, öppen och mycket hjälpsam (både om Orx själv och gamedev i allmänhet), och det är ovärderligt för mig. Om du sitter fast med något, eller om du saknar ett API, släpp bara ett inlägg i forumet så får du ett svar på nolltid.

Det är öppen källkod

Jag är inte en extremkänd extremist; Jag har inget emot att använda ett bra slutet bibliotek / ramverk om det gör jobbet korrekt och har ett bra API och dokumentation. Men att vara öppen källkod med en mycket permissiv licens (zlib, i Orx fall) är alltid ett plus. Detta har gjort det möjligt för mig att skriva och skriva om Android-plugins för att få det att fungera - och det är alltid intressant att se vad som ligger under huven.

(Orx-koden och API-erna är också mycket rena, så du kan lära dig mycket av att gräva i dem.)

Konfigurationssystemet

Det där Orx lyser. Uppriktigt sagt förtjänar konfigurationssystemet en komplett artikel till sig själv, för det finns mycket för det. Konfigurationen är kanske inte det bästa namnet, eftersom det är mycket mer än bara motorkonfigurationen. Syntaxen är baserad på .INI filer och lägger till några användbara funktioner, som avsnitt arv.

Det finns många olika användningsområden för konfigurationssystemet:

  • Konfiguration av motor och plugin: Här anpassar du fysiken, ställer in kameran och bildstorlekarna, ställer in strömbuffertens storlekar, kartar inmatningarna och så vidare.
  • Objektdatadefinition: Här definierar du dina texturer, grafik, ljud, effekter, animeringar, objekt, spawners, shaders, och så vidare.

    I Orx kan du självklart skapa motorobjekt via API, men du kan också skapa dem genom att ange namnet på en sektion i din .INI filer:

     orxOBJECT * pstSoldier = orxObject_CreateFromConfig ("Soldier"); [Soldat] Graphic = SoldierGraphic Position = (0, 0, 0) [SoldierGraphic] Texture = soldier.png Pivot = center

    Ovanstående kommer att skapa och visa soldaten "sprite" i mitten av världen. Nu kan jag lägga till effekter, shaders och animeringar, ändra dess storlek, dess textur och mycket mer, utan att ändra en enda kodrad! Det är geni.

  • Globala data: Eftersom konfigurationen är tillgänglig via API kan du använda den för att lagra och hämta globala variabler.
  • Avancerad användning: Detta inkluderar tidslinjer (som kör kommandon, som ett skriptspråk) och objektmallar.

Vem är det till?

Orx är en fullt utrustad 2D-spelmotor som körs på både stationära och mobila plattformar och kan användas för prototyper och för kompletta spel med alla glänsande effekter du kan tänka dig.

Jag skulle personligen rekommendera Orx för alla som vill göra spel och fokusera på spellogiken, vare sig pro, indie eller amatör. Om du känner till C / C ++, borde du prova, jag tror att du kommer att bli imponerad.

Det kan låta som att jag marknadsför produkten (ja, kanske är jag lite), men det här är min personliga erfarenhet som jag uttrycker här.


Monter

Tyvärr lider Orx av dålig offentlig exponering, så det finns inget stort släppt spel att visa upp. Men låt oss titta på vilka Orx-spel som finns där ute.

Svampstew

Mushroom Stew är ett litet plattformsspel som utvecklats av författaren till Orx. Den innehåller fina vatten-effektskuggare och lite lokal distorsion.

N.E.X.U.S. Reloaded

Kallas också The Clarion Project, detta är en återgivning av 1986 Commodore 64 spelet N.E.X.U.S.


Le Magasin Des Suicides

Le Magasin des Suicides var gjord av mig själv som ett kampanjspel för Android / IOS-spel för den franska filmen med samma namn.

Farlig attack

Hazardous Attack är en tecknadsspelare gjord av Oxl Games.



Komma igång

Var kan du ladda ner Orx

Du hittar hämtningslänkarna på den officiella Orx-webbplatsen. Förkompilerade bibliotek finns tillgängliga för varje plattform för den senaste versionen.

Eftersom Orx är öppen källkod kan du också få det fullständiga källträdet från det officiella Bitbucket-arkivet. Det här förvaret är alltid i gott skick och redo att sammanställas och är rekommenderat sätt att börja arbeta med Orx eftersom det innehåller de senaste fixerna och nya funktioner som läggs till i spelmotorn. Det innehåller också källan till handledningarna.

Kompilera det

Om du har laddat ned de förkompilerade biblioteken (rekommenderas inte) är du helt uppsatt. lägg bara till inkludera och lib mapp till ditt spelprojekt och börja arbeta med ditt nästa mördarspel.

Om du klonade Mercurialförvaret måste du först kompilera motorn. Ingen stor sak här. Orx använder premake4 för att ställa in projektet för att kompilera till önskad plattform (förutom Android).

  1. Gå till ORX / code / build katalog
  2. Ring upp premake (ligger i ORX / extern / premake) med den önskade IDE som ett argument.

Här är listan över argument som stöds.

  • codeblocks: Generera kod :: Blockar projektfiler
  • codelite: Generera CodeLite-projektfiler
  • gmake: Skapa GNU makefiles för POSIX, MinGW och Cygwin
  • vs2002: Skapa Microsoft Visual Studio 2002-projektfiler
  • vs2003: Skapa Microsoft Visual Studio 2003-projektfiler
  • VS2005: Skapa Microsoft Visual Studio 2005-projektfiler
  • VS2008: Skapa Microsoft Visual Studio 2008-projektfiler
  • vs2010: Skapa Microsoft Visual Studio 2010-projektfiler
  • vs2012: Skapa Microsoft Visual Studio 2012-projektfiler
  • vs2013: Skapa Microsoft Visual Studio 2013-projektfiler
  • xcode3: Generera Apple Xcode 3-projektfiler (experimentella)
  • xcode4: Generera Apple Xcode 4-projektfiler (experimentella)

Android

För Android behöver du den senaste Android NDK installerad. Sedan:

  1. Gå till ORX / code / build / android katalog.
  2. Ring upp ndk-build.
  3. Ring install.sh skript för att kopiera binärerna till deras installations katalog.

Officiella forum

Orx forumet bör vara din första plats att söka hjälp. Gemenskapen är mycket liten, men erfarna medlemmar är villiga att hjälpa någon.

Författaren till motorn är också mycket snabb att reagera och, som en äldre spelutvecklare (som för närvarande arbetar hos Ubisoft Montreal), har han alltid relevanta råd att erbjuda för att lösa ett problem.


Wiki

Orx wiki är också ett bra ställe att titta på om du är vilse. Det finns avsnitt som hjälper dig att ställa in din miljö för de olika stödda plattformarna och en sektion som hjälper dig med konfigurationssystemet.

Tutorials

Tutorials guidar dig från grunderna till de mer avancerade funktionerna i Orx.

Den första handledningen visar hur du gör den enklaste scenen och hur du kan spela med de olika objektegenskaperna i .INI fil för att ändra scenen utan att ändra koden.

Det är en bra handledning för att experimentera med den datastyrda delen av Orx och hur det gör att du snabbt kan prototypa något.


Verktyg

Låt mig göra det klart: Orx är inte enighet, så du hittar inte en fullt utrustad scenredigerare med förhandsgranskning i realtid eller något liknande.

Men samhället har byggt några verktyg för att hjälpa dig med olika aspekter av Orx. Du hittar dem på Orx Bitbucket-sidan. Jag har avrundat några av mina favoriter.

Scroll / rullas

Scroll / ScrollEd är inte riktigt ett verktyg, det är mer som ett lager ovanpå Orx som hjälper dig att binda dina C ++-spelobjektklasser.


Den innehåller också en nivåredigerare.


TexturePacker Exporter

TexturePacker Exporter är en exportör för det kraftfulla verktyget TexturePacker.

AnimationEditor

AnimationEditor är ett enkelt GUI-verktyg som hjälper dig att skapa animeringar för Orx.

TiledToOrx

TiledToOrx är ett enkelt GUI-verktyg som konverterar Tiled Map Editor-filer (.TMX) till ORX Config (.INI) filer.


relaterade inlägg
  • Introduktion till kaklat kartredigerare: Ett bra plattforms-agnostiskt verktyg för att göra nivåkartor
  • Parsning och återgivning av klädda TMX-formatkartor i din egen spelmotor

Slutsats

Orx är en aktivt utvecklad spelmotor. Jag har använt det för mina personliga projekt under två år, och jag har tappat räkna med alla nya funktioner som har lagts till sedan dess. Du kan kolla den fullständiga listan med funktioner på sidan Om Orx.

Jag hoppas att den här lilla introduktionen gav dig en smak av vad Orx är och vad som gör det till en kraftfull och intressant spelmotor. Jag kan bara uppmuntra dig att ge det ett skott och spela med handledning. Tveka inte att ställa dina frågor här eller på Orx-forumet.