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..
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.
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.
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.)
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:
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.
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..
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.
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.
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 a été créé par moi-même comme jeu promotionnel Android / iOS pour le film français du même nom.
Hazardous Attack est un jeu de tir dessiné réalisé par Oxl Games.
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.
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).
orx / code / build
annuairepré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 :: Blockscodelite
: Générer des fichiers de projet CodeLitegmake
: Générer des makefiles GNU pour POSIX, MinGW et Cygwinvs2002
: Générer des fichiers de projet Microsoft Visual Studio 2002vs2003
: Générer des fichiers de projet Microsoft Visual Studio 2003vs2005
: Générer des fichiers de projet Microsoft Visual Studio 2005vs2008
: Générer des fichiers de projet Microsoft Visual Studio 2008vs2010
: Générer des fichiers de projet Microsoft Visual Studio 2010vs2012
: Générer des fichiers de projet Microsoft Visual Studio 2012vs2013
: Générer des fichiers de projet Microsoft Visual Studio 2013xcode3
: 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)Pour Android, vous devez installer la dernière version du NDK Android. Ensuite:
orx / code / build / android
annuaire.ndk-build
.install.sh
script pour copier les fichiers binaires dans leur répertoire d'installation.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 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 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.
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 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.
TexturePacker Exporter est un exportateur du puissant outil TexturePacker.
AnimationEditor est un outil graphique simple pour vous aider à créer des animations pour Orx.
TiledToOrx est un outil graphique simple qui convertit les fichiers Tiled Map Editor (.TMX
) dans ORX Config (.INI
) des dossiers.
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.