Apprendre à connaître Ogmo Editor un éditeur de niveau avancé et robuste

Ogmo Editor, de Matt Thorson, est un éditeur de niveau open source polyvalent, gratuit, qui s'exécute sous Windows. Il exporte les données de niveau au format XML, ce qui signifie qu'il peut être utilisé avec à peu près toutes les plateformes gamedev. Dans cet article, je vais vous montrer pourquoi c'est mon éditeur de niveau préféré, couvrir ses fonctionnalités et expliquer comment commencer à l'utiliser..


Exigences

  • Ogmo Editor 2.1.0 ou version ultérieure: http://www.ogmoeditor.com
  • Dossier de projet: disponible ici. Les graphiques sont un ensemble légèrement modifié de SpicyPixel.net.

Qu'est-ce que Ogmo Editor??

Ogmo Editor est un éditeur de niveau gratuit, à code source ouvert et basé sur des mosaïques pour Windows. Il est mon préféré. Il est extrêmement puissant, facile à utiliser et continue de recevoir des mises à jour occasionnelles. Ogmo est un éditeur absolument fantastique qui vous épargnera d'innombrables heures de travail..


Création et configuration d'un nouveau projet

La première chose à faire lors de l'utilisation d'Ogmo Editor est de créer un nouveau projet. Pour ce faire, allez simplement dans Projet> Nouveau projet, comme indiqué ci-dessous:

Une fois que vous avez sélectionné le répertoire dans lequel vous souhaitez enregistrer vos fichiers de projet (en tant que projet Ogmo Editor, ou .oep), l'onglet Paramètres de l'écran de configuration de votre projet s'affiche..

Réglages

Il y a beaucoup d'informations ici, et un peu de préparation à faire avant de pouvoir commencer, mais ne vous inquiétez pas, je vais tout décomposer à mesure que nous poursuivons.

Nommer le projet

Tout d’abord, allez-y et donnez un nom à votre projet, où il est actuellement indiqué "Nouveau projet". Par souci de ce tutoriel, je vais nommer mon projet "Example Project".

Le nom de notre projet est important pour deux raisons: premièrement, ce sera le nom du fichier .oep enregistré sur votre ordinateur; Deuxièmement, Ogmo Editor garde la trace des projets récents et nous permet de localiser rapidement les projets par leur nom à partir de la page de démarrage..

Configuration des visuels de l'éditeur

Ensuite, vous verrez "Couleur de fond" et "Couleur de la grille". Ogmo Editor nous permet de modifier ces deux valeurs, et comme vous allez probablement créer et éditer de nombreux niveaux dans Ogmo à partir de maintenant, il est bon de pouvoir modifier les éléments visuels de la manière qui vous convient le mieux. Personnellement, je vais avec un fond vert très foncé et une couleur de grille bleu clair, mais vous pouvez utiliser ce que vous voulez.

Vous pouvez taper manuellement une valeur hexadécimale ou cliquer sur la couleur affichée à droite pour afficher un sélecteur de couleur, puis sélectionner une couleur à partir de là. Assurez-vous de noter le bouton "Définir les couleurs personnalisées" près du bas, qui ouvre un outil de sélection des couleurs plus complet..

Exportation d'angle

Sous le fond et la couleur de la grille, vous verrez le menu déroulant "Exportation d'angle". Ceci est assez explicite et change simplement la façon dont Ogmo exporte les données relatives aux angles. Définissez la valeur en degrés ou en radians, selon votre projet..

Tailles de niveau

Plus important encore, vous avez une configuration "Level Size". C'est ici que vous définissez les tailles de niveau par défaut, minimum et maximum. En règle générale, vous définissez Par défaut sur la taille de votre niveau le plus courant, Minimum sur la taille de votre niveau accepté le plus bas (souvent les dimensions de votre jeu, pour les niveaux d'écran unique), et Maximum au plus grand que vous accepterez ou à une taille ridiculement grande. nombre pour éviter d'avoir un maximum tout à fait.

Les paramètres de la caméra

Les paramètres de l'appareil photo sont une fonctionnalité facultative plus avancée, mais toujours très soignée, je vais donc en parler rapidement. Si votre jeu utilise une sorte de caméra, vous pouvez en imiter le comportement au sein d’Ogmo. Cela vous permettra de voir comment les effets de superposition visuels apparaîtront dans votre jeu, tels que la parallaxe, dans l'éditeur..

Pour utiliser les paramètres de l'appareil photo, cochez simplement la case "Activé" et définissez les dimensions de votre appareil photo. Si vous souhaitez créer votre caméra dans le jeu en vous basant sur le niveau XML, vous pouvez cocher la case "Exporter la position de la caméra" et utiliser ces données. Pour déplacer la caméra dans l'éditeur, maintenez simplement la touche "C" et cliquez et faites glisser pour définir la position de la caméra..

Niveau Valeurs

Une autre fonctionnalité optionnelle, très utile, est valeurs de niveau. Considérez-les comme des propriétés de vos niveaux pouvant être définies directement dans l'éditeur.

Un exemple pratique de ceci est le niveau de difficulté. Vous pouvez créer une propriété "difficulté", sous la forme d'un type entier, et définir vos valeurs par défaut, min et max. Vous pouvez ensuite attribuer à chaque niveau une difficulté, qui pourra ensuite être utilisée dans le jeu pour trier les niveaux par difficulté, afficher la difficulté d’un niveau, etc. Les possibilités sont presque illimitées ici, et avec un peu de créativité, c’est une fonctionnalité très puissante..

Couches

Maintenant que nous avons bien compris l'onglet Paramètres, je vais passer à l'onglet suivant. allez-y et cliquez sur l'onglet Couches maintenant. Les couches sont un élément absolument essentiel d’Ogmo Editor et elles sont gérées à la perfection. Ogmo utilise trois types de couche: grille, mosaïques et entités..

la grille

La grille est le type de couche le plus fondamental dans Ogmo. Par défaut, les nouveaux projets ne contiendront qu'un seul calque et ce calque est du type Grille. Les couches de grille sont simples: une tuile est remplie ou non. En raison de cette nature simple, l’utilisation la plus courante d’un calque de grille consiste à traiter les tuiles remplies comme des tuiles de collision dans votre jeu, bien que son utilisation ne se limite évidemment pas à cela..

Carrelage

Les couches de tuiles sont un peu plus avancées, mais restent assez simples. En règle générale, ils sont utilisés uniquement à des fins visuelles (des exceptions existent et utilisent une analyse XML plus avancée, mais nous ne reviendrons pas sur cela ici)..

Mes projets contiennent toujours au moins deux ou trois couches de mosaïques: une pour l'arrière-plan, une pour le premier plan et, selon la nature du projet, une pour le juste milieu. Il est raisonnable d'avoir plusieurs couches de tuiles, ce qui vous donne plus de précision et de puissance quant à la qualité de la représentation de votre image de jeu par l'éditeur. En effet, les espaces dans les calques en mosaïque, tout comme dans les calques de grille, sont remplis ou non, ce qui signifie que vous ne pouvez pas placer plusieurs mosaïques dans le même espace, mais que vous devez utiliser plusieurs calques en mosaïque..

Un exemple de ceci est montré ci-dessous, où j'ai une fleur devant un arbre. Avec un seul calque d'arrière-plan, cela ne serait pas possible. cependant, j'en ai plus, et mes fleurs et mon arbre sont sur des calques séparés.

Entités

Les couches d'entités sont assez puissantes, mais néanmoins très faciles à utiliser. En termes simples, un calque Entity contient tous les objets de votre jeu, tels que les ennemis, les positions d'apparition, les points de contrôle, les ressorts, les échelles, les pointes, les portes, etc. si ce n'est pas un objet uniquement visuel que vous placez lors de la conception des niveaux, il va ici.

Les entités tirent leur force et leur originalité de leur capacité à contenir des propriétés. Ces propriétés peuvent s’étendre sur une large plage de types de données (les booléens et les entiers ne sont que deux exemples) et peuvent recevoir des valeurs telles que les valeurs par défaut, minimum, maximum et parfois davantage..

Un exemple simple de la façon dont cela pourrait être utile peut être observé avec un point d'apparition ennemi. Si vous souhaitez déterminer la direction empruntée une fois par l'ennemi, dans un éditeur de niveau ne prenant pas en charge les propriétés, vous devez créer deux objets pour l'éditeur: un où l'ennemi se déplace à gauche et un autre à droite. Grâce à la prise en charge par Ogmo des propriétés d'entités, vous pouvez simplement attribuer à l'entité ennemie une propriété "direction" de type Integer et l'attribuer à -1 ou 1 dans l'éditeur. Cela vous permet d’avoir un objet pour l’Ennemi, tout en contrôlant un comportement spécifique pour chaque Ennemi que vous mettez dans votre niveau. Vous pouvez ensuite lire la propriété direction à partir du XML et gérer la logique dans votre code de jeu..

Ceci n'est qu'un exemple de la façon dont les propriétés simplifient l'expérience de l'éditeur, mais il existe de nombreuses autres utilisations..

Tuiles

Vous connaissez maintenant un peu les couches de tuiles, mais sans un peu de configuration, Ogmo ne les autorisera pas. Cliquez sur l'onglet Tilesets maintenant et je vous expliquerai comment mettre en place une couche de tuiles..

Par défaut, aucun mosaïque n'est attribué à Ogmo et vous en aurez besoin pour créer une couche du type mosaïque. Pour en créer un, appuyez simplement sur le bouton Créer en bas à gauche; Notez également que vous pouvez supprimer les calques et réorganiser leur ordre avec les autres boutons trouvés ici..

Une fois qu'un nouveau jeu de tuiles a été créé, vous devez lui attribuer un nom, informer Ogmo de la taille de chaque mosaïque de la feuille et définir l'espacement entre les mosaïques, le cas échéant. Si vous avez plusieurs carreaux, répétez simplement les étapes ci-dessus pour chaque.

Dans l'environnement de travail, vous pourrez voir tous les jeux de mosaïques disponibles lors de la sélection d'un calque de mosaïques et basculer entre les jeux à l'aide d'un simple menu déroulant. Lorsque vous travaillez avec des ensembles de mosaïques, vous pouvez sélectionner une seule mosaïque à utiliser ou un groupe de mosaïques en même temps. Cela vous permet de peindre des groupes entiers de carreaux, qui peuvent être utilisés pour placer rapidement des arrière-plans ou pour mettre en forme des objets plus volumineux composés de plusieurs carreaux en un seul clic..

Entités

Le dernier onglet est l'onglet Entités. C'est ici que vous configurez toutes les entités pouvant être utilisées sur un calque d'entités. Les entités sont un peu plus complexes que celles avec lesquelles nous avons travaillé jusqu'à présent, mais elles sont très flexibles et faciles à utiliser..

Comme pour les calques et les mosaïques, continuez et appuyez sur Créer pour créer un nouveau type d'entité. Comme tout le reste dans Ogmo, attribuez un nom à l'entité et indiquez-en la hauteur et la largeur. Notez que même si votre grille principale peut avoir une taille unique, les entités et autres objets dans Ogmo peuvent être plus grands. Cela étant dit, je suggère de garder tout divisible par une seule tuile, afin de garder les choses en ordre.

Comme mentionné ci-dessus, les propriétés sont l'endroit où les entités, et Ogmo Editor lui-même, brillent vraiment. Beaucoup d'éditeurs n'ont pas cette fonctionnalité, mais de mon point de vue, c'est absolument essentiel. Vous créez simplement une nouvelle propriété, puis lui attribuez un nom et l’un des types suivants: Integer, Boolean, Float, String, Enum et Color..

Une fois que vous avez attribué un nom et un type à la propriété, vous pouvez définir sa valeur par défaut et (le cas échéant) ses valeurs minimales et maximales autorisées. Il existe également une case à cocher Afficher le curseur, qui vous permet d'ajuster les valeurs à l'aide d'un curseur, plutôt que de la saisir, lors de la modification d'objets dans la zone de développement..


La zone de développement

Navigation

Naviguer dans la zone de développement est facile. Pour vous déplacer, maintenez simplement la barre d'espace enfoncée, puis cliquez et faites glisser pour faire un panoramique. De plus, la molette de défilement vous permet d'effectuer un zoom avant et arrière vers l'emplacement de votre souris. Ces deux méthodes combinées permettent un flux de travail très rapide et sans douleur lorsque vous travaillez à des niveaux plus importants..

Personnalisation

Une autre fonctionnalité intéressante d’Ogmo, et un de mes favoris, est la possibilité de faire glisser chaque sous-fenêtre en dehors du programme. Les calques, les entités, la palette de mosaïques, la sélection et les outils peuvent tous être déplacés où vous le souhaitez sur votre (vos) moniteur (s) et ajustés à la taille de votre choix - une fonctionnalité extrêmement utile pour ceux qui disposent d'une configuration multi-moniteur ou supérieure tuiles.

Notez que ce redimensionnement est presque essentiel pour la palette de mosaïques, car chaque mosaïque paraîtra beaucoup trop petite à moins que la fenêtre ne soit agrandie..

Apprendre les outils

Ogmo Editor dispose d'un certain nombre d'outils que vous pouvez utiliser lorsque vous travaillez sur votre projet. Certains outils apparaissent dans tous les types de calques (grille, mosaïques, entités), tandis que d'autres sont spécifiques à un type de calque. Ci-dessous une ventilation de chaque outil.

Outils de grille

  • Crayon: Utilisé pour le remplissage de carreaux de base. Un clic gauche place une tuile, un clic droit la supprime.
  • Remplissage inondé: Votre outil de remplissage de base. Permet de remplir tout espace vide dans une zone fermée avec un clic gauche et de supprimer une zone remplie avec un clic droit.
  • Rectangle: Identique à l'outil Remplissage, mais remplit simplement une zone rectangulaire sélectionnée. Clic gauche pour placer, clic droit pour supprimer.
  • Ligne: Ressemble beaucoup à l’outil crayon, mais est utilisé pour créer un segment de trait de remplissage du point A au point B. Cliquez avec le bouton gauche pour placer, cliquez avec le bouton droit pour supprimer.
  • Sélectionner: Utilisé pour sélectionner des objets, qui peuvent ensuite être déplacés avec WASD ou l'outil Déplacer.
  • Déplacer la sélection: Permet de déplacer les objets sélectionnés avec la souris.

Outils de tuiles

La plupart des outils sont également utilisés dans les calques de grille, à l'exception de:

  • Pipette: Remplace la mosaïque actuellement sélectionnée par la mosaïque sélectionnée lors de l’utilisation de la pipette.

Outils d'entités

Certains outils sont également utilisés dans les calques de grille, à l'exception de:

  • Redimensionner: Le cas échéant, vous permet de modifier l’échelle x et y d’une entité en un clic et en le faisant glisser..
  • Ajouter un nœud: Ajoute un nœud pour l'entité sélectionnée. (Voir la section Noeuds pour plus de détails.).
  • Insérer un nœud: Permet le placement de nœuds entre des nœuds déjà placés. (Voir la section Noeuds pour plus de détails.).

Entités et nœuds

Les nœuds sont une autre fonctionnalité avancée de Ogmo Editor. Considérez les nœuds comme des points de cheminement appartenant à un objet Entity spécifique. Une fois qu'une entité est sélectionnée, vous pouvez ensuite ajouter des nœuds à l'aide de l'outil Ajouter un nœud. Ces nœuds seront stockés dans le XML sous l’objet Entité et pourront être utilisés à votre guise..

Les nœuds peuvent être utilisés pour déplacer des plates-formes, des mouvements de structures ennemies et des positions de tir ennemies. Comme toujours, les possibilités sont infinies. Soyez donc imaginatif et utilisez cette excellente fonctionnalité..


Utilisations non conventionnelles

Ogmo Editor est idéal pour tout jeu basé sur des tuiles, qu’il s’agisse d’un jeu descendant de Zelda ou d’un jeu de plateforme à défilement horizontal. Cela dit, avec un peu de réflexion, il peut être utilisé de nombreuses manières non conventionnelles, pour faire presque n'importe quoi dans vos jeux..

Par exemple, imaginons un simple tireur vertical ou horizontal. Tout au long du jeu, les ennemis vous attaquent selon des schémas prédéfinis. Ces modèles sont généralement assez simples et peuvent être créés strictement à l'aide de code, mais pourquoi ne pas utiliser un éditeur visuel pour accélérer le processus? Avec Ogmo, vous pouvez simplement définir la position de départ de chaque ennemi sur un calque Entities, et attribuer au "niveau" une propriété correspondant à un niveau de difficulté de la vague ou à un nom, permettant ainsi à votre jeu de mieux trier vos données prédéfinies. vagues.

Ce qui peut prendre une bonne partie du temps en code pur est maintenant considérablement plus facile et plus agréable, grâce à l'utilisation légèrement obscure d'un éditeur basé sur des tuiles.


Open source

Matt Thorson a rendu Ogmo Editor open source, ce qui signifie que la communauté est libre d'ajouter et de modifier l'éditeur de la manière qui lui semble la plus appropriée. Si vous souhaitez personnaliser Ogmo, n'hésitez pas, consultez la source et assurez-vous de partager vos contributions avec la communauté.!


Conclusion

Comme vous pouvez le constater, Ogmo Editor est un éditeur extrêmement robuste et complexe. C'est un ajout incroyable à l'arsenal d'outils de n'importe quel développeur de jeux et peut vous faire économiser d'innombrables heures.

Que vous recherchiez les bases absolues dans un éditeur ou quelque chose de plus avancé, tel que les propriétés du système de caméra ou de l'entité, Ogmo saura vous couvrir. J'espère que vous vous sentez suffisamment à l'aise pour utiliser Ogmo Editor dans votre prochain projet. Bonne chance dans vos futurs projets d'édition de niveaux!