Maniaplanet 4 Preview #3 – Editeurs

Cette semaine, l’article fait la part belle aux nouvelles possibilités de création pour les joueurs. Maniplanet 4 apportera de nouveaux outils et des améliorations notables sur certains outils existants. Ainsi, les créateurs pourront créer et enrichir leurs propres jeux plus facilement et avec moins de connaissances techniques.

Au programme : les modules, les éditeurs et les plugins, les title makers, le Manialink, le Maniascript et la documentation.

Les Modules

Maniaplanet 4 introduira la notion de Modules. Il faut considérer les Modules comme des “super librairies”, permettant d’ajouter des fonctionnalités aux modes de jeux, aux éditeurs et aux manialinks de manière très simple.

Exemple de module : la boutique de compétences

Il sera possible d’ajouter une boutique de compétences dans un mode de jeu. Pour ce faire, le créateur du mode devra y renseigner les compétences à vendre et leurs prix d’achat. Puis, il devra à l’aide du script gérer la liaison entre l’acte d’achat du joueur et la boutique. Ensuite, la boutique gérera automatiquement les répercussions sur le joueur ainsi que sur son interface de jeu sans que le créateur repasse par le script.

skill_store

D’autres types de modules seront disponibles, comme un tableau des scores personnalisable, un inventaire ou encore des menus pour les manialinks.

scoretable

L’éditeur d’éditeurs

La nouvelle mise à jour de Maniaplanet inaugurera l’Editeur d’éditeurs, permettant de créer ses propres éditeurs pour Maniaplanet.

Un éditeur doit se baser sur un moteur d’édition existant (exemple: Map Editor, Item Editor, etc…) et utiliser un ou plusieurs plugins pour en piloter le comportement.

L’éditeur d’éditeurs permet de créer des variations d’éditeurs existants.

Exemple 1 :
L’éditeur de maps de Trackmania Turbo est une variation de l’éditeur de maps de Trackmania².

Exemple 2 :
Le nouvel éditeur de mesh (permettant de créer des objets 3D directement dans Maniaplanet), pourra servir de base pour créer un éditeur de voxels :

De plus il existe un nouveau “Pixel Editor” basé sur l’éditeur 2D, qui vous permettra de faire des blasons ou des calques pour les voitures par exemple.

editor_pixel-editor

Les Title Makers

Les Title Makers sont de nouveaux types de titres que les joueurs pourront créer. Ces titres permettront alors à d’autres utilisateurs de créer plus simplement des titres à partir de ceux-ci.

Par exemple, il serait possible de faire un titre “Invasion Maker” qui permettrait de facilement créer plusieurs titres Invasion par différents auteurs, en faisant varier le contenu comme la campagne, les items de l’éditeur de maps ou d’autres éléments de style comme les menus.

Avec la sortie de Maniaplanet 4, tous les environnements Trackmania², dont Lagoon, seront basés sur le Title Maker Trackmania² que nous fournirons à titre d’exemple.

Le Manialink passe en version 3

Deux modifications majeures du Manialink sont à noter. Premièrement l’axe “z” de “pos” (anciennement “posn” qui est désormais déprécié) a été supprimé pour être remplacé par l’attribut “z-index”. Ce changement est important puisque la gestion de la profondeur a été grandement modifiée.

mp4_z-index

<frame id="BG" pos="0 0" z-index="0">
     <quad id="RED" pos="-43 -4" z-index="1" bgcolor="FD0000FF"/>
     <quad id="BLUE" pos="-29 7" z-index="2" bgcolor="0013FDFF"/>
</frame>
<frame id="MIDDLE" pos="0 0" z-index="1">
     <quad id="GREEN" pos="7 -7" z-index="-99" bgcolor="20FD00FF"/>
     <quad id="WHITE" pos="0 0" z-index="99" bgcolor="FFFFFFFF"/>
</frame>

<label id="TEXT" pos="-32 2" z-index="2" text="MyText" textsize="60" textcolor="000" size="14 3"/>

Dans cet exemple apparaîtront, du plus visible au moins visible : TEXT, WHITE, GREEN, BLUE et RED.

En effet : au niveau racine du manialink nous avons 3 contrôles : TEXT avec un z-index de 2, MIDDLE avec un z-index de 1 et BG avec un z-index de 0. TEXT passe devant, puis on a tout le contenu de MIDDLE, et enfin tout le contenu de BG.

Globalement, cette fonctionnalité permet de ne plus devoir additionner les z des frames parentes pour pouvoir ordonner ses contrôles. Elle force aussi à plus de rigueur dans la formation des frames et le regroupement des contrôles.

Le deuxième changement majeur est le nouvel attribut “scriptaction”, qui permet de remonter directement (sans devoir passer par le ManiaScript du Manialink) les événements d’un contrôleur à la ManiaApp, ce qui sera utile pour les plugins, les modules et les éditeurs.

D’autres changements ont été effectués comme par exemple posn et sizen qui sont devenus dépréciés pour préférer pos et size, le clipping des frames avec size et align ou encore pincorners qui permet de mettre en perspective les quads.

Le ManiaScript

L’éditeur de script en jeu profitera de quelques améliorations comme le support de l’autocomplétion. Cette autocomplétion permet de compléter l’écriture de votre code, automatiquement en cherchant l’entrée adéquate dans les API, les fonctions des librairies et les mots-clés.

Si vous tapez “MyPlayer.”, la liste montrera tous les membres de la classe correspondante ainsi que les fonctions et tous les autres membres en relation. Il suffira d’appuyer sur ctrl+espace pour invoquer l’autocomplétion. De plus les suggestions d’autocomplétion seront contextuelles : si vous commencez à écrire “declare”, les suggestions seront les types ou les classes.

Outil de performance

L’outil de performance du script vous permettra de connaître :

  • le nombre d’instructions qui ont été exécutées par le script sélectionné,
  • la consommation de la mémoire,
  • le nombre de layers pour les scripts ayant une interface graphique.

Les scripts consommant beaucoup de mémoire apparaîtront en bleu dans le débugger.

Pour surveiller les performances plus finement, un nouvel outil existe sous la forme de fonctions : tuningstart() et tuningend(). Toutes les instructions entre ces deux fonctions seront monitorées et les données pourront être extraites sous la forme d’un rapport permettant de voir chaque ligne de code avec sa durée de traitement.

Tuning

Le debugger lui-même a été amélioré pour afficher de manière plus explicite les erreurs ou les points pouvant poser problème. Si le script rencontre un problème d’exécution bloquant, le débugger affichera la pile d’erreur complète même si une des erreurs si situe dans une librairie et non dans le ManiaScript.

Pour finir, plusieurs améliorations dont la durée d’exécution et de compilation du script ont été faites, ce qui peut rendre les chargements plus rapide.

Refonte de la Documentation

Et pour vous accompagner dans tous ces changements, la documentation Maniaplanet a été une nouvelle fois entièrement revue, dans son design et dans son organisation.

A bientôt pour la prochaine preview de Maniaplanet 4!