•dltlons Ill. CONCEVOIR UN JEU 20 Créez des jeux de A à Z avec Unity 111. Concevoir un jeu 20 cV l .,.Q..., "O 'Q) l.... Q) .::L 0 par 0 CO Anthony Cardinale 1 0 l.{) .--i 0 N @ ,...., ..c Ol ï:::: >- 0. 0 u D-801)KeR êdirlo ns Aperçu général de l'ouvrage Le livre ou le module que vous avez sous les yeux a été publié dans le cadre d'une série dédiée au développement de jeux avec Unity. Chaque module a été conçu pour pouvoir être lu indépendamment. Libre à vous de ne lire que ce qui vous intéresse 1 CRÉEZ DES JEUX DE A À Z AVEC UNITY cV l ...Q..., -0 'Q) l.... Q) _::L 0 0 CO 1 0 l.{) .--i 0 N @ ....., ..c Ol ï:::: >- 0. 0 u débutant avancé (d'autres modules sont à paraître ... consultez www.d-booker.fr) Créez des jeux de A à Z avec Unity-111. Concevoir un jeu 2D par Anthony Cardinale ISBN (PDF) : 978-2-8227-0401-4 Copyright© 2015 Éditions D-BookeR Tous droits réservés Conformément au Code de la propriété intellectuelle, seules les copies ou reproductions strictement réservées à l'usage privé du copiste et non destinées à une utilisation collective ainsi que les analyses et les courtes citations dans un but d'exemple et d'illustration sont autorisées. Tout autre représentation ou reproduction, qu'elle soit intégrale ou partielle, requiert expressément le consentement de l'éditeur (art L 122-4, L 122-5 2 et 3a). Publié par les Éditions D-BookeR, 5 rue Delouvain, 75019 Paris www.d-booker.fr [email protected] Ce module fait partie de l'ouvrage global intitulé : Créez des jeux de A à Z avec Unity ISBN (HTML) : 978-2-8227-0404-5 Les exemples (téléchargeables ou non), sauf indication contraire, sont propriété des auteurs. cV l .,.Q..., Mise en page : générée sous Calenco avec des XSLT développées par la société "O NeoDoc (www.neodoc.biz) 'Q) l.... Q) .::L 0 Date de publication : 29/10/2015 0 CO 1 Édition : 1 0 l.{) Version : 1 .--i 0 N @ ,...., ..c Ol ï:::: >- 0. 0 u Table des matières À propos de l'auteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v11 1n troduction . . . .. . . . . . . . .. . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . . . . . .. . . . . . . .. . . . . . . . .. . . . . . . ... . . 1 l. Qu'allez-vous apprendre dans ce livre ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l 2. Ce dont vous avez besoin ............................................................. 3 3. URL raccourcies .......................................................................... 3 1. Level design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 l. l. Préparation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Conception du niveau ................................................................ 6 1.3. Ajout du personnage joueur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l 2 2. Création d'un plug-in ....................................................................... 15 2.1. Présentation générale de notre plug-in .......................................... 15 2.2. Création du script de la grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3. Création des fonctions du plug-in ................................................ 19 3. Programmation du joueur et de l'arme ............................................. 25 3.1. Programmation des mouvements du joueur .................................... 25 3.2. Programmation du saut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3. Création du viseur et de l'arme .................................................. 30 3.4. Gestion des impacts des projectiles ............................................. 36 4. Barre de vie et effets ............ ........................... ......... ...................... 38 cV l .,.Q..., 4.1. Création de la barre de vie ....................................................... 3 8 4.2. Création du script de vie .......................................................... 39 (l.!..). 4.3. Gestion des collisions . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . 42 .::L 0 0 4.4. Effets lumineux sur le projectile . . . .. . . . .. . . . . .. . . .. . . . . . . . .. . .. . . . .. . . .. . . . .. . .. . 44 CO 1 4.5. Effets sonores ......................................................................... 45 0 l.{) ..-i 0 5. Quelques obiets bonus ..... .... .... ..... .... ..... .... ..... ... . .... .... ..... .... ..... .... .. 48 N @ 5.1. Création des prefabs . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . . . . . . . . . . . 48 ,...., ..c 5.2. Programmer l'instanciation des objets . .. . .. . . . . . . .. . . . .. . .. . .. . .. . .. . . . . .. . . . .. 49 Ol ï:::: >- 5.3. Programmation des collisions ..................................................... 52 0. 0 u 6. Découverte de iTween ... .... .............. .... ......... ... . ............. .... ..... ......... 55 6.1. Comment fonctionne iîween ? .................................................... 55 6.2. Transition sur la couleur ............................................................ 56 6.3. Regarder un Gameübject . . . . .. . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . 58 6.4. Déplacer un Gameübject ......................................................... 58 Créez des ieux de A à Z avec Unity · Ill. Concevoir un ieu 20 6.5. Un coup de punch !. ............................................................... 58 6.6. Appliquer une rotation ............................................................. 59 6.7. Modifier la taille ..................................................................... 59 6.8. Pour aller plus loin .................................................................. 59 7. Aiout des ennemis .. . ......... ... .............. ... ......... .. ... ......... ......... .... .... ... 61 7.1. Ajout d'un ennemi .................................................................... 61 7.2. Création du script de l'ennemi .................................................... 62 7.3. Dernières retouches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 8. Utilisation d'une manette de jeu (joystick) . . . . . .. . . . . . . . . . . . .. . . . . . . . .. . . . . . . .. . . . . . 67 8.1. Fonctionnement des joysticks ...................................................... 67 8.2. Déboguer les joystiks ............................................................... 68 8.3. Configurer manuellement les boutons ........................................... 69 8.4. Modification de notre jeu pour gérer les manettes .......................... 70 9. Publier son ieu . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . .. . . . . .. . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . 72 9.1. Compilation du jeu .................................................................. 72 9.2. Publication sur Steam ............................................................... 73 9.3. Publication sur d'autres plateformes ............................................. 76 1O . Financer son proiet ........................................................................ 78 10.1. Le financement participatif....................................................... 78 10.2. Création de la page projet ...................................................... 79 10.3. D'autres techniques de financement ........................................... 80 Cas pratiques ... ......... .... .... ..... .... ..... ... . .... ..... .... .... ......... .... ..... ......... ... 82 cV l 1. Création d'un piano à huit touches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 ...Q..., -0 2. Jouons avec les prefabs .............................................................. 84 'Q) l.... 3. Ramasser des objets en fonction d'une variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Q) ..::L 0 4. Des cubes qui vous suivent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 0 CO 1 5. Utilisation de l'accéléromètre ........................................................ 87 0 l.{) 6. Utilisation de la classe WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 .-i 0 N 7. Téléchargement d'un son sur le serveur ........................................... 89 @ ....., ..c Ol Liste des illustrations ............................................................................... 91 ï:::: >- 0. 0 u Index .................................................................................................. 93 page vi À propos de l'auteur Anthony Cardinale Développeur passionné de jeux vidéo, Anthony utilise Unity depuis 2008. À cette date, le logiciel commence tout juste à se faire connaître en France, et il compte parmi les premiers à l'adopter. Auteur de plus d'une trentaine de jeux publiés sur Google Play, l'App Store ou Windows Phone Store, il s'est peu à peu spécialisé dans les applications à destination des mobiles et tablettes, après avoir également développé pour le web et les PC. En parallèle, Anthony maintient différents sites d'e-learning. Il a réalisé à ce jour plus de 200 heures de formation vidéo sur la création de jeux avec Unity, diffusées via son site internet Formation facile. cV l .,.Q..., l.... (!) .::L 0 0 CO 1 0 l.{) .-i 0 N @ ,...., ..c Ol ï:::: >- 0. 0 u Introduction Unity est un moteur de jeu polyvalent. Il est adapté à tout type de projets (jeux de tir, jeux d'arcade, jeux à la première personne, à la troisième personne, jeux d'action, etc.), mais qu'en est-il de la 2D? En effet, on associe fréquemment Unity à la 3D, mais la création de jeux 2D en est-elle pour autant exclue? Eh bien non, ne serait-ce qu'en utilisant une caméra capable de se déplacer sur deux seuls axes (et non trois), vous pouvez donner l'illusion que votre jeu est en 2D. Il a toujours été possible de créer des jeux 2D avec Unity, mais face à la demande des développeurs, la société Unity Technologies a créé un module spécifique. Celui-ci est apparu avec la version 4 du logiciel et a continué d'évoluer jusque dans la version 5 que nous avons aujourd'hui. Maintenant, lorsque vous créez un nouveau projet, vous pouvez sélectionner l'option 2D pour indiquer que votre jeu sera en 2 D. En faisant cela, vous aurez accès à toutes les fonctionnalités dédiées à la 2 D. La conception 2D diffère légèrement de la 3D. Dans ce livre, nous allons explorer les fonctionnalités qui lui sont propres tout en faisant un tour complet des étapes indispen sables à la création d'un jeu de qualité et à la mise en place de fonctionnalités avancées. Nous allons créer ensemble un jeu de tir en vue de côté à l'aide du module 2D. Au delà des outils proposés par Unity, nous verrons comment créer notre propre plug-in ou utiliser ceux des autres développeurs pour optimiser notre développement. Nous verrons aussi comment enrichir le gameplay et supporter un joystick. cV l Le jeu développé ici en exemple est également utilisé dans le livre IV. Réseau et mode .,.Q..., multijoueur, où nous verrons comment lui ajouter un mode multijoueur en ligne. -0 'Q) l.... Q) .::L 1. Qu'allez-vous apprendre dans ce livre ? 0 0 CO 1 0 l.{) Chapitre 1 - Level design .-i 0 N @ Nous commencerons par poser les bases de conception de notre jeu. Nous réuni ,...., ..c rons les ressources nécessaires à son développement et créerons des niveaux et Ol ï:::: un personnage joueur. Nous y aborderons également la notion d'avant-plan et >- 0. 0 d'arrière-plan. u Chapitre 2 - Création d'un plug-in Je vous montrerai comment développer vos propres outils pour vous faciliter le tra vail de création de niveaux. Nous coderons ici notre propre éditeur de niveaux. page 1 Créez des ieux de A à Z avec Unity - Ill. Concevoir un ieu 20 Chapitre 3 - Programmation du joueur et de l'arme Nous écrirons ici les scripts C# permettant de déplacer le personnage joueur et le faire tirer. Nous créerons son arme avec viseur et projectiles. Chapitre 4 - Barre de vie et effets Afin d'améliorer le visuel de notre jeu, nous ajouterons des effets spéciaux (par exemple sur les projectiles pour créer des explosions), des effets lumineux ou encore des effets sonores. Nous coderons également la barre de vie des joueurs. Chapitre 5 - Quelques objets bonus Pour pimenter un peu le jeu, nous ajouterons des armes à ramasser, de la vie à collecter ou encore des pièges à éviter. Chapitre 6 - Découverte de iTween iîween est un plug-in permettant de réaliser très simplement des animations et tran sitions par script. Il est très populaire et vous ne pouvez pas passer à côté, c'est pourquoi nous allons voir comment l'utiliser dans ce chapitre. Chapitre 7 - Ajout des ennemis Le joueur doit avoir un objectif. Nous développerons ici un mode de survie dans cV l lequel il pourra combattre des ennemis. Le but sera de survivre le plus longtemps .,.Q..., possible aux différents dangers du niveau. "O 'Q) l.... Q) .::L Chapitre 8 - Utilisation d'une manette de jeu {joystick) 0 0 CO 1 Certains joueurs préfèrent jouer avec une manette de jeu même sur PC. Afin de 0 l.{) satisfaire tout le monde, nous verrons comment la prendre en charge. .--i 0 N @ ,...., Chapitre 9 - Publier son jeu ..c Ol ï:>:::- Nous passerons en revue quelques plateformes connues comme Steam, Facebook 0. 0 ou encore Kongregate sur lesquelles nous allons pouvoir publier notre jeu. u Chapitre 10 - Financer son projet Les développeurs indépendants ont des moyens très limités et parfois insuffisants pour financer un projet qui pourtant pourrait avoir un franc succès. Vous allez dé- page 2 Créez des ieux de A à Z avec Unity - Ill. Concevoir un ieu 20 couvrir comment financer votre jeu afin de pouvoir le développer et le commercia liser_ Cas pratiques Dans ce chapitre, vous trouverez quelques cas pratiques pour appliquer les connais sances acquises dans ce livre. Présentés sous forme de petits projets à réaliser, vous pourrez tester vos acquis et chercher par vous-même la solution puis vérifier si celle-ci est conforme à ce que vous avez fait. 2. Ce dont vous avez besoin Pour suivre ce livre, vous avez besoin de télécharger et d'installer le logiciel Unity sur votre machine. Vous devez également télécharger les sources des exemples depuis le site de l'auteur ou celui de l'éditeur (onglet COMPLÉMENTS). Pour toute remarque, suggestion, question, vous pouvez me contacter via mon site web http://anthony-cardinale.fr. Il ne me reste plus qu'à vous souhaiter une bonne lecture ! 3. URL raccourcies Dans un souci de lisibilité, et pour pouvoir les maintenir à jour, nous avons pris le parti de remplacer toutes les adresses internet par ce qu'on appelle des URL raccourcies. Une fois cV l que vous avez accédé à la page cible, nous vous invitons à l'enregistrer avec un marque ...Q..., page si vous souhaitez y revenir fréquemment. Vous disposerez alors du lien direct. Si -0 'Q) celui-ci se périme, n'hésitez pas à repasser par l'URL raccourcie. Si cette dernière aussi l Q) ..::L échoue, vous pouvez nous le signaler! 0 0 CO 1 0 l.{) ..-i 0 N @ ....., ..c Ol ï:::: >- 0. 0 u page 3