Getting Started

Pour utiliser le Shine Engine et son éditeur, vous devez installer les logiciels et packages suivants :

Création d'un nouveau projet

  • Allez dans le dossier bin
  • Exécutez le fichier ShGameEditor.exe
  • Cliquez sur Create project dans la fenêtre Launcher Editor. La fenêtre de création de projet apparaît
  • Indiquez dans les champs correspondant un nom de projet, un répertoire de projet ainsi que les répertoires où vous désirez placer vos ressources (generic) et vos ressources compilées (cooking)
  • Cliquez sur Finish.
  • Répondez oui aux fenêtres qui peuvent s'ouvrir (Création des dossiers project et generic).
  • Votre projet est créé. L'éditeur compile les ressources et se lance.

L'architecture du projet créé

Si vous n'avez renseigné que le nom et le répertoire du projet lors de sa création et que vous avez laissé les autres valeurs être automatiquement générées, le répertoire de votre projet devrait avoir cette forme :

Lancement de l'éditeur

Une fois les ressources du projet compilées, la fenêtre principale du logiciel s'ouvre. Cette fenêtre vous permet de modéliser les levels de votre jeu. Chaque level contient des objets du moteur (Entité 2D, entité 3D, lumière, ...). Pour commencer, nous allons apprendre à créer un level avec une entité 2D à l'intérieur.

Astuce : Pour avoir une vue 2D, placez la caméra en vue du dessus soit en cliquant sur view/camera/Camera Top ou en utilisant le raccourci Ctrl + Maj + Haut.

Image

Ajout de Ruler pour délimiter une zone de rendu

Nous allons commencer la création du level par le placement de quatres objets de type Ruler. Ces objets, dans l'utilisation que nous allons en faire ici, ne serviront que d'aide visuelle. Nous allons placer ces Ruler afin de délimiter la zone de rendu de notre application.

Pour ce faire, sélectionnez l'objet Ruler dans la barre de gauche. Cliquez sur l'icône d'ajout d'objet et cliquer dans la zone de rendu la où vous désirez ajouter le Ruler. Son emplacement actuel n'a pas d'importance puisque nous allons replacer tous les Ruler juste après.

Image

Ajoutez des Ruler jusqu'à en avoir un total de 4. Pour le moment,les 4 Ruler sont dans la même orientation. Nous allons changer l'orientation de deux d'entre eux. Commencez par sélectionner un Ruler. Vous voyez apparaître des informations dans la zone de propriétés.

Modifiez la propriété axis du Ruler à axis_y. Répétez ces actions sur un deuxième Ruler.

Pour le placement des Ruler, nous allons créer une zone de 1280x720 pixels. Pour ce faire, sélectionnez un ruler horizontal et modifiez ses valeurs de position pour obtenir x : 0 - y : 360- z : 0. Ensuite, sélectionnez le second Ruler horizontal et modifiez ses valeurs pour obtenir x : 0 - y : -360 - z : 0.

Ensuite, répétez ces actions sur les Ruler verticaux afin d'obtenir le valeurs suivantes : x : 640 / y : 0 / z : 0 pour l'un et x : -640 / y : 0 / z : 0 pour l'autre.

Image

Ajout d'un sprite dans le projet

Pour ajouter une nouvelle entité 2D dans l'éditeur, commencez par fermer celui-ci. Ensuite, choisissez l'image que vous souhaitez ajouter. Pour qu'elle soit reconnu par l'éditeur, l'image doit être en TGA (type10) avec l'origine en haut à gauche. Pour vous aider, vous pouvez utiliser convert.exe qui se trouve dans le dossier tools de l'éditeur.

Une fois votre image convertie dans le bon format, vous pouvez la déposer dans le dossier Generic/Resources/Sprites. Vous pouvez relancer l'éditeur soit en exécutant ShGameEditor.exe soit en associant le fichier .project à l'exécutable ShGameEditor.exe.

Ajout d'un sprite dans un level

Une fois la fenêtre de l'éditeur affichée, faites un clic droit sur l'icône entity2D, une fenêtre de sélection des entité 2D apparaît. Sélectionnez l'image que vous souhaitez ajouter dans le level. Quittez la fenêtre, cliquez sur l'icône d'ajout d'objet et cliquez dans la zone de rendu la où vous désirez ajouter l'entité.

Image

Sélectionnez l'entité créée dans l'explorateur sur la gauche, appuyez sur F2 pour lancer le renommage de l'objet et renommez le entity2. Placez votre entité en position x : 0 / y : 0 / z : 0. Sauvegardez votre level en cliquant sur File/Save Level/Prefab ou avec le raccourci ctrl + s.

Votre level devrait ressembler à celui de l'image ci-dessous.

Image

Astuce : Pour modifier la couleur d'une entité 2D depuis l'éditeur, modifiez sa couleur depuis la zone de propriétés. Cette modification de couleur applique une addition entre la couleur de base et la couleur choisie.

Nous l'avons vu, dans l'architecture du projet créé se trouve les sources d'un projet vierge avec une extension et un plugin. Ce qui va nous intéresser dans cette section, c'est le plugin. En effet, Shine Engine intègre un système de plugins qu'il est possible d'importer dans des projet. Ces plugins permettent d'exécuter des routines dans les jeux créés mais aussi directement depuis l'éditeur. Il est ainsi possible de tester le gameplay d'un jeu dans l'éditeur, sans recompilation du jeu en entier, uniquement des plugins qui ont été modifiés.

Génération du projet

Pour commencer, il va vous falloir builder le projet. Pour cela allez dans le dossier Build et exécutez le fichier SetupBuild.bat. Double-cliquez sur le fichier project.sln dans le dossier Build. Ceci va ouvrir le projet Visual Studio.

Image Image

Génération du projet

A ce stade, le logiciel Visual Studio démarre et charge une solution contenant le code de votre jeu, le code d'un plugin et d'une extension. Dans le code du jeu et de l'extension, le plugin est déjà intégré ce qui fait que pour l'utiliser dan l'éditeur ou le jeu, il n'y a rien à faire. Ouvrez le fichier plugin.cpp et modifiez comme sur l'image Fichier plugin.cpp modifié pour réaliser une rotation sur un objet.

Image

Ensuite, compilez votre projet. Pour se faire, dans Visual Studio, appuyez sur la touche F7. Remarque : Avant d'exécuter une compilation d'une extension, assurez-vous d'avoir fermé l'éditeur ou d'avoir cliqué sur Release All Extensions. Ceci a pour effet de libérer les fichier de l'extension afin de pouvoir les modifier lors de la compilation. Lorsque la compilation est terminée, vous pouvez relancer l'éditeur ou appuyez sur le bouton Reload Extensions. A ce moment là, l'éditeur à dressé une liste des extensions qu'il peut utiliser. Il faut maintenant activer les extensions voulues. Pour ça, il faut, dans la barre de menu, cliquer sur Project->Extensions.

Image

La fenêtre de l'image d'extensions. Sélectionnez l'extension que vous souhaitez activer, ici elle s'appelle Extension. Dans la partie de droite, cliquez sur le bouton Enable for project. Votre extension est activée.

Image

A ce stade, assurez vous que le level précédemment créé est bien chargé. Pour charger un level, cliquez dans le menu sur File-> Open Level/Prefab ou ctrl + o et double cliquez sur le level que vous souhaitez charger.

Lorsqu'une extension s'active, elle ajoute un certains nombre de plugins dans le moteur. La dernière étape est donc d'activer les plugins que l'on souhaite utiliser dans l'éditeur.

Pour cela, il faut faire un clic droit sur le bouton Play de la barre d'outils. La fenêtre de plugins apparait. Cochez les plugins que vous désirez activer dans l'éditeur. Pour notre exemple, il s'agit d'un plugin example.

Image Bouton Play Image

Fermez la fenêtre des plugins et faite un clic gauche sur le bouton Play. Sauvegardez votre level. Le moteur enregistre les plugins actifs dans un level afin de les ré-activer à chaque chargement des levels. Il est ainsi possible de contrôler finement quels plugins sont actifs dans quels levels.

Dans la solution Visual Studio, ouvrez le fichier Game.cpp. Pour commencer, modifiez la méthode OnPostInitialize comme indiqué dans l'image ci-dessous. Ce code permet de créer une caméra couvrant entièrement la zone définie par les 4 Ruler dans le level et d'ajuster l'affichage à la taille de la fenêtre tout en gardant l'aspect du rendu.

Image

Ensuite, il vous faut enregistrer le plugin que vous souhaitez utilisez et charger le level que vous avez créé. Ajoutez dans la méthode OnPostInitialize le code suivant.

Compilez le code. Un fichier Game.exe vient d'être créé dans le dossier ./Build/src/Game/Debug ou Release>. Selon votre configuration de compilation, le fichier sera dans le dossier Debug ou dans le Release.

Pour exécuter le programme que vous venez de compiler, il faut que celui-ci soit à la racine du dossier où ont été compilées les ressources. Ce dossier se trouve, par rapport au fichier .project, dans la hiérarchie ./cooking/Windows. Copiez/Collez le ficher Game.exe à cet emplacement puis double cliquez dessus pour l'exécuter.

Image

Navigation