Orx er en åpen kildekode, bærbar 2D-spillmotor, som for øyeblikket kjører på Windows, Mac, Linux, IOS og Android (2.3+), og bruker OpenGL (ES for iOS / Android) for å gjøre akselerasjon. Det er data-drevet, og bruker et enkelt, men likevel kraftig konfigurasjonssystem som lar deg raskt prototype og validere ideer. I denne artikkelen deler jeg tips og ressurser for å lære Orx, og vise deg hva den er i stand til.
Jeg har prøvd forskjellige spillmotorer og -rammer (Corona SDK, AndEngine og New Unity) før jeg fant Orx, og siden da har jeg aldri funnet noe lignende eller enklere å bruke for mine behov. (Admittedly, det er en subjektiv uttalelse.)
Under hetten bruker Orx OpenGL-akselerert rendering, med automatisk batching når det er mulig, OpenAL for lydposisjonering og Box2D for fysikk.
Her er de viktigste grunnene til at jeg holder fast med Orx.
Ærlig, dette er hovedårsaken. Forfatteren av Orx (alias iarwain) er virkelig en fin fyr, åpent og veldig hjelpsom (både om Orx selv og gamedev generelt), og det er uvurderlig for meg. Hvis du sitter fast med noe, eller du savner en API, bare slipp et innlegg i forumet, og du får svar på kort tid.
Jeg er ikke en open-source ekstremist; Jeg har ikke noe imot å bruke et godt lukket bibliotek / rammeverk hvis det gjør jobben riktig og har en god API og dokumentasjon. Men å være åpen kildekode med en veldig permissiv lisens (zlib, i Orx saken) er alltid et pluss. Dette har gitt meg mulighet til å skrive og omskrive Android-pluginene for å få det til å fungere, og det er alltid interessant å se hva som er under hetten.
(Orx-koden og APIene er også veldig rene, slik at du kan lære mye av å grave inn i dem.)
Dette hvor Orx skinner. Oppriktig fortjener konfigurasjonssystemet en komplett artikkel for seg selv, fordi det er mye til det. Konfigurasjon er kanskje ikke det beste navnet, fordi det er mye mer enn bare motorkonfigurasjonen. Syntaxen er basert på .INN JEG
filer og legger til noen nyttige funksjoner, som seksjon arv.
Det er mange forskjellige bruksområder for konfigurasjonssystemet:
I Orx kan du selvsagt lage motorobjekter gjennom API, men du kan også opprette dem ved å spesifisere navnet på en seksjon i din .INN JEG
filer:
orxOBJECT * pstSoldier = orxObject_CreateFromConfig ("Soldier"); [Soldier] Graphic = SoldierGraphic Position = (0, 0, 0) [SoldierGraphic] Texture = soldier.png Pivot = senter
Ovennevnte vil skape og vise soldaten "sprite" i sentrum av verden. Nå kan jeg legge til effekter, shaders og animasjoner, endre størrelsen, dens tekstur og mer, uten å endre en enkelt linje med kode! Det er geni.
Orx er en fullverdig 2D-spillmotor som kjører på både stasjonære og mobile plattformer, og kan brukes til prototyping og for komplette spill med alle de skinnende effektene du kan forestille deg.
Jeg vil personlig anbefale Orx for alle som ønsker å lage spill og fokusere på spilllogikken, enten pro, indie eller amatør. Hvis du vet C / C ++, bør du prøve, jeg tror du vil bli imponert.
Det kan høres ut som om jeg markedsfører produktet (vel, kanskje jeg er litt), men dette er min personlige erfaring jeg uttrykker her.
Dessverre lider Orx av dårlig offentlig eksponering, så det er ikke noe stort utgitt spill å vise frem. Men la oss se på hvilke Orx-spill som er der ute allerede.
Mushroom Stew er et lite plattformspill utviklet av forfatteren av Orx. Den inneholder fine vann effekt shaders og noen lokal tid forvrengning.
Også kjent som The Clarion Project, dette er en gjenoppgave av 1986 Commodore 64 spillet N.E.X.U.S.
Le Magasin des Suicides ble laget av meg selv som et salgsfremmende Android / IOS-spill for den franske filmen med samme navn.
Hazardous Attack er en tegneserie skyting laget av Oxl Games.
Du finner nedlastingslinkene på den offisielle Orx-nettsiden. Forkompilerte biblioteker er tilgjengelige for hver plattform for den nyeste versjonen.
Siden Orx er åpen kildekode, kan du også få det komplette kildetreet fra det offisielle Bitbucket-depotet. Dette depotet er alltid i god form og klar til å bli kompilert, og er anbefalt måte å begynne å jobbe med Orx, siden den inneholder de nyeste reparasjonene og nye funksjoner som er lagt til spillmotoren. Den inneholder også kilden til opplæringen.
Hvis du lastet ned forhåndskompilerte biblioteker (ikke anbefalt), er du alt satt; bare legg til inkludere
og lib
mappe til ditt spillprosjekt, og begynn å jobbe med ditt neste morderspill.
Hvis du klonte Mercurial-depotet, må du først kompilere motoren. No big deal her. Orx bruker premake4 til å sette opp prosjektet for å kompilere til ønsket plattform (unntatt for Android).
Orx / code / build
katalogpremake
(lokalisert i Orx / extern / premake
) med ønsket IDE som et argument.Her er listen over støttede argumenter.
codeblocks
: Generer kode :: Blokkerer prosjektfilercodelite
: Generer CodeLite-prosjektfilerGAngi
: Generer GNU makefiler for POSIX, MinGW og Cygwinvs2002
: Generer Microsoft Visual Studio 2002-prosjektfilervs2003
: Generer Microsoft Visual Studio 2003-prosjektfilerVS2005
: Generer Microsoft Visual Studio 2005 prosjektfilerVS2008
: Generer Microsoft Visual Studio 2008 prosjektfilerVS2010
: Generer Microsoft Visual Studio 2010 prosjektfilervs2012
: Generer Microsoft Visual Studio 2012 prosjektfilervs2013
: Generer Microsoft Visual Studio 2013-prosjektfilerxcode3
: Generer Apple Xcode 3-prosjektfiler (eksperimentell)xcode4
: Generer Apple Xcode 4-prosjektfiler (eksperimentell)For Android trenger du den nyeste Android NDK installert. Deretter:
Orx / code / build / android
katalog.NDK-build
.install.sh
skript for å kopiere binærene til deres installasjons katalog.Orx-forumene bør være ditt første sted å søke etter hjelp. Samfunnet er veldig lite, men erfarne medlemmer er villige til å hjelpe noen.
Forfatteren av motoren er også veldig rask til å svare og, som senior spillutvikler (som for tiden jobber hos Ubisoft Montreal), har han alltid relevant råd til å tilby for å løse et problem.
Orx-wiki er også et godt sted å se på hvis du går tapt. Det er seksjoner som hjelper deg med å sette opp miljøet ditt for de forskjellige støttede plattformene, og en del for å hjelpe deg med konfigurasjonssystemet.
Opplæringen vil veilede deg fra det grunnleggende til de mer avanserte funksjonene i Orx.
Den første opplæringen viser hvordan du gjør den mest enkle scenen, og hvordan du kan spille med de forskjellige objektegenskapene i .INN JEG
fil for å endre scenen uten å endre koden.
Det er en god opplæring for å eksperimentere med den data-drevne delen av Orx og hvordan den lar deg raskt prototype noe.
La meg gjøre det klart: Orx er ikke Enhet, så du vil ikke finne en fullverdig Scene Editor med forhåndsvisning eller noe lignende.
Men samfunnet har bygget noen verktøy for å hjelpe deg med ulike aspekter av Orx. Du finner dem på Orx Bitbucket-siden. Jeg har avrundet noen av mine favoritter.
Scroll / ScrollEd er egentlig ikke et verktøy, det er mer som et lag på toppen av Orx som hjelper deg med bindingen av C ++-spillobjektene dine.
Den inneholder også en nivåredaktør.
TexturePacker Exporter er en eksportør for det kraftige verktøyet TexturePacker.
AnimationEditor er et enkelt GUI-verktøy for å hjelpe deg med å lage animasjoner for Orx.
TiledToOrx er et enkelt GUI-verktøy som konverterer flislagt kartredigeringsfiler (.TMX
) til ORX Config (.INN JEG
) filer.
Orx er en aktivt utviklet spillmotor. Jeg har brukt det til mine personlige prosjekter i to år, og jeg har mistet tellingen av alle de nye funksjonene som er lagt til siden da. Du kan sjekke den komplette listen over funksjoner på Om Orx-siden.
Jeg håper denne lille introduksjonen gir deg en smak av hva Orx er og hva som gjør det til en kraftig og interessant spillmotor. Jeg kan bare oppmuntre deg til å gi det et skudd og leke med opplæringen. Ikke nøl med å stille spørsmålene dine her eller i Orx-forumet.