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.
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.
Ä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.
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.)
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:
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.
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.
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.
Mushroom Stew är ett litet plattformsspel som utvecklats av författaren till Orx. Den innehåller fina vatten-effektskuggare och lite lokal distorsion.
Kallas också The Clarion Project, detta är en återgivning av 1986 Commodore 64 spelet N.E.X.U.S.
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.
Hazardous Attack är en tecknadsspelare gjord av Oxl Games.
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.
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).
ORX / code / build
katalogpremake
(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 projektfilercodelite
: Generera CodeLite-projektfilergmake
: Skapa GNU makefiles för POSIX, MinGW och Cygwinvs2002
: Skapa Microsoft Visual Studio 2002-projektfilervs2003
: Skapa Microsoft Visual Studio 2003-projektfilerVS2005
: Skapa Microsoft Visual Studio 2005-projektfilerVS2008
: Skapa Microsoft Visual Studio 2008-projektfilervs2010
: Skapa Microsoft Visual Studio 2010-projektfilervs2012
: Skapa Microsoft Visual Studio 2012-projektfilervs2013
: Skapa Microsoft Visual Studio 2013-projektfilerxcode3
: Generera Apple Xcode 3-projektfiler (experimentella)xcode4
: Generera Apple Xcode 4-projektfiler (experimentella)För Android behöver du den senaste Android NDK installerad. Sedan:
ORX / code / build / android
katalog.ndk-build
.install.sh
skript för att kopiera binärerna till deras installations katalog.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.
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 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.
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 / 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 är en exportör för det kraftfulla verktyget TexturePacker.
AnimationEditor är ett enkelt GUI-verktyg som hjälper dig att skapa animeringar för Orx.
TiledToOrx är ett enkelt GUI-verktyg som konverterar Tiled Map Editor-filer (.TMX
) till ORX Config (.INI
) filer.
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.