Hvordan lære Orx

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.


Hvorfor Orx?

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.

Forfatteren

Æ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.

Det er åpen kildekode

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.)

Konfigurasjonssystemet

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:

  • Konfigurasjon av motor og plugin: Dette er hvor du finjusterer fysikken, stiller kameraet og skjermstørrelsene, setter strømbufferens størrelser, karter inngangene og så videre.
  • Objektdatadefinisjon: Her definerer du teksturer, grafikk, lyder, effekter, animasjoner, objekter, spawners, shaders, og så videre.

    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.

  • Globale data: Siden konfigurasjonen er tilgjengelig via API, kan du bruke den til å lagre og hente globale variabler.
  • Avansert bruk: Dette inkluderer tidslinjer (som utfører kommandoer, som et skriptspråk) og objektmaler.

Hvem er det til?

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.


Vise frem

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.

Sopp stew

Mushroom Stew er et lite plattformspill utviklet av forfatteren av Orx. Den inneholder fine vann effekt shaders og noen lokal tid forvrengning.

N.E.X.U.S. Reloaded

Også kjent som The Clarion Project, dette er en gjenoppgave av 1986 Commodore 64 spillet N.E.X.U.S.


Le Magasin des selvmord

Le Magasin des Suicides ble laget av meg selv som et salgsfremmende Android / IOS-spill for den franske filmen med samme navn.

Farlig angrep

Hazardous Attack er en tegneserie skyting laget av Oxl Games.



Starter

Hvor å laste ned Orx

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.

Kompilere det

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).

  1. Gå til Orx / code / build katalog
  2. Anrop premake (lokalisert i Orx / extern / premake) med ønsket IDE som et argument.

Her er listen over støttede argumenter.

  • codeblocks: Generer kode :: Blokkerer prosjektfiler
  • codelite: Generer CodeLite-prosjektfiler
  • GAngi: Generer GNU makefiler for POSIX, MinGW og Cygwin
  • vs2002: Generer Microsoft Visual Studio 2002-prosjektfiler
  • vs2003: Generer Microsoft Visual Studio 2003-prosjektfiler
  • VS2005: Generer Microsoft Visual Studio 2005 prosjektfiler
  • VS2008: Generer Microsoft Visual Studio 2008 prosjektfiler
  • VS2010: Generer Microsoft Visual Studio 2010 prosjektfiler
  • vs2012: Generer Microsoft Visual Studio 2012 prosjektfiler
  • vs2013: Generer Microsoft Visual Studio 2013-prosjektfiler
  • xcode3: Generer Apple Xcode 3-prosjektfiler (eksperimentell)
  • xcode4: Generer Apple Xcode 4-prosjektfiler (eksperimentell)

Android

For Android trenger du den nyeste Android NDK installert. Deretter:

  1. Gå til Orx / code / build / android katalog.
  2. Anrop NDK-build.
  3. Ring install.sh skript for å kopiere binærene til deres installasjons katalog.

Offisielle forum

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.


Wiki

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.

Tutorials

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.


Verktøy

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.

Rull / rulles

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

TexturePacker Exporter er en eksportør for det kraftige verktøyet TexturePacker.

AnimationEditor

AnimationEditor er et enkelt GUI-verktøy for å hjelpe deg med å lage animasjoner for Orx.

TiledToOrx

TiledToOrx er et enkelt GUI-verktøy som konverterer flislagt kartredigeringsfiler (.TMX) til ORX Config (.INN JEG) filer.


Relaterte innlegg
  • Introduksjon til flislagt kartredigerer: Et flott plattform-agnostisk verktøy for å lage nivåkort
  • Parsing og rendering flislagt TMX-formatkart i din egen spillmotor

Konklusjon

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.