| Durant la conception de ce reboot, nous ne voulions pas à vouloir se dire au bout de 2 mois :
- "Putain c'est le bordel pour ajouter un truc là, je suis paumé dans le code".
La réponse a été très vite choisie :
- "Bah, on a qu'à faire un RPG Maker dédié à notre Mario RPG sans les limitations de RM".
Et le résultat fût sans appel, 1 mois après avoir développé le moteur du jeu avec son éditeur à côté, est né le Soul Editor :
Fenêtre principale.
Bien que moche dans son interface, ce petit logiciel nous offre un gain de temps énorme dans le développement du jeu.
Plus des trois quarts du jeu sont contrôlés par cet éditeur qui permet de créer des actions.
Qu'est-ce qu'une action ?
Je ne vois pas quel autre terme employer, ce dernier étant déjà très littéral et explicite.
Le jeu fonctionne de la manière suivant :
- Une map est créée via Tiled Map Editor.
- Une map peut contenir un objet ayant le type "event" (cela correspond à un attribut XML).
- Un event peut lui-même contenir de nombreuses actions, c'est-à-dire des informations qui vont déclencher diverses choses in-game, comme des messages, des déplacements de personnages (dîtes entités), pouvoir contrôler la caméra, générer et modeler des images externes, des effets spéciaux, ...
Une action exécute un comportement (tout comme dans RPG Maker).
La liste des actions disponibles.
Je ne pense avoir besoin de m'expliquer en détails par ici.
Je me répète, le but a été de reprendre ce que faisait très bien RPG Maker, mais selon nos besoins exactes, et sans les limitations techniques de ce dernier (ou du moins du 2003, étant le seul que j'ai énormément utilisé).
Un exemple d'action, le Special Effect.
Comment décidons-nous des actions à ajouter ?
Sur le tas.
On veut faire un truc spécifique dans le jeu, on se demande déjà "est-ce que ce n'est pas possible en exploitant de manière intelligente ce qui existe déjà ?", et là deux possibilités s'ouvrent à nous :
- Non, alors on code la fonctionnalité pour répondre à nos besoins.
- Oui, mais c'est un peu fastidieux ou alors pas très pratique car ça prend trop d'actions. Alors on code la fonctionnalité pour répondre à nos besoins et gagner du temps sur le long terme.
Cet éditeur a été développé sous Fusion 2.5, choix que désormais je regrette, Fusion en question étant très instable et ayant une logique d'exécution, différente, mais parfois vraiment étrange.
Je souhaiterai fortement le refaire en C# avec du .NET et WPF, mais l'éditeur est aujourd'hui très avancé, il est fonctionnel, possède quelques rares bugs qui se manifestent, mais jamais rien de grave.
Donc à partir du moment où le bazar fait son travail, je ne vais pas reperdre plusieurs mois à déveloper le même outil dans un soucis de propreté et stabilité.
La stabilité c'est hyper important, mais vu que c'est un logiciel destiné en interne, et aucunement au public, tant que ça fait ce qu'on veut, ça nous va (mais ce n'est pas une bonne pratique les enfents, ne faites pas comme nous, si je balance de telles paroles au boulot je suis viré direct ).
Pour terminer, le fonctionnement du jeu est le suivant :
- Le moteur du jeu, qui sert à absolument tout faire, c'est le jeu quoi.
- Tiled Map Editor, éditeur de maps open-source (pas fait par nous) qui nous permet :
- De générer nos maps d'un point de vue visuel, avec gestion des layers, qui seront affichées dans le moteur du jeu.
- De créer des objets/instances avec des propriétés illimités, que nous définissons, afin de pouvoir créer des objets interactifs dans le moteur du jeu (blocks, ennemis, events, pnj, teleportations, ...).
- Soul Editor, expliqué précédemment, pour gérer toute la partie "action" du jeu, donc principalement la mise en scène du jeu.
Ces 3 outils sont complémentaires et indispensables pour le développement.
|