Dernier message
Portrait de Truelle
Inscrit le : 04/01/2016
Commentaires : 21
Messages : 16
#1
Message Sujet: [Scrap Mechanic] Editeur de sauvegarde     19/04/2016 à 01:19

Bonjour à tous,

Présentation

Tout d'abord, moi c'est Truelle, comme vous l'avez deviné. Je suis développeur passionné et professionnel. Je suis aussi gamer et ces deux passions se marient parfaitement. C'est de cette façon que j'aime créer des outils pour des jeux et dans ce cas présent, pour Scrap Mechanic !

Introduction

Pour faciliter certaines opérations et pour compenser des features absentes dans Scrap Mechanic, j'ai décidé de me pencher sur un éditeur de sauvegarde. Toutes ces actions sont à effectuer de façon "déconnectée", quand on ne joue pas, il n'est pas possible de les réaliser pendant que le jeu tourne.
Actuellement les possibilités sont nombreuses mais il est difficile de savoir si les développeurs ne vont pas trouver un moyen de rendre inefficaces ce genre de modifications une fois que le mode Survie sera sorti.

Fonctionnalités & Idées

A l'heure de création de ce post, quelques fonctionnalités sont déjà bien implémentées, même si j'ai pas mal d'idées pour les améliorer davantage. Je vais les détailler maintenant.

Constructions

IMAGE(http://puu.sh/onq4I/0a75ccf564.jpg)

Cet écran permet de lister tous éléments physiques de la map et de changer leurs propriétés. Pour l'instant, diviser en deux parties, les ensembles (body) et les éléments (shape). Par simplicité, je vais nommer ces termes par leur équivalent en anglais.

Les bodies c'est quoi ? En fait ça représente un ensemble de shapes, c'est-à-dire un groupe d'éléments solidaires. Par exemple, une voiture composée d'un chassis et de quatre roues représente 5 bodies si les roues sont liées avec des pivots (bearing) ou 1 seul body sans pivot. Pour faire simple, si deux éléments se déplacent indépendamment, il y a 2 body.

La principale utilité ici c'est de pouvoir déplacer le body à la position souhaitée.

Et les shapes ? Pour les blocs, il s'agit d'un pavé droit sinon ce sont tous les objets du jeu, à quelques exceptions près (comme les pivots ou les suspensions). Chaque shape a une couleur unique, donc physiquement, un pavé droit de deux couleurs différentes est composé réellement de deux shapes.

C'est la partie la plus intéressante pour la personnalisation, il est possible :
- Pour les blocs : de modifier leurs dimensions (longueur, largeur, hauteur), de changer le type de bloc
- Pour les objets : de modifier la puissance (engine/thruster), changer l'état d'un switch etc...

Dans les deux cas, il est possible de changer la couleur sans être limité par celles du jeu.
On peut aussi modifier leur position car oui, au sein d'un même body, les shapes ont une position relative à ce dernier. Cependant ça reste très expérimental, le comportement de cette information différe pas mal en fonction des objets.

Spoiler :
Personnage

IMAGE(http://puu.sh/onq6X/a192091468.jpg)

Le véritable intérêt ici et non loin le plus inutile, c'est de pouvoir "téléporter" le personnage. Quand on commence à avoir des constructions vraiment imposantes, surtout celles situées dans les cieux, il est fastidieux de devoir faire des aller retours via un vaisseau ou un ascenseur.

Dans un premier temps, il est possible de créer des "waypoints", des points de passage nommés pour y revenir à volonté. Il suffit de se déconnecter à l'endroit voulu puis d'enregistrer la position actuelle. On aura donc la possibilité de gérer ses waypoints par maps. Il faudra toutefois faire attention que suivant l'évolution de la map, il est possible qu'un ancien waypoint vous fasse apparaître au milieu d'un shape...
Il n'est pas possible de modifier ses coordonnées directement pour l'instant mais c'est prévu.

Dans un second temps, je pensais afficher l'inventaire du perso, mais je vous avoue qu'en mode Creative, ca a pas un super intérêt, bien qu'on ait aussi la possibilité de changer les éléments de la barre d'action. Eventuellement dans une future fonctionnalité de création de save sans passer par le jeu, afin d'avoir une barre d'action personnalisée, rien d'urgent en tout cas.

Paramètres de partie

Cette section affichera les paramètres de la map que l'on définit lors de sa création. Ceux-ci ne sont pas éditables normalement par la suite donc il sera intéressant de le faire de cette façon, comme changer la limite du nombre de joueurs.

Prefabs

IMAGE(http://puu.sh/oCLAf/7191eb0e6b.jpg)

Alors là, c'est LA fonctionnalité que tout le monde aimerait avoir dans le jeu. Oui, exporter/importer ses créations !

Le fonctionnement est simple : l'idée est d'exporter tout ce qui se trouve sur la map pour y injecter dans une autre map à la position spécifiée. Il est important donc de faire son oeuvre sur une map vierge (Flat si possible).

Grâce à ça, vous pourriez partager vos créations sans pour autant que les joueurs soient tributaires de votre map. Autre idée, rassembler les véhicules de plusieurs joueurs sur un serveur pour ensuite faire une course ! Ca permettrais aux joueurs de faire leur véhicule chacun de leur coté.

Pour plusieurs raisons, ce système est long et complexe à développer car ça demande des connaissances de chaque objet du jeu, je vous passe les détails. C'est loin d'être terminé, c'est même tout l'inverse mais il est toutefois possible d'exporter/importer des blocs ! C'est pas un vaisseau de la mort qui tue, mais c'est un début.

Spoiler :
MagicaVoxel

IMAGE(http://puu.sh/onqfT/af6f8740d0.jpg)

Pour tous les artistes de MagicaVoxel qui ont toujours voulu voir leur créations prendre vie, il est possible de les importer directement dans Scrap Mechanic !
Le Ctrl+Z ça nous manque, le copier/coller aussi, pourquoi donc ne pas passer par MagicaVoxel ?

Une fois la scène chargée, on peut l'agrandir, la placer à la position voulue, mais surtout, attribuer des blocs différents en fonction des couleurs utilisées. Et en bonus, un aperçu en live pour voir les modifications.
D'ailleurs, concernant l'aperçu, il ne s'agit juste d'une vue de dessus. J'ai pas mal d'idées pour donner la possibilité d'afficher la vue de la structure suivant différents axes mais je doute pouvoir l'afficher en 3D, à voir plus tard.

Idées en vrac

J'aimerai bien faire un onglet Map, pour avoir une vue d'ensemble de toutes les constructions, en tout cas tout ce qui est représenté par des blocs. On pourrait s'en servir pour placer des waypoints sans passer par le jeu et sans le faire "au pif" (ce qui est stupide).

Autres informations

Avant que l'on me le demande, cet outil est en développement. J'ai aucune version à vous proposer, même si en soi elle est fonctionnelle, elle n'est pas prête à être distribuée. J'ai aucune date d'estimation non plus, comme dirait At0mium, je fais ça "à la cool", je n'ai pas envie de me mettre de la pression.

Notez aussi que les screenshots que vous pourrez apercevoir ne représentent peut-être pas l'aspect définitif de l'application.

Si vous avez des idées, sachez que pour l'instant je vais me concentrer sur celles que j'ai déjà mais n'hésitez pas tout de même à en proposer, en fonction, je pourrais peut-être les intégrer au fur et à mesure.

J'essaierai d'alimenter ce topic avec des notes de dev concernant l'avancement de ce projet. Je mettrais aussi à jour ce post.

Merci d'avoir pris connaissance de ce projet et vous remercie par avance de l'attention que vous y porterez Content