Come imparare Orx

Orx è un motore di gioco 2D portatile open source, che attualmente funziona su Windows, Mac, Linux, iOS e Android (2.3+) e utilizza OpenGL (ES per iOS / Android) per l'accelerazione del rendering. È basato sui dati e utilizza un sistema di configurazione semplice ma potente che consente di prototipare e convalidare rapidamente le idee. In questo articolo, condividerò consigli e risorse per l'apprendimento di Orx e ti mostrerò di cosa è capace.


Perché Orx?

Ho provato diversi motori di gioco e framework (Corona SDK, AndEngine e recentemente Unity) prima di trovare Orx e, da allora, non ho mai trovato nulla di simile o più facile da usare per le mie esigenze. (Ammettiamolo, questa è una dichiarazione soggettiva).

Sotto il cofano, Orx utilizza il rendering accelerato con OpenGL, con auto-dosaggio quando possibile, OpenAL per il posizionamento del suono e Box2D per la fisica.

Ecco i motivi principali per cui rimango con Orx.

L'autore

Onestamente, questa è la ragione principale. L'autore di Orx (alias iarwain) è davvero un bravo ragazzo, di larghe vedute e molto utile (sia per quanto riguarda Orx stesso che per il gamedev in generale), e per me è impagabile. Se sei bloccato con qualcosa, o ti manca un'API, lascia un post nel forum e riceverai una risposta in pochissimo tempo.

È Open Source

Non sono un estremista open source; Non mi interessa usare una buona libreria / framework closed source se fa il lavoro correttamente e ha una buona API e documentazione. Ma essere open-source con una licenza molto permissiva (zlib, nel caso di Orx) è sempre un vantaggio. Questo mi ha permesso di scrivere e riscrivere i plugin Android per farlo funzionare, ed è sempre interessante vedere cosa c'è sotto il cofano.

(Anche il codice Orx e le API sono molto puliti, quindi puoi imparare molto da scavare a loro.)

Il sistema di configurazione

Questo dove Orx brilla. Francamente, il sistema di configurazione merita un articolo completo per se stesso, perché c'è molto da fare. La configurazione potrebbe non essere il nome migliore, perché è molto più della semplice configurazione del motore. La sintassi è basata su .INI file e aggiunge alcune funzionalità utili, come l'ereditarietà delle sezioni.

Esistono molti usi diversi per il sistema di configurazione:

  • Configurazione del motore e del plug-in: Qui è possibile modificare la fisica, impostare la fotocamera e le dimensioni del display, impostare le dimensioni dei buffer di flusso, mappare gli input e così via.
  • Definizione dei dati dell'oggetto: Qui definisci le tue trame, grafici, suoni, effetti, animazioni, oggetti, spawner, shader e così via.

    In Orx puoi, ovviamente, creare oggetti motore tramite l'API, ma puoi anche crearli specificando il nome di una sezione nel tuo .INI File:

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

    Quanto sopra creerà e mostrerà lo "sprite" del Soldato nel centro del mondo. Ora posso aggiungere effetti, shader e animazioni, cambiare le sue dimensioni, la sua texture e altro, senza cambiare una singola riga di codice! Questo è genio.

  • Dati globali: Poiché la configurazione è accessibile tramite l'API, è possibile utilizzarla per archiviare e recuperare le variabili globali.
  • Utilizzo avanzato: Questo include timeline (che eseguono comandi, come un linguaggio di scripting) e modelli di oggetti.

Per chi è?

Orx è un motore di gioco 2D completamente funzionante che funziona su piattaforme sia desktop che mobili e può essere utilizzato per la prototipazione e per i giochi completi con tutti gli effetti brillanti che puoi immaginare.

Personalmente raccomanderò Orx a chiunque voglia fare giochi e concentrarsi sulla logica del gioco, sia professionale, indipendente o amatoriale. Se conosci C / C ++, dovresti provare, penso che rimarrai colpito.

Può sembrare che sto promuovendo il prodotto (beh, forse lo sono, un po '), ma questa è la mia esperienza personale che sto esprimendo qui.


vetrina

Sfortunatamente, Orx soffre di una scarsa esposizione pubblica, quindi non c'è un grande gioco pubblicato da mostrare. Ma diamo un'occhiata a quali giochi Orx ci sono già.

Stufato di funghi

Mushroom Stew è un piccolo gioco di piattaforme sviluppato dall'autore di Orx. Include ombreggiatori con effetto acqua e alcune distorsioni locali.

N.E.X.U.S. Reloaded

Conosciuto anche come The Clarion Project, questo è un remake del gioco Commodore 64 del 1986 N.E.X.U.S.


Le Magasin Des Suicides

Le Magasin des Suicides è stato realizzato da me come gioco promozionale Android / iOS per il film francese con lo stesso nome.

Attacco pericoloso

Hazardous Attack è uno sparatutto animato realizzato da Oxl Games.



Iniziare

Dove scaricare Orx

Puoi trovare i link per il download sul sito ufficiale di Orx. Librerie precompilate sono disponibili per ogni piattaforma per l'ultima versione rilasciata.

Dato che Orx è open source, puoi anche ottenere l'albero dei sorgenti completo dal repository ufficiale di Bitbucket. Questo repository è sempre in buone condizioni e pronto per essere compilato, ed è il modo consigliato per iniziare a lavorare con Orx poiché include le ultime correzioni e le nuove funzionalità aggiunte al motore di gioco. Contiene anche la fonte delle esercitazioni.

Compila

Se hai scaricato le librerie precompilate (sconsigliato) sei tutto pronto; basta aggiungere il includere e lib cartella al tuo progetto di gioco e inizia a lavorare sul tuo prossimo gioco killer.

Se hai clonato il repository Mercurial, devi prima compilare il motore. Nessun grosso problema qui. Orx utilizza premake4 per configurare il progetto da compilare per la piattaforma desiderata (tranne Android).

  1. Vai al Orx / code / build elenco
  2. Chiamata premake (situato in Orx / extern / premake) con l'IDE desiderato come argomento.

Ecco l'elenco degli argomenti supportati.

  • codeblocks: Genera i file di progetto Code :: Blocks
  • CodeLite: Genera file di progetto CodeLite
  • gmake: Genera makefile GNU per POSIX, MinGW e Cygwin
  • vs2002: Genera i file di progetto di Microsoft Visual Studio 2002
  • VS2003: Genera i file di progetto di Microsoft Visual Studio 2003
  • VS2005: Genera i file di progetto di Microsoft Visual Studio 2005
  • VS2008: Genera i file di progetto di Microsoft Visual Studio 2008
  • VS2010: Genera i file di progetto di Microsoft Visual Studio 2010
  • vs2012: Genera i file di progetto di Microsoft Visual Studio 2012
  • vs2013: Genera i file di progetto di Microsoft Visual Studio 2013
  • xcode3: Genera file di progetto Apple Xcode 3 (sperimentale)
  • xcode4: Genera file di progetto Apple Xcode 4 (sperimentale)

androide

Per Android, avrai installato l'ultimo NDK Android installato. Poi:

  1. Vai al Orx / code / build / Android elenco.
  2. Chiamata NDK-build.
  3. Chiama il install.sh script per copiare i binari nella loro directory di installazione.

Forum ufficiali

I forum di Orx dovrebbero essere il tuo primo posto in cui cercare aiuto. La comunità è molto piccola, ma i membri esperti sono disposti ad aiutare chiunque.

L'autore del motore è anche molto veloce nel rispondere e, in qualità di sviluppatore senior di giochi (che attualmente lavora presso Ubisoft Montreal), ha sempre consigli pertinenti da offrire per risolvere un problema.


Il Wiki

Il wiki Orx è anche un buon posto dove guardare se sei perso. Ci sono sezioni per aiutarti a configurare il tuo ambiente per le diverse piattaforme supportate e una sezione per aiutarti con il sistema di configurazione.

Le esercitazioni

I tutorial ti guideranno dalle basi alle funzionalità più avanzate di Orx.

Il primo tutorial mostra come rendere la scena più semplice e come si può giocare con le diverse proprietà dell'oggetto nel .INI file per cambiare la scena senza cambiare il codice.

È un buon tutorial per sperimentare la parte di Orx basata sui dati e come ti permette di prototipare rapidamente qualcosa.


Utensili

Consentitemi di chiarire: Orx non è Unity, quindi non troverete un Editor di scene completo con anteprima in tempo reale o qualcosa del genere.

Tuttavia, la community ha creato alcuni strumenti per aiutarti con diversi aspetti di Orx. Li puoi trovare nella pagina di Bitxucket di Orx. Ho arrotondato alcuni dei miei preferiti.

Scroll / Scrolled

Scroll / ScrollEd non è davvero uno strumento, è più simile a un livello in cima a Orx che ti aiuta con il binding delle classi degli oggetti di gioco C ++.


Include anche un editor di livelli.


Esportatore di TexturePacker

TexturePacker Exporter è un esportatore per il potente strumento TexturePacker.

AnimationEditor

AnimationEditor è un semplice strumento GUI per aiutarti a creare animazioni per Orx.

TiledToOrx

TiledToOrx è un semplice strumento GUI che converte i file di Tiled Map Editor (.TMX) in ORX Config (.INI) File.


Post correlati
  • Introduzione a Tiled Map Editor: un ottimo strumento indipendente dalla piattaforma per realizzare mappe di livello
  • Analisi e rendering di mappe in formato TMX affiancate nel tuo motore di gioco

Conclusione

Orx è un motore di gioco sviluppato attivamente. L'ho utilizzato per i miei progetti personali per due anni e ho perso il conto di tutte le nuove funzionalità aggiunte da allora. È possibile controllare l'elenco completo delle funzionalità nella pagina Informazioni su Orx.

Spero che questa piccola introduzione ti abbia dato un assaggio di cosa sia Orx e cosa lo renda un motore di gioco potente e interessante. Posso solo incoraggiarti a dargli un colpo e giocare con i tutorial. Non esitate a fare le vostre domande qui o nel forum di Orx.