Créez des obstacles dynamiques

title

Dans un précédent tutoriel, nous avons vu comment mettre en place la recherche de chemin (pathfinding) via le NavMesh. Ce système fonctionne parfaitement à une exception près : le NavMesh est statique. Il est généré depuis l’éditeur et ne changera plus du tout par la suite. Si ce détail peut paraître anodin, il ne l’est pas du tout en réalité.

Mais alors comment faire pour avoir des obstacles dynamiques comme par exemple une porte qui s’ouvre, un pont qui s’abaisse, ou encore… un très gros personnage qui bouche le passage ?

Lire la suite »

Le Prefab, votre futur meilleur ami

banner

Dans le jeu vidéo, comme dans d’autres domaines informatiques d’ailleurs, certains éléments sont récurrents. C’est à dire que vous allez les retrouver plusieurs fois à des endroits différents. Mais ces éléments doivent avoir le même comportement de partout. Corollaire : on aimerait pouvoir modifier ce comportement une seule fois et qu’il soit répercuté partout où il est utilisé. Exemple le plus simple : une lampe. Elle doit éclairer de la même manière où qu’elle soit.

Si ce concept ne vous est pas familier, vous pourriez être tenté de faire du copié collé de partout sur votre scène, jusqu’au moment où… vous vous rendrez compte que vos objets ne sont pas à la bonne taille, qu’il y a un couac, que ce n’est pas tout à fait ce que vous vouliez.

Le Prefab est là pour ça, et c’est ce que nous allons voir ensemble dans cet article.

Lire la suite »

Utiliser une manette avec Unity3D

banner

Avec Unity, vous avez la possibilité de paramétrer une série de touches. En faisant cela, vous rendez possible la personnalisation de ces touches sans avoir à le gérer vous même dans le code. Plutôt intéressant non ? Mais ce n’est pas ce point qui nous intéresse réellement.

Les manettes. De différentes formes, avec des boutons différents… le tout pour proposer une expérience de jeu différente. Je ne dirai pas « meilleure » car ce n’est pas toujours vrai selon les types de jeu et les personnes. La mise en place du support manette s’avère relativement simple si vous ne ciblez qu’une seule console. Attention, je parle bien de console, pas de PC. Mais dès lors que vous allez vouloir publier votre jeu sur différentes plateformes (ce qui reste quand même un des intérêts premier d’Unity), les choses vont se complexifier. Beaucoup.

Lire la suite »

Ajoutez des succès à votre univers

succes

Les succès (achievements en anglais) se sont installés petit à petit dans le paysage vidéo ludique. Mais qu’est-ce que c’est qu’un succès exactement ? Un succès, c’est un marqueur, badge ou autre élément visuel acquis par le joueur en effectuant des actions précises. Par exemple : vaincre 1000 ennemis, ramasser tous les objets cachés… ou plus ironique : mourir 100 fois.

Un succès est associé à une action précise. Ce n’est pas quelque chose de vague, les conditions d’obtention doivent être claires et mesurables, au même titre que le calcul du score, de la perte de points de vies, etc.

Ce tutoriel est d’une difficulté élevée et demande de bonnes connaissances en programmation orientée objet.

Voyons ensemble pourquoi il est intéressant de les utiliser et comment les intégrer dans votre jeu.Lire la suite »

Créez votre premier jeu Android avec Unity3D

android

Comme vous le savez sans doute, Unity3D permet de créer des jeux multi-plateforme, y compris mobile. C’est une des grandes force du moteur. La construction du jeu en lui même est (presque) totalement décorellée de la plateforme cible.

Bon, on va pas se mentir hein… Un jeu dernière génération avec des supers effets visuels ne passera pas sur mobile. Mais à l’inverse, un jeu bien codé et bien optimisé pour fonctionner sur mobile pourra fonctionner parfaitement sur PC, ce qui en soit est plutôt cool. Evidemment, tout dépend du type de jeu et de l’entrée utilisateur. Un jeu spécialement conçu pour fonctionner avec le touch ne fonctionnera pas sur un PC de bureau (ou portable) sans écran tactile. Mais ça tombe sous le sens n’est-ce pas ?

Pour ce tutoriel, nous allons voir comment installer tout ce qu’il vous faudra pour développer des jeux sous Android.Lire la suite »

Rendez vos personnages autonomes avec du pathfinding

navmesh

A partir de l’instant où vous allez ajouter des PNJs (personnage non joueur) dans votre univers, il va falloir leur donner un peu de vie. Si vos PNJs sont de simple marchands plantés derrière un étal sans jamais bouger, cet article ne vous apprendrea rien d’utile. Mais c’est quand même mieux quand ils ont l’air vivants non ?

Déplacer des personnages ce n’est pas très compliqué. Mettre en place une routine de ronde pour les faire se déplacer d’un endroit fixe à un autre (fixe aussi) avec un peu d’aléatoire dedans est relativement simple. Là où ça se complique, c’est lorsque vous voulez amener un personnage à un endroit précis… quel que soit sa position actuelle. Là, pas de doute, il vous faudra utiliser le principe du pathfinding.Lire la suite »

Utiliser plusieurs caméras pour du multi-joueur

Camera_s8_75

Dans tous les moteurs de jeu, ce qui est affiché à l’écran du joueur est « vu » par une caméra virtuelle. Pas de caméra, pas d’image. Vous devrez donc en avoir au moins une sur votre scène. « Au moins » car il n’y a pas de limites. Vous pouvez en utiliser deux, trois…

Mais a quoi peut bien servir le fait d’avoir plusieurs caméras ? Et bien à vraiment beaucoup de choses dont le multi-joueur !Lire la suite »

Comprendre les différentes méthodes de mise à jour

5891051697_772d3f8591_z

Par défaut, lorsque vous créez un nouveau script (quel que soit le langage), deux méthodes sont générées : Start et Update. Si on reste simple, Start pour l’initialisation du script et Update pour la boucle de jeu. Dans la plupart des cas, la méthode Update conviendra parfaitement et il est inutile d’aller chercher plus loin.

En revanche, il existe d’autres moyens de « faire tourner » votre logique de jeu : la méthode FixedUpdate, LateUpdate et l’utilisation de Coroutines. Je ne traiterai pas des Coroutines ici car elle méritent un article complet. Ces autres possibilités doivent être utilisées avec précaution car mal utilisées, elles peuvent induire des comportements inexplicables, des bugs, et la chute de cheveux du développeur qui va essayer de démêler tout ça…Lire la suite »

Afficher des news dynamiquement

6277208304_ab6988a99f_z

Lorsque vous créez un jeu, même si ce n’est pas un jeu online, il peut être intéressant d’afficher des news. Par exemple pour dire au joueur qu’une nouvelle version est disponible ou bien que vous avez sorti un nouveau jeu !

Il va de soi que ces informations ne peuvent pas être contenues dans le build que vous allez fournir à vos joueur. A moins que vous ne puissiez voyager dans le futur pour savoir quand vous devrez afficher les infos. Hum… Nous allons donc devoir les récupérer autrement : via un service web. Ce fonctionnement implique une connexion à Internet pour fonctionner et nous allons voir comment gérer ça.Lire la suite »