CraftStudio
Présentation
CraftStudio est un outil auteur permettant de réaliser des jeux de plateforme 2D et 3D. Il a pour particularité d’être en ligne, permettant de la réalisation coopérative en temps réel. Une autre particularité est que les modèles 3D créées sur CraftStudio sont compatibles avec MineCraft.
L’outil permet de créer deux types de projet :
- Les projets jeux, auxquels un ou plusieurs joueurs peuvent participer, interagir et progresser.
- Les projets films, qui sont principalement non-interactifs avec cependant, la possibilité de bouger la caméra ou orienter l’histoire par des choix.
Installation
L’installation de CraftStudio est réalisée grâce à un exécutable téléchargeable sur le site de l’éditeur. Cet outil auteur est en partie gratuit, mais pour une utilisation optimum et pour pouvoir profiter de toutes les fonctionnalités, il faut acheter une licence. CraftStudio fonctionne sur Win-dows, Mac et Linux [1].
- Windows (XP ou plus récente)
- Mac OS X (10.5 ou plus récente)
- Linux (Ubuntu / Debian).
Utilisation
Rejoindre ou créer un projet
CraftStudio étant construit comme une plateforme en ligne pour développement de jeu collabora-tif, il est possible de créer son propre projet ou de rejoindre un projet déjà existant. À noter qu’un projet n’est pas nécessairement collaboratif, c’est au bon vouloir de son créateur.
Structure d’un projet
Un projet est construit comme une structure composée d’unités, ayant chacunes leur caractéris-tique :
- Modèle : Des unités composées de blocs qui seront par exemple, les personnages, les ennemis, certains éléments de décors.
- Map : Ce sont des unités décoratives avec interactions possibles, par exemple back-ground, la map en elle-même.
- Camera : Objets définissant ou se placera la vision du joueur dans l’espace.
- Sons : Possibilité d’importer des sons sous forme OGG et PCM.
- Polices : Ce sont des sets de caractères qui peuvent être créés à l’intérieur de CraftStudio (selon le même principe que les objets)
- Scripts : Ils permettent de donner un comportement aux objets, ils peuvent être programmés sous forme de scripting visuel ou sous forme de ligne de code (langage Lua).
- Scène : Ensemble composé des objets, maps, caméra ou d’autres scènes.
- Documents : objets de texte permettant la documentation du projet par exemple
Dans l’administration du projet, il possible de paramétrer :
- les contrôles du jeu (bouton et/ou souris)
- le nom du projet
- le type de projet
- la scène initiale lors de l’exécution du projet
Modèle
La modélisation d’un objet se passe en 3 phases, qui peuvent apparaitre de manière séquentielle ou parallèle.
- Création d’un objet à partir de cubes. La taille (x,y,z) de chaque cube, son orientation et sa position dans l’espace peuvent être modifiées.
- Décoration de l’objet, sous forme développée (aplatis). Possibilité de copier/coller des images depuis l’extérieur de CraftStudio. Gère la transparence.
- Animation de l’objet. Il est possible d’animer l’objet en modifiant la position des cubes. Le système pourra alors réaliser une interpolation entre une position 1 et une position 2, afin que chaque mouvement ne soit pas décomposé en image par image.
Scripting
CraftStudio offre deux possibilités de scripting : Visuel et sous forme de code.
Scripting visuel
Il y a plusieurs moyens d’amorcer une procédure / comportement scripté :
- Lors du réveil du comportement
- 60 fois par seconde
- Lors de la mise à jour
- A la réception d’un message
L’objet « self » visible sur l’image ci-dessus, représente tout objet auquel le comportement est assigné. Il est donc possible de travailler avec cette variable et assigner le même comportement à plusieurs objets (scènes, modèles, map, etc..).
Une fois le type de lancement de procédure choisi pour le comportement, l’outil de scripting vi-suel offre tout un panel de fonction standard de programmation (tests if, boucles, opération de bases, opération mathématiques) et des fonctions propres à un environnement 3D (position de l’objet dans l’espace, déplacement de l’objet par exemple).
Il est possible de créer des variables pouvant contenir diverses informations, allant du booléen jusqu’à une scène. Il est donc possible, dans le cas de variables « objet », d’accéder à des propriétés de l’objet.
Par exemple : self.score est une variable/propriété de l’objet self, pré-construite, permettant de stocké un score.
Dans le même ordre d’idée, il est possible de travailler avec les « child » (enfant) et « parent » d’un objet. Ceci peut permettre par exemple, d’effectuer des tests sur tous les objets présents dans une scène.
Très utile au sein d’un environnement 3D, il est possible de travailler avec des vecteurs (x,y,z). Ces derniers permettent de modifier la position d’un objet dans l’espace, la distance entre deux objets dans l’espace. Ceci permet également de gérer les collisions entre les objets.
La gestion des évènements (souris/clavier) peut être réalisée via ces comportements scriptés, pour autant que les commandes aient été créées dans la zone d’administration du projet (voir structure d’un projet). La gestion des sons peut aussi être réalisée au sein de ces procédures.
Enfin, une fonction qui peut s’avérer salvatrice pour le debug du script, la fonction « print ». Cette dernière permet d’afficher des informations dans l’écran de rapport d’exécution lors des phases de tests.
Importation/Exportation d'éléments de jeu
Il existe aussi la possibilité d'importer et d'exporter des éléments dans craftstudio. Pour cela, il faut se rendre dans la partie administration (voir le point 3.2) et dans l'onglet (Export/Import). Ceci permet par exemple d'importer des scripts, des skins, des tiles et tous les éléments disponibles dans le jeu. Cependant, il faut être administrateur afin de pouvoir exporter des éléments. Ceci est extrêmement pratique afin de ne pas devoir commencer depuis le début malheureusement comme il faut être administrateur, cela limite grandement l'aspect collaboratif qu'est censé avoir la plateforme.
Exportation du jeu
Pour exporter le jeu, il suffit de cliquer sur le bouton Export (voir image) sur la page principale du projet. Ceci va permettre de générer une archive .ZIP comprenant tout le matériel nécessaire pour le jeu (exécutable + autres fichiers requis pour une exécution).
Les joueurs n’ont pas besoin d’avoir installé CraftStudio sur leur machine pour pouvoir y jouer. Cependant il y a deux softwares prérequis [2]:
- Sur Windows : Microsoft XNA Framework Redistributable
- Sur Mac OS X : Runtime Mono
Raccourcis
Sur mac il est possible de faire des cmd+c et cmd+v entre les différents éléments par contre cette option est possible PC.
Raccourcis Mac
cmd+d = permet de dupliquer les ligne de code en lua visuel. fn+delete= permet de supprimer les codes à doublons wsad = permet de s'orienter dans l'espace bouton du milieu souris = permet de changer les angles de vue (nécessite une souris, car ne marche pas avec le trackpad)