Leçon 7 – Billboard

Bonsoir à tous…

Alors ce soir je vais faire cours pour changer.

Cette semaine j’ai fait une petite mise à jour de la section Portfolio de mon site web.
J’ai aussi ajouté des liens vers les blogs de mes amis, je vous invite à aller voir tout ça.

L’image de cette semaine c’est un superbe rendu texturé d’une mémoire vive, tadaaaaa  :D

Rendu ram

Sinon au niveau des cours ça avance vite… on révise en C++ et on se donne à fond sur le projet avec les concepteurs.

Cette semaine j’ai décidé d’ajouter une rubrique sympathique à mes billets : le concept de la semaine et je commence avec le billboard.

Le concept de la semaine : le billboard

Le billboard est une méthode de rendu de sprites dans un environnement 3D.

Il s’agit d’intégrer des éléments 2D dans un environnement 3D en les posant sur un plan qui sera toujours orienté  vers la caméra.

Cette méthode est couramment utilisée afin de diminuer le nombre de polygones utilisés pour modéliser des surfaces complexes (comme le feuillage d’un arbre) ou des éléments du décor.

On peut par la suite empiler les sprites afin de simuler une perspective ou leur ajouter divers effets.

Voici une galerie qui montre comment peuvent être utilisés les billboards.

Les images viennent de la documentation du jeu « Le monde des ronron » que vous pouvez retrouver ici.

Citation de la semaine

Think twice, code once

Merci Carlos pour la citation  :)

Et voilà ce sera tout pour aujourd’hui, je vous souhaite une très bonne nuit et je vous dis à la semaine prochaine.

 

Leçon 6 – En retard

Oups…

J’ai été assez occupé ces derniers temps, je bouclais mes devoirs de vacance…
En effet j’ai programmé un clone de Pac-Man en C en utilisant la librairie graphique SFML.

Pour ce projet j’ai tenté de créer un jeu qui se rapprochait le plus possible de la version originale de Pac-Man 1980.
Le système de comptabilisation des points est en effet identique à l’original et les IA disposent chacune d’une personnalité se rapprochant le plus possible du comportement définis dans le game concept.

Pacman

On retrouve donc Pac-Man, Blinky le fantôme tenace, Pinky le stratège, Inkey le peureux et Clyde le loufoque.

Le plus original dans ce projet est certainement la gestion des déplacements qui ne se basent pas sur un tableau avec des éléments bloquants mais sur un graphe généré à partir d’une image.

Je mettrai à disposition ce jeu très prochainement dans ma page Portfolio donc restez branché !

Je vous souhaite une bonne soirée à tous et à la prochaine.

 

Leçon 5 – Pause café

Hooou j’ai pris du retard pour mon billet hebdomadaire, c’est normal là je suis en congé et j’ai plus de temps pour ne rien faire.

Alors pour faire simple la semaine passée était une semaine tout à fait banale, pas trop de nouveautés, vous l’avez peut-être remarqué j’ai posté mon premier billet sur Shiva, les autres suivront quand j’aurais finis mes devoirs de vacance…

Cette semaine pas de citation, mais une web-série sympa à vous faire découvrir : DRH

Voilà, vous pouvez retrouver tout les épisodes de cette web-série humoristique sur dailymotion évidemment.

En vous souhaitant une bonne semaine, mais pas de bonne vacances car je suppose que pour tout le monde les vacances de toussaint sont déjà passées. Ha oui, pas de billet hebdo le weekend prochain vu que j’ai pas école.

À bientôt.

 

Shiva, une scène pour faire votre show

Bonjour à tous,

Aujourd’hui nous allons découvrir les différents bureaux de Shiva et comment gérer une scène et ses éléments, cela peut paraitre léger mais je vous assure qu’il y à de quoi faire.

Installation

Tout d’abord pour ceux qui ne l’ont toujours pas fait vous devez installer Shiva, vous pouvez télécharger la version gratuite sur cette page, cette version ne permet pas d’exporter vos créations, mais elle intègre tout les éléments nécessaires au développement d’un jeux, et si vous développez un jeu très intéressant vous pourrez toujours vous acheter la version ADVANCED afin de le distribuer.

Les bureaux

Une fois installé et ouvert, vous devriez voir apparaitre un bureau composé de plusieurs éditeurs, par défaut Shiva dispose de 5 bureaux : General, Design, Code, Preview et Animation.

Il s’agit en fait de bureaux contenant des éditeurs et agencé de manière à répondre au besoin d’une tâche spécifique (développement de scripts, gestion des animation ou de la scène et de ses éléments).

Pour changer de bureau, il suffit de cliquer un des onglet en haut à gauche, chaque onglet est identifié par un nom, vous pouvez changer à votre guise le nombre de bureaux et l’agencement de ceux-ci via le menu Bureaux.

Votre premier jeu

Data ExplorerNous sommes à présent sur le bureau principal de Shiva, vous devriez voir quatre éditeurs différents dont le Data Explorer, cet éditeur contient une arborescence des fichiers présents dans votre répertoire de travail.

Vous remarquerez que toute une série de models et de games sont déjà présents, ceci est du au fait que Shiva est installé par défaut avec une série d’exemples.

Lorsque vous développerez votre propre jeu je vous conseille de créer un nouveau répertoire de travail afin d’alléger votre solution finale, pour cela utilisez le menu ‘Shiva » Paramètres’.

Pour l’instant nous travaillerons avec les différents éléments présent dans le répertoire par défaut.

Etape 1 – Créer son propre Game

Pour faire un jeu, il faut un game… cela peut paraitre idiot, mais comme un même répertoire de travail peut contenir différents jeux partageant les mêmes éléments, il est logique de créer son game avant de commencer quoique ce soit.

Pour cela cliquez sur le menu ‘Game » Créer’ dans le Game Editor, donnez lui un nom (‘MyGame’) et voilà vous avez votre game. Vous pouvez constater que maintenant que votre game est chargé : le  Game Editor à changé et dispose d’une série d’onglets, nous n’utiliserons pour l’instant que l’onglet scene du Game Editor.

Une information importante avant de passer à l’étape deux : la notion d’éléments chargés, ou si vous préférez ouverts, actifs.

Si vous allez dans le dossier Games du Data Explorer, vous devriez voir un élément en gras portant le nom ‘MyGame’. Il s’agit du game actif (chargé), c’est à dire celui sur lequel vous travaillez, vous pouvez à tout moment changer le game actif en double cliquant sur un autre game présent dans le Data Explorer.

Etape 2 – Utiliser une scène

Pour pouvoir charger un décor et des éléments il vous faut une scène, autrement dit un espace ou déposer vous éléments afin de les modifier et par la suite les faire interagir.

Nous allons donc utiliser une scène déjà remplie avec quelques éléments, vous avez compris comment charger un élément, donc dans le dossier scene du Data Explorer double cliquez sur la scène appelée ‘SmallScene’.

Depuis l’écriture de cet article la version de Shiva est passé de 1.7 à 1.8, les exemples fournis ont aussi changés, la scène ‘SmallScene’ n’existe plus, vous pouvez utiliser n’importe quelle autre scène.

Charger une sceneEt là c’est le drame, Shiva vous répond qu’il ne peut pas charger une scène qui n’est pas référencée par le game actif.

Mais qu’est ce que ça veut dire ? Tout simplement que votre game ne connait pas la scène que vous essayez de charger, il faut donc l’ajouter à la liste de l’onglet scene du Game Editor.

Pour cela vous pouvez soit le faire via le menu ‘Editer » Scene » Ajouter‘ du Game Editor, soit en glissant votre scène depuis le Data Explorer jusque dans la liste de l’onglet scene du Game Editor.

La première solution ajoute votre scène à la liste et la charge, vous devriez donc la voir apparaitre dans le Scene Viewer; La seconde solution l’ajoute bien à la liste mais ne la charge pas, pour cela il vous suffit toujours de double cliquer sur le nom de votre scène.

Voilà, vous savez à présent comment utiliser une scène existante, pour en créer une vide vous pouvez toujours utiliser le menu ‘Editer » Scene » Créer‘ du Game Editor ou le menu ‘Créer » Scene’ du Data Explorer.

Vous constaterez en utilisant Shiva qu’il existe de nombreux menus dans les différents éditeurs pour faire exactement la même action, nous soyez pas surpris les développeurs sont comme ça…

Etape 3 – Naviguer dans la scène

Avant de pouvoir modifier des éléments, il va falloir apprendre à naviguer dans votre scène, pour cela rien de plus simple : vous utiliserez votre souris et votre clavier.

Vous devrez apprendre les trois combinaisons qui vont vous permettre de naviguer dans le Scene Viewer :

  • alt+bouton gauche de la souris : une rotation du monde
  • alt+bouton droit de la souris : un zoom
  • alt+bouton central : une translation du monde

Comme vous pouvez le voir le curseur prend une forme différente pour chaque action.

Etape 4 – Modifier les éléments

Nous avons a présent passé au crible presque tout les éditeurs présents sur l’onglet General, je vais m’attarder un peu plus sur le Scene Viewer qui est un éditeur qui revient de manière récurrente dans les différents onglets.

C’est l’élément central de notre jeu, qui va nous permettre, grâce à son menu, de modifier les éléments.

Voyons plus en détail les éléments importants de ce menu, on trouve en premier les quatre sélecteurs qui permettent de modifier une instance d’un model présent sur la scène en effectuant des rotations, des translations ou en la redimensionnant.

Lorsque vous changez de sélecteur et que vous sélectionnez une instance, vous voyez apparaitre trois axes (un vert, un bleu et un rouge) sur le point de pivot de votre instance, vous pouvez alors sélectionnez un de ces axes pour effectuer une translation, une rotation ou un redimensionnement sur ce même axe en fonction du sélecteur choisi.

Petit point particulier pour le redimensionnement : un carré noir apparait sur le point de pivot, si vous le sélectionnez, vous pourrez effectuer un redimensionnement proportionnel sur tout les axes en même temps.

Une fois sélectionnée, la modification des attributs d’une instance peut se faire directement depuis l’Attributes Editor. Vous pourrez entre autre modifier sa taille, sa position ou sa rotation directement en entrant des angles ou des coordonnées précises.

Dans le Scene Viewer, d’autres boutons permettent de modifier la vue, pour afficher votre scène en mode Fil de fer ou Gris, ce qui consomme moins de ressources si vous avez de nombreux éléments à afficher ou une petite carte graphique.

Vous trouverez encore plein d’autres choses que je vous laisse découvrir dans le menu du Scene Viewer.

Voilà, maintenant vous savez créer un game, lui associer une scène et modifier les éléments, la prochaine fois nous verrons plus en détail le deuxième onglet qui va nous permettre de faire du design avancé…

J’espère que ce billet vous a plu, je vous dis à la prochaine et n’hésitez pas à poser vos questions.

 

Leçon 4 – Halloween

Bonsoir le monde,

Cette semaine, pas de grand billet, juste quelques captures d’écran sur l’avancée du projet ‘Bird Race‘.

J’ai développé un système de contrôle du personnage principal et une caméra à la 3ème personne.

J’ai intégré le tout dans une scène de test avec différents éléments créée pour l’occasion par les gentils concepteurs 3D.

Voilou, si vous avez des commentaires ou si vous voulez plus d’information sur l’avancée du projet Bird Race n’hésitez pas à répondre à ce billet.

Citation de la semaine

Les vrais informaticiens confondent toujours Halloween et Noël car pour eux : Oct 31 = Dec 25.

Bonne soirée et à bientôt.

 

Leçon 3 – Variable

Bonsoir à tous,

Encore une semaine d’écoulée… assez calme si je puis dire.

Les cours

Ça va vite, pour la programmation nous sommes déjà en train de voir les fichiers plats, binaires et indexés.

On à aussi reçu de brèves notions de gestion de projet, pour notre projet nous devrons appliquer plusieurs méthodes Agiles : XP, Scrum, etc…

Pas trop de nouvelles informations sur Shiva, les billets dont je vous parlais la semaine passée sont déjà écrits mais j’attends un peu avant de les poster afin d’avoir plus d’informations sur certains points et afin d’homogénéiser le tout.

Pour le grand projet de course, je travaille actuellement sur le contrôle du personnage et sur la gestion de la caméra, j’ai réussi à faire une super caméra, vive la 3D, les vecteurs et les mathématiques appliquées… ou pas.

Citation de la semaine

La météo est une science qui permet de connaître le temps qu’il aurait dû faire.

Et oui, cette semaine on à eu droit à un temps de m**de… vive la saison des crues !

Je vous laisse et je vous dit à bientôt.

 

Présentation de Shiva

Qu’est-ce que c’est ?

Shiva logoShiva est un middleware de création de contenu 3D en temps réel développé par StoneTrip.
Ce logiciel se veut tout-en-un et simple d’utilisation, il intègre plusieurs éditeurs destinés aux différents acteurs participants à la création d’un jeu vidéo.

On y trouvera parmi les 14 éditeurs, des éditeur pour :

  • les terrains
  • les animations
  • les scripts
  • ou encore les HUD

Portabilité

En plus d’être simple et complet Shiva peut se féliciter d’être multiplateforme.
Grâce à son player compatible avec Windows, Mac ou Linux, il est aisé de créer des applications qui tournent sur pc, mobiles, consoles ou encore directement sur votre navigateur web.
La méthode utilisée pour publier une application sur le web est très simple : une application Shiva est représentée par un fichier .stk, ce fichier est lu par le player directement depuis votre serveur ou depuis un serveur distant. Cette technique présente de nombreux avantages, elle permet par exemple de mettre à jour votre application de manière transparente simplement en modifiant le fichier .stk présent sur votre serveur.

Shiva s’impose donc comme une solution générique permettant de développer facilement des applications 3D ou de petit jeux vidéos, facilement exportables pour diverses plateformes. Il reste néanmoins limité et ne permettra pas le développement de grand jeux-vidéos comme Assassin Creed, mais il intègre tout de même de nombreuses fonctionnalités.

Les plus

Shiva intègre un moteur 3D puissant qui permet d’appliquer de nombreux effets de pré et de post-rendu.
On peut citer entre autre :

  • Gestion des effets de flou, de déformation ou encore de l’effet Fresnel
  • La gestion des ombres et des normal-maps
  • Mise en place de végétation ou d’étendues d’eau infinies
  • Rendus monochromes ou cel-shaded

Du coté de la physique, Shiva intègre aussi un puissant moteur : ODE. Il permet entre autre la gestion des collisions, de la physique ragdoll ou encore des joints moteur.

Pour le reste, Shiva gère l’import de fichiers Collada au niveau de l’animation et utilise le langage LUA pour le scritpting.

Vous en savez dès à présent plus sur Shiva, la prochaine fois nous entrerons en détail dans l’éditeur de terrains et l’éditeur de scripts.

À la prochaine ;-)

 

Leçon 2 – Dormir

Bonsoir à tous,

C’est fou comme le temps passe vite encore une semaine écoulée au sein de créajeux.
Voici un petit billet pour vous raconter ce qu’il s’est passé.

Les cours

Toujours en pleine révision, pour la programmation nous avons revu les fonctions et les pointeurs, de notions indispensables pour la programmation en C mais en soit rien de très difficile.

Par contre j’ai toujours beaucoup d’exercices à faire, d’ailleurs si quelqu’un peut me dire comment calculer le déterminant d’une matrice je lui en serai extrêmement reconnaissant.

Dans la rubrique développement de jeux-vidéos le cours de projet de cette semaine s’est avéré extrêmement enrichissant, une série de billets concernant Shiva devront débarquer très bientôt…  ;-)

Citation de la semaine

Boire du café empêche de dormir. Par contre, dormir empêche de boire du café.

Ce sera tout pour le moment, vous pouvez dès à présent reprendre une activité normale.

Bonne soirée.

 

Interlude… 3D

Et voici pour les chanceux qui lisent mon blog, ma création 3D de la semaine…

billard

Un bon point à celui qui me dit ce que c’est…

 

Vos Models SketchUp en Collada

SketchUp est LE logiciel de 3D de google.

De nombreux Models créés avec ce logiciel sont disponibles sur leur banque d’image. Comme par exemples des Models sur le thème des Star Wars, entre autres…
Seul bémol, la version gratuite de SketchUp ne permet pas d’exporter ces Models au format Collada1.

Voici un petit trick pour les exporter dans un format exploitable par la plupart des moteurs 3D sans se prendre la tête.

  • Ouvrez votre Model dans Sketchup et sélectionnez le menu Fichier » Exporter » Modèle 3D.

SketchUpExport

  • Renommez le fichier obtenu en .zip et ouvrez le, vous y trouverez plusieurs dossiers dont le dossier Model qui contient le fichier Collada (.dae) tant convoité.

Et voilou, vous savez comment utiliser les Models de Google pour vos intégrations sans vous prendre la tête.

1Définition du format Collada (Wikipedia)