Éditeur de niveaux

De WikiPlee.

L'éditeur de niveaux permet de construire facilement de beaux niveaux. Les fichiers de niveaux gérés par l'éditeur sont des fichiers XML à l'extension .lvl. Ils devront être compilés en fichiers lisibles par le moteur du jeu, à l'extension .cl.

Sommaire

Première fois

Fenêtre de configuration des chemins.

La première fois que l'éditeur de niveaux est lancé, aucun objet et aucune image ne sont disponibles. La fenêtre de configuration des chemins s'affiche automatiquement. Si ce n'est pas le cas, il suffit d'aller dans le menu Level/Configuration... pour y accéder.

Cette fenêtre contient deux listes de chemins. La première est la liste des chemins vers les dossiers des fichiers de description d'objet. Ce sont des fichiers XML contenant une description des champs éditables pour chaque classe d'objet du jeu. La deuxième liste contient des chemins vers les dossiers de données du jeu. Il s'agit du même dossier que celui passé en paramètre de la ligne de commande du jeu. Le contenu de ces deux listes est partagé avec l'éditeur d'animations et l'éditeur de modèles. Ainsi, la fenêtre ne s'affichera qu'au premier lancement de l'un des éditeurs.

Une fois les dossiers configurés, il peut être nécessaire de redémarrer l'éditeur.

Fenêtre principale

La fenêtre principale est séparée en deux parties. La partie haute est constituée du menu principal et des boutons Nouveau, Ouvrir et Enregistrer. Pour créer un niveau, il suffit de cliquer sur le bouton Nouveau ou dans le menu Level/New.... Une boîte de dialogue s'ouvre alors pour configurer la taille du niveau, la musique jouée par défaut (optionnelle) et pour donner un nom au niveau. Ces informations pourront être modifiées ultérieurement. Pour choisir la taille du niveau, il faut garder en tête qu'un écran dans le jeu mesure 800 horizontalement et 600 verticalement (bien que cette taille puisse être modifiée en paramètre de la ligne de commande).

La partie basse contient trois onglets. Le premier liste les calques du niveau édité, le second liste les classes d'objets disponibles pour le niveau, le dernier permet d'éditer les champs d'un objet sélectionné dans le niveau.

Liste des calques

Liste des calques du niveau courant.

La liste des calques présente les calques du niveau en cours, du plus éloigné au plus proche. Les cases à cocher permettent d'afficher et de masquer un calque dans la fenêtre d'édition du niveau. Les boutons sur la droite permettent d'ajouter, de supprimer, de déplacer ou d'éditer les propriétés du calque sélectionné. Les boutons Nouveau et Propriétés affichent la boîte de dialogue de propriété du calque. Le rapport de la taille d'un calque et la taille du niveau correspond à la vitesse de défilement du calque. Ainsi, un calque plus petit que le niveau défilera lentement et aura l'air distant, alors qu'un calque plus grand que le niveau défilera rapidement et aura l'air proche. Ce dialogue permet aussi de choisir la catégorie du calque :

  • action_layer : un calque dans lequel est appliqué la physique ;
  • decoration_layer : un calque sans physique, utilisé principalement pour placer des décorations ;
  • pattern_layer : un calque qui répète à l'écran les visuels de ses objets.

Le plus souvent, il n'y aura qu'un seul action_layer par niveau, bien qu'il n'y ait aucune contre indication technique pour en avoir plusieurs. Ce calque devra être de la même taille que le niveau, autrement un décalage va se produire à l'affichage et le jeu sera injouable (le calque défilera à une vitesse différente que le défilement dans le niveau).

Classes d'objets

Liste des objets disponibles.

La liste des objets disponibles présente sous une forme arborescente tous les objets pouvant être ajouté à un niveau (voir le tutoriel pour exporter un objet et le rendre accessible pour l'éditeur). Les objets sont rangés par catégorie. Ainsi, sur la capture d'écran, les mouvements forcés sont classés dans la catégorie movements, les liens sont dans la catégorie link, les caméras et modificateurs de caméra sont dans la catégorie camera, qui est elle même dans la catégorie des objets de contrôle control.

Un double clic sur un objet de l'arborescence ajoute un nouvel objet de ce type dans le calque actif du niveau en cours d'édition. il est aussi possible d'effectuer un glisser/déposer d'un objet de l'arborescence vers un niveau pour ajouter un objet de ce type au calque actif.

Propriétés d'un objet

Propriétés de l'objet sélectionné.

Certaines propriétés des objets peuvent être paramétrées lors de la création du niveau via l'onglet des propriétés. Pour afficher les propriétés d'un objet, il suffit de le sélectionner. Dans le cas d'une sélection multiple, seules les propriétés de la sélection principale (l'objet ayant des contours rouges continus) sont affichées.

Pour les propriétés de type fichier (comme les animations ou les images des sprites), il est possible d'utiliser des caractères spéciaux pour que l'éditeur choisisse un fichier au hasard. Ces caractères sont '*', qui sera remplacé par n'importe quelle suite de caractères ; '#', qui sera remplacé par un unique caractère ; et '?' qui sera remplacé par zéro ou un caractère. Lors de la compilation, le éditeur cherchera tous les fichiers vérifiant ces critères, puis il en choisira un parmi eux.

Les propriétés sont regroupées à l'affichage selon le préfixe donné à leurs noms (voir la description du fichier de description d'objet et Tutoriel/Créer un objet), dans une ligne grise. Double-cliquer sur une du ces lignes change la visibilité des propriétés ayant ce préfixe.

Quand une propriété n'est pas renseignée, elle est affichée en italique grisé, avec sa valeur par défaut. Les propriétés devant impérativement être définies par l'utilisateur lors de la création du niveau sont affichées en gras rouge jusqu'à être renseignées, après quoi elles restent en gras.

Un double clic sur une propriété affiche le dialogue d'édition correspondant à son type.

Au dessus de la liste des propriétés est affiché le nom du type de l'objet sélectionné. En cliquant sur le bouton à sa droite, il est possible de modifier le type de l'objet. Les propriétés pouvant être conservées le sont, les autres sont perdues.

En dessous de la liste des propriétes, une case à cocher permet d'indiquer que l'objet est fixe. C'est à dire que sa position et sa taille ne changeront pas durant la partie. À coté de cette case, une zone de texte permet de donner un identifiant à l'objet sélectionné, de manière à pouvoir y faire référence depuis un autre objet. Cet identifiant n'est utilisé que par l'éditeur de niveaux et est inaccessible durant la partie.

Tout en bas de la fenêtre, une courte description de la propriété sélectionnée est affichée. Elle est souvent trop longue pour tenir dans la fenêtre, il suffit alors de laisser le curseur dessus pour l'afficher dans une info-bulle.

Dialogue d'édition de sprite

Dialogue d'édition de sprite.

Un sprite est une partie d'un fichier image. La fenêtre d'édition de sprite est séparée en deux colonnes. La partie de gauche affiche un aperçu de l'image telle qu'elle sera dans le jeu. En dessous sont disposés des boutons pour régler le zoom de l'aperçu, ainsi qu'un bouton Actualiser pour mettre à jour l'aperçu avec les valeurs de la partie droite de la fenêtre.

Dans cette partie droite, puisqu'on en parle, l'utilisateur définit l'image d'origine, la partie de l'image servant pour le sprite, ainsi que quelques paramètres d'affichage. La sélection de l'image source se fait via la boîte de dialogue de sélection d'image, qui s'affiche lorsque l'on clique sur le bouton «  », en bas à droite. Dans le cadre du haut, l'utilisateur choisit le rectangle, dans l'image source, qui servira pour le sprite. Le cadre du milieu permet de paramétrer la taille et l'orientation du sprite. Enfin, dans le cadre du bas, l'utilisateur peut régler l'intensité des composantes rouge, vert et bleu du sprite, ainsi que son opacité.

Si un fichier .spritepos existe pour l'image source, il sera lu et les rectangles qui y sont définis seront accessibles dans la liste déroulante située en haut de la partie droite.

Fenêtre d'édition de niveau

La fenêtre d'édition de niveau

La fenêtre d'édition de niveau permet de placer les éléments tout en ayant un aperçu du résultat qui apparaîtra dans le jeu. L'édition se fait dans un calque à la fois, celui sélectionné dans la liste des calques.

Il suffit de cliquer sur un objet avec le bouton gauche pour le sélectionner. Ses propriétés apparaissent alors dans la liste des propriétés d'un objet. En maintenant le clic et en déplaçant la souris, l'objet se déplace. Les propriétés position.left et position.bottom de base_item sont mises à jour automatiquement.

Des poignées de redimensionnement apparaissent autour de l'objet sélectionné. Il suffit de déplacer une de ces poignées avec un clic gauche maintenu pour changer la taille de l'objet. Les propriétés position.left, position.bottom, size.width et size.height de base_item sont mises à jour automatiquement.

Menu de niveau

Menu de niveau.

Le menu Niveau donne accès à quelques actions sur le niveau, à commencer par les classiques entrées Enregistrer, Enregistrer sous… et Fermer pour enregistrer ou fermer le niveau.

L'entrée Vérifier la validité du niveau recherche des problèmes dans le niveau, pouvant faire échouer son chargement dans le jeu, comme les propriétés requises mais non définies, des identificateurs dupliqués, etc. Les objets présentant des problèmes sont marqués d'une croix dans la fenêtre, jusqu'à être réparés.

Cette vérification est faite automatiquement lorsque l'utilisateur clique sur Compiler le niveau. Mais si la vérification échoue, la compilation est annulée. L'étape de compilation est indispensable pour pouvoir jouer au niveau dans le jeu. Elle transforme le fichier .lvl en fichier .cl que le chargeur de niveau du jeu saura lire.

L'entrée Propriétés permet d'afficher et de modifier la taille et la musique du niveau.

Quelques statistiques à propos du niveau sont affichées via l'entrée Statistiques. Le nombre d'objets par calque est affiché, ainsi qu'une évaluation de la mémoire graphique nécessaire pour les textures utilisées par les sprites.

Menu d'édition

Menu d'édition.

Le menu Édition donne accès à quelques actions sur l'édition du niveau. Les premières entrées sont classiques. La première permet d'annuler la dernière opération effectuée, la seconde refait la dernière action annulée. Les entrées qui suivent concernent la sélection du calque actif.

Les trois entrées suivantes concernent la gestion du presse-papier. La première, Couper copie dans le presse-papier les objets sélectionnés dans le calque actif, puis les supprime du calque. La seconde, Copier fait la même chose sans supprimer les objets sélectionnés. La troisième, Coller, copie le contenu du presse papier vers le calque actif.

L'entrée Supprimer supprime les objets sélectionnés. Les deux suivantes, Tout sélectionner et Enlever la sélection permettent respectivement de sélectionner tous les objets et d'enlever la sélection.

Le sous-menu Aligner permet d'aligner tous les objets sélectionnés par rapport à la sélection principale. L'alignement se fait, à la discrétion de l'utilisateur, selon un coté ou un axe de la sélection principale.

L'entrée Cloner affiche la boîte de dialogue de clonage d'objet. Ce dialogue permet d'effectuer des copies de la sélection, horizontalement et verticalement simultanément. Dans les cadres Horizontal et Vertical, l'utilisateur choisit le nombre de copies et l'espace à laisser entre deux copies. Si la case à cocher Ajouter à la sélection est cochée, les copies sont ajoutées à la sélection. Autrement la sélection reste inchangée.

La dernière entrée du menu, Décaler, affiche la boîte de dialogue de déplacement d'objet, permettant de déplacer les objets sélectionnés d'une certaine distance sur l'axe horizontal et sur l'axe vertical.

Menu d'affichage

Menu d'affichage.

Le menu Affichage affecte l'affichage du niveau.

Le sous menu Grille permet de configurer l'affichage et le comportement de la grille. La première case à cocher, Visible, permet d'afficher ou de masque la grille. La seconde case à cocher, Magnétisme, commande l'activation du magnétisme de la grille. L'entrée Configurer sur la sélection modifie la taille de la grille de façon à ce que son espacement soit égal à la taille de l'objet principal de la sélection et ajuste le décalage de façon à ce que ledit objet occupe une pleine case. La dernière entrée affiche la boîte de dialogue de configuration de la grille. Ce dialogue permet de configurer l'espacement de la grille, son décalage par rapport à l'origine, ainsi que la distance en dessous de laquelle le magnétisme fait effet.

Lorsque le magnétisme est actif, la grille attire l'objet principal de la sélection pendant un déplacement à la souris.

La case à cocher Fil de fer indique l'état d'activation du tracé du contour des objets. La case Graphisme commande le dessin des objets par leurs images. La troisième case, Identificateurs, régit l'affichage des identificateurs des objets. L'option Relation relie les objets dépendants les uns des autres. Enfin, la cinquième case, Arrière-plan lumineux, lorsqu'elle est cochée, force l'utilisation d'un arrière-plan clair en remplacement du noir habituel.

La dernière case à cocher, Vue globale permet d'afficher une fenêtre dans laquelle l'intégralité du niveau est affichée, en se limitant toutefois aux calques ayant la même taille que le niveau. La partie actuellement visible est représentée par un rectangle rouge que l'utilisateur peut déplacer à la souris.

Racourcis

À la souris

Les actions se font principalement avec le bouton gauche. Une pression sur le bouton droit affiche un menu reprenant le contenu de la barre de menu tandis que le bouton du milieu copie les objets sélectionnés.

Un clic gauche sur un objet permet de modifier la sélection sur celui-ci. Si aucun objet n'est trouvé sous le curseur, la sélection devient vide. Si l'utilisateur maintient la touche Ctrl lors du clic, l'objet sélectionné passe de l'état sélectionné à non-sélectionné et vice versa. Si la touche Alt est pressée, une boîte de dialogue apparaît pour permettre de sélectionner un ou plusieurs objets lorsque ceux-ci sont superposés.

Si l'utilisateur clique un dehors de tout objet, il peut, en maintenant le bouton enfoncé, tracer une sélection rectangulaire et sélectionner plusieurs objets simultanément.

En maintenant le bouton gauche sur un objet sélectionné, le déplacement de la souris permet de déplacer les objets sélectionnés. Le maintient de la touche Majuscule pendant le déplacement désactive temporairement le magnétisme de la grille. Si la touche Ctrl est pressée lorsque le bouton de la souris est relâché, le objets sont copiés au lieu d'être déplacés. De plus, si la touche Alt est pressée, les objets résultant de la copie sont ajoutés à la sélection au lieu de la remplacer.

Au clavier

La plupart des actions des menus peuvent être effectuées par un raccourci clavier. Ces raccourcis sont listés ci-dessous.

Affichage :

  • B : active/désactive l'arrière-plan lumineux ;
  • G : active/désactive l'affichage des images des objets ;
  • Alt + G : configure la grille sur la sélection ;
  • Ctrl + G : affiche/masque la grille ;
  • I : active/désactive l'affichage des identificateurs ;
  • Ctrl + M : active/désactive le magnétisme de la grille ;
  • R : active/désactive l'affichage des dépendances entres objets ;
  • V : affiche la fenêtre de vue globale du niveau ;
  • W : active/désactive l'affichage des contours des objets ;
  • Shift + flèche directionnelle : déplace la grille ;

Sélection :

  • Ctrl + A : sélectionne tous les objets ;
  • Ctrl + Shift + A : vide la sélection ;
  • Ctrl + C : copie la sélection vers le presse papier ;
  • Ctrl + V : colle le contenu du presse papier ;
  • Ctrl + X : copie la sélection vers le presse papier puis supprime la sélection ;
  • Ctrl + flèche directionnelle : déplace les objets sélectionnés d'une unité dans la direction demandée ;
  • Supprimer : supprime les objets sélectionnés ;

Édition :

  • Ctrl + Y : restaure la dernière opération annulée ;
  • Ctrl + Z : annule la dernière opération effectuée ;
  • flèche directionnelle : déplace la vue ;
  • page précédente : active le calque situé derrière le calque actif ;
  • page suivante : active le calque situé devant le calque actif ;

Niveau :

  • Ctrl + S : enregistre le niveau ;
  • Ctrl + W : ferme le niveau ;
  • F8 : teste la validité du niveau ;
  • F9 : compile le niveau.

Tutoriels

Outils personnels