Comment apprendre Orx

Orx est un moteur de jeu 2D portable open source fonctionnant actuellement sous Windows, Mac, Linux, iOS et Android (2.3+), et utilisant OpenGL (ES pour iOS / Android) pour accélérer le rendu. Il est basé sur les données et utilise un système de configuration simple mais puissant qui vous permet de prototyper et de valider rapidement des idées. Dans cet article, je vais partager des astuces et des ressources pour apprendre Orx et vous montrer de quoi il est capable..


Pourquoi Orx?

J'ai essayé différents moteurs et frameworks de jeu (Corona SDK, AndEngine et, plus récemment, Unity) avant de trouver Orx, et depuis lors, je n'ai jamais rien trouvé de semblable ou de plus facile à utiliser pour mes besoins. (Certes, c'est une déclaration subjective.)

Sous le capot, Orx utilise le rendu accéléré par OpenGL, avec mise en lot automatique si possible, OpenAL pour le positionnement du son et Box2D pour la physique..

Voici les principales raisons pour lesquelles je reste avec Orx.

L'auteur

Honnêtement, c'est la raison principale. L'auteur de Orx (alias iarwain) est vraiment un gars sympa, ouvert d'esprit et très utile (à la fois en ce qui concerne Orx et Gamedev en général), et c'est sans prix pour moi. Si vous êtes coincé avec quelque chose ou si vous manquez une API, il suffit de laisser un message sur le forum et vous obtiendrez une réponse en un rien de temps.

C'est Open Source

Je ne suis pas un extrémiste open source; Cela ne me dérange pas d'utiliser une bonne bibliothèque / infrastructure source fermée si elle fonctionne correctement, avec une bonne API et une bonne documentation. Mais être open-source avec une licence très permissive (zlib, dans le cas d'Orx) est toujours un avantage. Cela m'a permis d'écrire et de réécrire les plugins Android pour le faire fonctionner - et c'est toujours intéressant de voir ce qu'il y a sous le capot.

(Le code Orx et les API sont également très propres, vous pouvez donc en apprendre beaucoup en les fouillant.)

Le système de configuration

C'est là que brille Orx. Franchement, le système de configuration mérite un article complet, car il comporte beaucoup de choses. La configuration n'est peut-être pas le meilleur nom, car il s'agit bien plus que de la configuration du moteur. La syntaxe est basée sur .INI fichiers et ajoute des fonctionnalités utiles, comme l'héritage de section.

Il y a beaucoup d'usages différents pour le système de configuration:

  • Configuration du moteur et du plugin: C’est là que vous modifiez la physique, définissez la taille de la caméra et de l’affichage, définissez la taille des tampons de flux, mappez les entrées, etc..
  • Définition de données d'objet: Ici, vous définissez vos textures, graphiques, sons, effets, animations, objets, géniteurs, shaders, etc..

    Dans Orx, vous pouvez bien sûr créer des objets moteur via l'API, mais vous pouvez également les créer en spécifiant le nom d'une section dans votre .INI des dossiers:

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

    Ce qui précède créera et affichera le "sprite" Soldier au centre du monde. Maintenant, je peux ajouter des effets, des shaders et des animations, changer sa taille, sa texture, etc., sans changer une seule ligne de code! C'est le génie.

  • Données globales: La configuration étant accessible via l'API, vous pouvez l'utiliser pour stocker et récupérer des variables globales..
  • Utilisation avancée: Cela inclut les timelines (qui exécutent des commandes, comme un langage de script) et les modèles d’objet..

C'est pour qui?

Orx est un moteur de jeu 2D complet fonctionnant sur les plates-formes de bureau et mobiles, et peut être utilisé pour le prototypage et pour des jeux complets avec tous les effets brillants que vous pouvez imaginer..

Personnellement, je recommanderais Orx à quiconque veut créer des jeux et se concentrer sur la logique du jeu, qu'il soit professionnel, indépendant ou amateur. Si vous connaissez le C / C ++, vous devriez essayer, je pense que vous serez impressionné.

Cela ressemble peut-être à la promotion du produit (enfin, peut-être un peu), mais c’est mon expérience personnelle que j’exprime ici..


Vitrine

Malheureusement, Orx souffre d'une mauvaise visibilité auprès du public, il n'y a donc pas de grand jeu sorti à montrer. Mais regardons ce que les jeux Orx sont déjà là-bas.

Ragoût de champignons

Mushroom Stew est un petit jeu de plate-forme développé par l'auteur d'Orx. Il comprend de jolis shaders à effet d’eau et une certaine distorsion de l’heure locale.

LIEN. Rechargé

Aussi connu sous le nom de projet Clarion, il s'agit d'un remake du jeu N.E.X.U.S de 1986 Commodore 64.


Le Magasin Des Suicides

Le Magasin des Suicides a été créé par moi-même comme jeu promotionnel Android / iOS pour le film français du même nom.

Attaque dangereuse

Hazardous Attack est un jeu de tir dessiné réalisé par Oxl Games.



Commencer

Où télécharger Orx

Vous pouvez trouver les liens de téléchargement sur le site officiel Orx. Des bibliothèques précompilées sont disponibles pour chaque plate-forme pour la dernière version publiée..

Orx étant une source ouverte, vous pouvez également obtenir l’arborescence complète du répertoire de stockage officiel de Bitbucket. Ce référentiel est toujours en bon état et prêt à être compilé. Il constitue le moyen recommandé de commencer à travailler avec Orx car il inclut les derniers correctifs et les nouvelles fonctionnalités ajoutées au moteur de jeu. Il contient également la source des tutoriels.

Le compiler

Si vous avez téléchargé les bibliothèques précompilées (non recommandé), vous êtes tous ensemble. il suffit d'ajouter le comprendre et lib dossier de votre projet de jeu et commencez à travailler sur votre prochain jeu tueur.

Si vous avez cloné le référentiel Mercurial, vous devez d'abord compiler le moteur. Pas grand problème ici. Orx utilise premake4 pour configurer le projet à compiler pour votre plate-forme souhaitée (sauf pour Android).

  1. Aller au orx / code / build annuaire
  2. Appel prémake (situé dans orx / extern / premake) avec l'IDE désiré comme argument.

Voici la liste des arguments supportés.

  • codeblocs: Générer des fichiers de projet Code :: Blocks
  • codelite: Générer des fichiers de projet CodeLite
  • gmake: Générer des makefiles GNU pour POSIX, MinGW et Cygwin
  • vs2002: Générer des fichiers de projet Microsoft Visual Studio 2002
  • vs2003: Générer des fichiers de projet Microsoft Visual Studio 2003
  • vs2005: Générer des fichiers de projet Microsoft Visual Studio 2005
  • vs2008: Générer des fichiers de projet Microsoft Visual Studio 2008
  • vs2010: Générer des fichiers de projet Microsoft Visual Studio 2010
  • vs2012: Générer des fichiers de projet Microsoft Visual Studio 2012
  • vs2013: Générer des fichiers de projet Microsoft Visual Studio 2013
  • xcode3: Générer des fichiers de projet Apple Xcode 3 (expérimental)
  • xcode4: Générer des fichiers de projet Apple Xcode 4 (expérimental)

Android

Pour Android, vous devez installer la dernière version du NDK Android. Ensuite:

  1. Aller au orx / code / build / android annuaire.
  2. Appel ndk-build.
  3. Appeler le install.sh script pour copier les fichiers binaires dans leur répertoire d'installation.

Forums officiels

Les forums Orx devraient être votre premier endroit où chercher de l'aide. La communauté est très petite, mais les membres chevronnés sont prêts à aider n'importe qui.

L’auteur du moteur est également très réactif et, en tant que développeur de jeux (travaillant actuellement à Ubisoft Montréal), il a toujours des conseils pertinents à offrir pour résoudre un problème..


Le wiki

Le wiki Orx est également un bon endroit à regarder si vous êtes perdu. Il existe des sections pour vous aider à configurer votre environnement pour les différentes plates-formes prises en charge, et une section pour vous aider avec le système de configuration..

Les tutoriels

Les tutoriels vous guideront des bases aux fonctionnalités plus avancées d’Orx.

Le premier tutoriel montre comment rendre la scène la plus simple et comment jouer avec les différentes propriétés d'objet dans .INI fichier pour changer la scène sans changer le code.

C’est un bon tutoriel pour expérimenter la partie d’Orx basée sur les données et comment il vous permet de prototyper rapidement quelque chose.


Outils

Permettez-moi de préciser: Orx n’est pas Unity, vous ne trouverez donc pas un éditeur de scène complet avec prévisualisation en temps réel ou quelque chose du genre..

Cependant, la communauté a construit des outils pour vous aider avec différents aspects d'Orx. Vous pouvez les trouver sur la page Orx Bitbucket. J'ai rassemblé certains de mes favoris.

Scroll / ScrollEd

Scroll / ScrollEd n'est pas vraiment un outil, mais plutôt un calque au-dessus d'Orx qui vous aide à relier les classes de vos objets de jeu C ++..


Il comprend également un éditeur de niveau.


Exportateur TexturePacker

TexturePacker Exporter est un exportateur du puissant outil TexturePacker.

Animation Editeur

AnimationEditor est un outil graphique simple pour vous aider à créer des animations pour Orx.

TiledToOrx

TiledToOrx est un outil graphique simple qui convertit les fichiers Tiled Map Editor (.TMX) dans ORX Config (.INI) des dossiers.


Articles Similaires
  • Introduction à l'éditeur de cartes en mosaïque: un outil formidable et indépendant de la plate-forme pour créer des cartes de niveau
  • Analyse et rendu de cartes au format TMX en mosaïque dans votre propre moteur de jeu

Conclusion

Orx est un moteur de jeu développé activement. Je l'utilise pour mes projets personnels depuis deux ans et je ne compte plus toutes les nouvelles fonctionnalités ajoutées depuis. Vous pouvez consulter la liste complète des fonctionnalités sur la page À propos d'Orx.

J'espère que cette petite introduction vous a donné un aperçu de ce qu'est Orx et de ce qui en fait un moteur de jeu puissant et intéressant. Je ne peux que vous encourager à tenter votre chance et à jouer avec les tutoriels. N'hésitez pas à poser vos questions ici ou sur le forum Orx.