47 17 920KB
Créer ses propres jeux vidéo de manière méthodique!
Source : http://cybernetnews.com/vista-recovery-disc/
Réalisé par : Patrick Deschambault
II
TABLE DES MATIÈRES Introduction ......................................................................................................... 1 1. Recherche ....................................................................................................... 5 1.1Le sujet de votre jeu .................................................................................. 6 1.2 Remuons quelques idées ......................................................................... 8 1.3 Période de questions.............................................................................. 10 1.4 La recherche d’information ..................................................................... 11 1.5 Des solutions à nos problèmes ............................................................. 12 1.6 Les ressources nécessaires ................................................................... 14 2. Planification................................................................................................... 16 2.1 Faire un cahier des charges ................................................................... 17 2.2 Planifier ses fonctions ou ses objets ...................................................... 18 2.3 Place au croquis! .................................................................................... 21 2.4 Préparer le terrain ................................................................................. 22 3. Création ......................................................................................................... 24 3.1 Suivre son plan ...................................................................................... 25 3.2 Quelques tests en cours de route........................................................... 26 3.3 Petits détails .......................................................................................... 27 4 Évaluation ....................................................................................................... 28 4.1Le cahier des charges et votre projet ...................................................... 29 4.2 Une dernière vérification ........................................................................ 29 4.3 Un format bien choisi.............................................................................. 30 4.4 Publication de votre produit .................................................................... 30 4.5 On améliore ! .......................................................................................... 30 Conclusion ........................................................................................................ 32 Liens utiles ........................................................................................................ 33
Page |1 INTRODUCTION Quoi de mieux que de jouer à un jeu vidéo, n’est-ce pas? Que ce soit des jeux de stratégies, d’arcades ou de tir subjectifs, ils ont tous été inventés par des personnes travaillant dans le domaine de l’informatique. Vous aimeriez savoir comment faire pour créer un jeu vidéo sauf que plusieurs vous ont dit que créer un jeu, c’est super difficile! En réalité, est-ce vraiment si compliqué que ça? Créer un jeu vidéo, ce n’est pas très compliqué lorsqu’on utilise la bonne méthode. En fait, concevoir un jeu à l’ordinateur ressemble un peu à bâtir une maison. Supposons que vous voudriez construire une maison, comment allezvous vous y prendre? La première étape pourrait consister à produire un plan, mesurer les dimensions de votre maison, estimer les ressources et les coûts reliés, etc. Si vous connaissez mal la façon dont on doit bâtir une maison, vous ne serez pas en mesure de terminer celle-ci, ou pire, elle s’écroulerait à la moindre secousse! En programmation de jeux vidéo, c’est la même chose. Il faut savoir comment être dirigé correctement pour créer ce que l’on veut. En étant organisé et structuré, on parvient à faire n’importe quel programme de son niveau. Au cours de ce guide, je ne vous apprendrai pas à programmer, mais je vais plutôt vous apprendre à créer vos propres programmes avec une bonne démarche afin d’obtenir des programmes qui sont fiables et solides. Si vous n’avez jamais fait de programmation, ne vous inquiétez pas vous serez parfaitement en mesure de suivre les prochaines lignes, car ce livre est destiné à tous les intéressés!
Page |2 Comme je vous l’ai mentionné, je vous montrerai un protocole de création d’un jeu vidéo. Le guide sera divisé en quatre parties : la recherche, la planification, la création et l’évaluation. Pour vous donner des exemples tout au long de la lecture afin de vous soutenir, je m’appuierai sur mon jeu Pong++, un jeu que j’ai conçu moi-même en empruntant cette démarche de conception. Pour partir du bon pied! Tout d’abord, il est important de savoir qu’un ordinateur fonctionne en recevant des instructions pour accomplir diverses tâches. Les informaticiens utilisent un langage de programmation afin de faciliter la communication entre l’humain et la machine. Rassurez-vous, faire de la programmation ne consiste pas à coder en binaire (100110101…) et si c’était le cas je ne me serais jamais impliqué dans la création d’un jeu vidéo…
Cependant, il existe une variété de langage
informatique pour nous faciliter la vie que vous pouvez apprendre facilement par des livres ou sur des sites internet. Je vous invite fortement à consulter la page 33 de ce guide qui vous suggère quelques sites internet pour apprendre à programmer. Comme spécifié précédemment, il existe divers langages que vous pouvez maîtriser, tels que le Java, le langage C, le langage C++, le Pascal, le Rugby, le Python et j’en passe! En passant, il n’existe pas un langage meilleur qu’un autre. Par contre, les
langages ont chacun leurs avantages et leurs
inconvénients. Certains sont plus faciles à manipuler, mais offrent moins
de
flexibilité
puisqu’on
se
trouve
moins
près
du
fonctionnement de la machine, comme le Java ou le Python. On constate l’inverse avec d’autres langages qui offrent une plus
Page |3 grande flexibilité puisqu’on se retrouve plus près du langage machine comme le C++ ou encore l’Assembleur, mais certains concepts liés au langage sont plus difficiles à comprendre. Pour ma part, j’ai réalisé mon jeu vidéo en langage C qui est un langage qui est assez flexible et de difficulté modérée à utiliser. Peu importe le langage que vous choisissez, vous pouvez suivre ce guide quand même. Dépendamment du type de jeu que vous voulez faire, vous aurez besoin de savoir manipuler une « librairie ». Une librairie est un ensemble de fichiers codés préalablement pour vous qui vous serviront à construire des fenêtres, gérer des images et du temps, bref, ces librairies nous sont capitales. Il existe plusieurs librairies sur internet. Il y en a des payantes, des gratuites, des bonnes et des moins bonnes. Je ne vous ferai pas la liste complète des librairies du monde, mais il existe la librairie SDL, OpenGL, SFML, Qt, et j’en passe. Pour ma part, j’ai choisi la SDL puisque c’est une librairie simple d’utilisation, efficace et gratuite. Une fois que vous êtes bien préparé à programmer à l’ordinateur, vous êtes prêt à commencer à créer votre jeu tant souhaité. Seulement, je dois vous avertir que la démarche qui suivra vous aidera à succéder dans votre création, sauf qu’elle ne réalise pas de miracle non plus. Vous devez apporter un certain degré de réflexion à vos problèmes, être curieux et surtout consacrer du temps sur votre projet. Si vous êtes débutant, ne croyez pas réinventer le jeu de Warcraft III tout seul en claquant des doigts. Attendez-vous à énormément de travail pour réaliser un jeu de cette envergure! Bien sûr, faites un jeu vidéo qui est adapté à votre niveau
Page |4 , et vous deviendrez meilleur en pratiquant de plus en plus. Après tout, c’est en forgeant qu’on devient forgeron!
Page |5
re
1 étape : La recherche Je vous dirais que la partie recherche est l’étape la plus importante pour votre futur jeu vidéo. Entre vous et moi, la recherche n’est pas toujours la partie la plus amusante lorsqu’on veut créer son programme. Par contre, cette étape est essentielle pour que vous soyez bien structuré dans ce que vous faites. N’attendons plus une seconde et voyons comment peut-on effectuer une recherche dans la création d’un jeu vidéo!
Page |6 1.1Le sujet de votre jeu Avez-vous la moindre idée de ce que vous voulez créer comme jeu vidéo? Tout à fait, on ne fabrique pas de jeu si on ne sait pas qu’est-ce que l’on veut vraiment faire. Alors, cette étape consiste à réfléchir sur ce que vous voudriez faire et penser au but de cette conception. Votre jeu servira-t-il à être éducatif, à distraire l’utilisateur, à développer son sens logique, bref, un objectif doit être fixé et atteint. Et surtout, choisissez un sujet réaliste correspondant à vos compétences. Moi, j’ai décidé de créer un jeu Pong pour que les lecteurs puissent être méthodiques dans leur création. Ça, c’est mon but. En même temps, je voulais distraire les utilisateurs de mon jeu vidéo. Pour vous aider, vous pouvez utiliser un schéma que l’on appelle la bête à cornes qui s’illustre comme ceci : La bête à cornes
Source: ANONYME, http://fr.wikipedia.org/wiki/M%C3%A9thode_APTE.
Page |7 Le schéma est constitué de questions qui devraient entourer votre création:
À qui le jeu rend-il service (votre public ciblé)
Sur quoi le jeu doit agir? (ici, ça peut être votre ordinateur)
Étude (votre sujet ou votre produit)
Dans quel but (déterminer l’objectif à remplir)
Pour que ce soit plus concret, je vais vous montrer à quoi cela peut bien ressembler avec mon jeu Pong++.
Image modifiée à partir de: ANONYME, http://fr.wikipedia.org/wiki/M%C3%A9thode_APTE.
Page |8 1.2 Remuons quelques idées L’élément qu’on retrouve le plus souvent dans n’importe quel projet est le remueméninge. Surtout si c’est un nouveau jeu que vous construisez, cette étape vous permettra d’aller chercher les idées les plus originales à mettre dans votre jeu. Pour cette étape, je vous recommande de prendre une feuille de papier blanche avec un crayon à la mine et d’y écrire vos pensées. Lorsque vous rassemblez vos idées, ne vous limitez pas pour l’instant. Écrivez vraiment tout ce qui peut être pertinent pour votre jeu et laissez aller votre imagination! Pour bien faire son remue-méninge, vous pouvez y aller par cette méthode qui consiste à construire une toile d’araignée reliant les idées au sujet comme ceci :
Page |9 Ensuite, allez plus loin en reliant les idées à des sous-idées et vous verrez votre jeu vraiment prendre forme de plus en plus! Voici un exemple de remue-méninge fait par mon jeu Pong++ :
Si vous construisez un jeu auquel il y a des personnages, faites une toile en ayant comme sujet « Rôle des personnages » et continuez à élaborer vos idées, par exemple, en ajoutant magicien, chevalier, médecin, citoyen, etc. Par contre, les structures varient selon les sujets abordés. Si vous voulez plutôt modeler l’histoire d’un jeu, alors faites une liste des grands événements sous forme chronologique qui comprend une situation initiale, des péripéties et une situation finale. Si votre jeu comporte beaucoup d’éléments, réalisez des croquis de personnages, de cartes et très importants, conservez ces fiches, car vous vous en servirez plus tard. Bref, sortez votre côté créatif et artistique!
P a g e | 10 1.3 Période de questions C’est bien beau rêver après avoir fait tout un remue-méninge, sauf qu’il faut se poser les bonnes questions avant de coder son jeu vidéo. Il est alors nécessaire de noter les éléments dans lesquels vous ne détenez pas les réponses. Alors, il faut se questionner sur les éléments techniques de ce que vous voulez faire. Je crois que ce sera plus simple si je vous montre un exemple de quelques questions que j’ai écrites:
Dans le jeu Pong original, des sons sont présents, mais il n’y a pas de musique. Laquelle devrai-je choisir pour mon jeu?
La balle doit rebondir lorsqu’elle touche les côtés de la fenêtre. Existe-t-il un calcul ou un algorithme pour gérer les collisions de la balle?
Pour avoir un minimum de réalisme, la balle doit rebondir avec un angle spécifique. Existe-t-il un calcul pour représenter la situation?
Dans le mode deux joueurs, il est certain que les deux joueurs aient à appuyer sur une touche au même moment. Existe-t-il une solution à laquelle le clavier peut gérer deux touches du clavier à la fois?
Écrivez vraiment toutes les questions qui vous surgissent, c’est très important pour la prochaine étape. Comment fait-on ceci, comment fait-on cela, existe-t-il des trucs pour faire ceci, qu’est-ce qu’il me faudrait pour réaliser telle chose, et ainsi de suite. Évidemment, reprenez votre remue-méninge pour formuler vos questions.
P a g e | 11 1.4 La recherche d’informations La quête d’information est une étape importante dans le cheminement de votre projet. Toutes ces questions que vous aviez notées, il est maintenant temps de leur donner un sens! Il est fort probable que, durant votre création, vous aurez des questions qui vous apparaîtront. Dans ce cas-ci, vous devez retourner sur cette partie et rechercher de l’information afin de trouver des solutions à votre problème. Retenez que cette démarche n’est pas statique. Les parties recherche, planification, création et évaluation sont toutes reliées entre elles. Or, rien ne vous empêche de revenir à la partie recherche lorsque vous êtes à la partie évaluation de votre projet par exemple! C’est aussi ici que vous éliminerez certains éléments que vous avez notés dans votre remue-méninge parce qu’ils sont trop difficiles à maîtriser ou que vous n’avez pas les ressources requises pour faire votre projet. Au début, je voulais faire un mode qui permettait de jouer en ligne avec ses amis. Sauf que c’est en faisant la recherche que j’ai découvert qu’il me fallait apprendre comment fonctionnent les réseaux, qu’il me fallait télécharger des librairies supplémentaires qui permettent de communiquer via internet, etc. C’est bien d’avoir noté ces choses dans votre remue-méninges, mais si vous trouvez quelque chose de trop difficile, mettez-le de côté et concentrez-vous sur les aspects les plus importants de votre jeu, comme le rebondissement d’une balle ou bien le mouvement des raquettes d’un jeu Pong. Vous reviendrez sur ces aspects plus tard lorsque vous améliorerez votre jeu. Pour en apprendre davantage, rien ne vous empêche de découvrir des tutoriaux qui existent sur
P a g e | 12 internet. N’oubliez pas de vous informer à propos des règlements de votre jeu si vous en reproduisez un déjà existant. Cherchez bien et vous devriez trouver un bon éventail de solutions. 1.5 Des solutions à nos problèmes Vous venez de faire une recherche guidée par vos questions et il est maintenant temps de faire un bilan de votre recherche. C’est-à-dire que vous devrez présenter vos problèmes que vous aviez mentionnés précédemment avec leurs solutions apportées que vous avez trouvées. Pour ma part, lorsque j’ai fait mon jeu Pong++, j’ai fait un tableau à deux colonnes ayant la catégorie « Problèmes » et l’autre « Solutions ». Logiquement, vous devriez reprendre les questions que vous vous êtes posées au départ et à côté vous mettez leurs solutions. Voici quelques exemples de ma procédure : Problèmes 1- Quel genre de musique pourrait être sur
Solutions Style techno ou électro.
Pong? Fonction dont on insère un algorithme sur les collisions. Principe : si la balle touche à droite de l’écran, elle doit se diriger vers la 2 - Comment gérer le rebondissement de
gauche et vice-versa. Si la balle touche le
la balle?
haut de l’écran, elle doit se diriger vers le bas et vice-versa.
3 - Comment donner un angle spécial de rebondissement à la balle en fonction de
Utilisation d’une fonction qui effectue un calcul. Principe : lorsque la balle touche une raquette, modifier la variable qui
sa position sur la raquette?
s’occupe d’ajuster la vitesse verticale de la balle selon la position de la balle par
P a g e | 13 rapport à la raquette. Voir le site internet sur la gestion des 4- Comment gérer deux événements du
événements. Intégrer ce code dans la
clavier à la fois?
réalisation du jeu vidéo dans un fichier.
Ici, le but est de faire le compte-rendu de ce que vous avez trouvé comme solutions. En plus de cela, c’est à cette étape que vous saurez si le projet dans lequel vous vous embarquez est trop ambitieux pour vous. Peut-être qu’il y aura quelques idées de votre remue-méninges qui se dissiperont et d’autre qui prendront la relève. Vous pouvez toujours poser vos questions sur des forums en ligne pour obtenir des réponses à des questions plus pointilleuses. Si vous avez des sources qui sont très pertinentes (par exemple la gestion du clavier dans mon cas), il serait préférable que vous fassiez un fichier de traitement de texte auquel vous notez vos sources importantes avec une petite description dessus pour vous repérer. Lorsque vous aurez besoin de consulter une source, alors vous n’aurez qu’à ouvrir celle-ci et vous sauverez du temps à essayer de la chercher. C’est un petit conseil pour vous sauver du temps!
P a g e | 14 1.6 Les ressources nécessaires Quelques ressources vous seront indispensables pour la réalisation de votre projet. Évidemment, assurez-vous bien d’avoir un EDI (Environnement de Développement intégré), c’est-à-dire un logiciel dans lequel vous développerez votre jeu vidéo en codant les instructions nécessaires. Il existe une variété de logiciels que vous pouvez utiliser, mais je vous recommande d’utiliser le logiciel CodeBlocks qui est gratuit et excellent dans son usage. Évidemment, je n’ai pas besoin de vous dire qu’il vous faut un ordinateur pour coder évidemment. Ce sont vraiment les deux éléments qui feront la base de votre jeu vidéo. À moins que vous soyez très forts en informatique, il vous faut un moyen de créer des fenêtres, des graphiques, des couleurs et des images sans avoir à réinventer la roue. Comme il a été indiqué dans l’introduction de ce guide, vous devrez utiliser au moins une librairie qui s’occupe de tout cela. J’ai utilisé la librairie SDL pour réaliser mes graphiques et FMOD pour gérer la musique de mon jeu. Ce sont des librairies qui m’ont offert tout ce dont j’avais besoin. Si vous voulez faire la distribution de votre jeu, portez attention aux droits que vous obtenez pour le faire (le copyright). Certaines librairies vous autorisent à vendre et à distribuer votre produit sans acheter de licence, comme la SDL. Par contre, des librairies comme FMOD demandent l’achat d’une licence si vous voulez vendre votre produit. Bref, informez-vous des droits que vous obtenez sur les sites officiaux.
P a g e | 15 N’oubliez pas d’avoir en votre disponibilité la documentation de vos librairies afin de vous informer sur leur fonctionnement. Aurez-vous besoin de faire des dessins pour votre jeu? Les logiciels comme Paint pourront bien faire l’affaire dans vos créations d’images. Si vous faites plutôt des objets en trois dimensions dans votre jeu, allez-y pour des logiciels de modélisation comme Blender. Pour respecter les droits d’auteur, vous pouvez puiser vos musiques sur des sites qui offrent de la musique libre de droits, c’est-à-dire que l’on peut distribuer gratuitement. Pour ma part, je vais sur jamendo.com et ça fait très bien l’affaire. Enfin, faites la liste de vos outils! Pour mon projet Pong++, j’ai conçu ce jeu entièrement seul, sans l’aide de quelqu’un pour programmer. En effet, cela peut prendre plus de temps. Si vous avez l’opportunité de faire votre projet avec d’autres personnes, répartissez-vous les tâches selon vos spécialités. Par exemple, il pourrait y avoir deux personnes pour le codage, une pour le graphisme, une pour les sons et la musique, une pour l’intelligence artificielle s’il faut. Cela dépend toujours de l’ampleur de votre projet évidemment, mais avoir plusieurs personnes accélère les choses. Pensez aussi aux coûts qui peuvent être reliés à votre jeu vidéo, par exemple des licences à acheter, des librairies et toutes les ressources qui englobent votre programme.
P a g e | 16
e
2 étape : La planification Vous avez cherché vos informations, appris quelques manœuvres dont vous ne saviez pas et vous visualisez déjà votre jeu vidéo. Vous êtes fins prêts à planifier et à conceptualiser votre jeu. Dans cette partie, nous allons restructurer nos idées conformément et vraiment faire un plan qu’on pourra bien suivre et respecter lors de la création.
P a g e | 17 2.1 Faire un cahier des charges Comme dans tout bon projet, il est capital d’avoir en soi un cahier des charges. Tout d’abord, qu’est-ce qu’un cahier des charges? Et bien, c’est un document auquel on met les contraintes qui doivent être remplies par le projet. Lorsque vous aurez terminé votre jeu vidéo, vous devriez avoir tous les critères du cahier des charges remplis. Alors, vous saurez si votre produit a bien atteint son objectif. J’aimerais partager avec vous le cahier des charges de mon jeu Pong++ que j’ai réalisé ci-dessous. CAHIER DES CHARGES – PONG++ 1. La balle doit rebondir des murs du haut et du bas; 2. Les scores de chaque joueur doivent être indiqués dans le jeu; 3. Lorsque la balle touche à une raquette, elle doit être envoyée dans le sens opposé; 4. Les modes deux joueurs et un joueur doivent être disponible au menu du jeu; 5. On ne doit pas excéder 10 mégaoctets de mémoire au programme; 6. Le produit final devra être dans un format d’installation; 7. En mode deux joueurs, on doit donner la possibilité de choisir le nombre de points maximal avant que la partie se termine; 8. Si la balle traverse le territoire adverse, un point est accordé à celui qui a compté le point et le score doit évoluer selon le pointage.
P a g e | 18 9. On doit permettre à l’utilisateur de modifier la couleur des raquettes, de la balle et du fond; 10. Il doit y avoir de la musique; Si vous avez travaillé beaucoup sur votre jeu et que cela fait un bout de temps que vous n’avez plus travaillé dessus, c’est cette fiche que vous consulterez afin de voir où vous en êtes rendu dans votre évolution. Il est toujours possible de le modifier s’il ne convient pas bien à votre jeu vidéo. 2.2 Planifie ses fonctions ou ses objets Après toutes ces étapes, il est sérieusement temps de commencer! À l’intérieur de cette partie, vous ferez la structure de toutes les fonctions qui se trouvent dans votre jeu vidéo. Pour ceux qui travaillent en programmation orientée objet, c’est le moment de planifier vos objets. Les fonctions consistent à être les actions que votre jeu vidéo fait (ex : mouvements des raquettes contrôlées, cliquer sur un bouton quelconque, se rendre au menu du jeu, etc.) Les objets, quant à eux, servent à définir les éléments du jeu ainsi que leurs possibles interactions (ex : la raquette du joueur 1, la balle du jeu, un bouton sur l’écran, l’affichage des scores, etc.) Ce que je vous propose de faire, c’est d’établir les fonctions ou les objets qui concordent avec votre cahier des charges. Vous pouvez lister, qu’est-ce que le programme doit gérer au cours de l’exécution du programme. Voici quelques exemples de ce que j’ai réalisé :
Gestion du déplacement de la balle;
P a g e | 19
Collisions avec les murs d’en haut et d’en bas et collisions avec les raquettes;
Déplacement des raquettes;
Fonction de la gestion des touches;
Fonction qui détermine si on a gagné ou perdu;
Fonction qui relance la balle;
Fonction qui gère le déplacement de la raquette ordinateur;
Fonction de cliquer sur un bouton.
Si c’était plutôt avec de la programmation orientée objet, il faudrait plutôt faire ceci :
Un objet balle;
Un objet de gestion des collisions;
Un objet raquette;
Un objet menu principal;
Etc.
Bref, si vous êtes bon en programmation orientée objet, vous devriez comprendre un peu le principe. Par la suite, il faut expliquer comment chaque élément fonctionne. Cependant, il serait intéressant de les planifier. Vous n'êtes pas obligé d'écrire tout le code en entier à la main, cependant vous pourriez faire de petites descriptions qui vous guideront durant la création. Voici l’exemple d’une fonction qui pourrait être planifié en gestion des collisions de la balle:
P a g e | 20 Nom des Utilité
Paramètres
fonctions
recevoir
Gestion
S’occuper de
des
faire rebondir
collisions
la balle sur
Émettre
un
lorsqu’elle
objet.
Vitesse de la de la raquette 2, alors on émet balle en X et un son de victoire, on appelle en Y;
balle est plus grande que celle
Position de la
la fonction « RelancerBalle » et on donne un point au joueur 1.
balle;
son
touche
Surface de la Si la position horizontale de la balle;
les murs et les raquettes.
à Fonctionnement
Positions de la raquette 1
un
et 2;
Vitesse de la
Si la position de la balle en Y est plus petite que zéro, alors on inverse la direction de la
balle;
balle en Y en mettant une
Musique
valeur positive correspondant à
(structure de la vitesse. variables);
Si la balle touche à une raquette, affecter la vitesse verticale de la balle par ce calcul :
(posBalle->y
posRaquette1->y
-
(HAUTEUR_RAQUETTE/ 2)) / 50 …
Je n’ai pas tout écrit le fonctionnement de la gestion des collisions, mais cela devrait suffire à la compréhension. L’essentiel est d’avoir les quatre éléments principaux, à savoir le nom des fonctions, leurs utilités, leurs paramètres reçus et
P a g e | 21 leur fonctionnement (en indiquant des variables, des calculs, etc.) Je débordais un peu pour décrire le fonctionnement de ma fonction, mais rien ne vous empêche de raccourcir à votre propre façon.
2.3 Place au croquis! Le plus gros morceau de la planification est fait. Maintenant, il serait bien de savoir à quoi tout cela pourrait bien ressembler au final. C'est pourquoi vous devez faire quelques esquisses de votre jeu afin d'en voir l'apparence. Idéalement, pour représenter l’allure de son travail, on utilise le dessin pour organiser ses idées. Pour vous montrer l’exemple, j'ai dessiné des captures d’écran. Ces schémas nous informe que si on clique sur le bouton un joueur, alors on s’attendrait à voit une
fenêtre
à
laquelle on propose un spécifique
nombre de
parties à jouer. Et la flèche à côté nous dit qu’on nous
P a g e | 22 mène à une autre capture d’écran lorsqu’on appuie sur le bouton jouer. Et si la partie est perdue, on devrait voir une image stipulant « Vous avez perdu! » située juste en dessous. Je vous recommande de produire plusieurs captures de jeu différentes pour votre jeu, c'est-à-dire autour de deux ou trois croquis serait suffisant. Je sais que ça peut devenir redondant, mais vous allez voir que votre produit sera de très grande qualité si vous proposez plusieurs pistes possibles. Par ces réalisations, vous choisirez votre préféré et celui le mieux adapté pour votre projet. N'oubliez pas que toutes les étapes de ce guide sont liées entre elles. Si vous dessinez un élément de votre jeu auquel vous n'avez pas planifié de fonction pour ce dernier, alors revenez aux étapes précédentes.
2.4 Préparer le terrain Courage, il ne reste qu’une étape avant la création! C’est à cette étape que vous pourrez commencer à développer votre jeu vidéo. Encore là, vous ne coderez pas tout de suite, mais vous créerez vos fichiers nécessaires à votre jeu vidéo et ajouterez ainsi qu’ajouterez les librairies qui vous seront indispensables. Le but de faire plusieurs fichiers vous servira à diviser de manière élémentaire votre jeu pour que vous ne perdiez pas un temps fou à essayer de retrouver vos fonctions. Allez-y logiquement avec un maximum de 350 lignes de codes par fichier, soit environ un maximum de 4 ou 5 fonctions par fichier. L’important est de garder un code bien aéré qui vous minimisera des maux de tête lors de la lecture du code. Et si vous travaillez avec la programmation orientée objet, vous
P a g e | 23 devez avoir deux fichiers pour chaque objet idéalement, soit un pour la création de la classe, et l’autre pour les méthodes à implémenter. N’oubliez pas de créer un fichier dans lequel vous pourrez mettre toutes vos « defines », vos « includes », vos énumérations et vos structures.
Vos fonctions ou vos objets sont mis sur pied, vous avez une bonne idée de la ressemblance de votre jeu et vous êtes déterminé. Je vous conseille de réviser rapidement les étapes de ce chapitre et de revenir sur les étapes que vous avez plus ou moins négligées pour s’assurer que tout est OK. Si vous êtes plusieurs à faire le jeu vidéo, fixez-vous des échéanciers pour que l’équipe s’enligne correctement dans la même direction.
P a g e | 24
e
3 étape : La création Avec la planification, vous avez mis sur la table les éléments nécessaires à cette grande étape de créer votre produit. En effet, c’est à cette étape que vous remarquerez si votre façon de planifier votre projet vous a été efficace. Durant ce chapitre, j’aborderai quelques points sur la façon méthodique de coder son jeu vidéo pour vous simplifier le mieux possible la tâche.
P a g e | 25 3.1 Suivre son plan Commencez à coder vos instructions en suivant ce que vous avez écrit dans la planification de vos fonctions ou de vos objets. Il est important de réaliser ce qui est le plus élémentaire et le plus facile pour vous, et d’y aller graduellement par la suite. Par exemple, moi j’ai commencé à construire le menu de mon jeu. Ensuite, je lui ai mis les boutons « Un joueur », « Deux joueurs », « Instructions » et « À propos ». Après tout cela, j’ai créé une balle au mode un joueur, je l’ai fait déplacé, rebondir, mis les raquettes et ainsi de suite. Et quand on commence facile, on est mieux « échauffé » pour faire le reste et on devient plus à l’aise. Il est fort possible que tout ne se déroule pas comme il était prévu et cela reste toujours possible. Parfois, certaines choses vous semblent trop grandes à réaliser et il est toujours possible de les mettre sur la glace un moment. Concentrez-vous sur les éléments qui sont plus de bases en premier et ensuite vous vous occuperez des petits détails, comme la musique, la personnalisation des couleurs du jeu ou l’option de jouer en ligne avec des amis. J’aimerais vous dire que, à un moment auquel de codais mon jeu vidéo, je prévoyais donner le choix à l’utilisateur de choisir ses propres couleurs dans son jeu. J’essayais tous les moyens et ça ne fonctionnait toujours pas. Parfois, il faut s’aider par soi-même et réfléchir un tout petit peu. Pour cela, j’ai réalisé un dessin pour exprimer comment régler mon problème. Alors, le voici justement :
P a g e | 26
Il n’est vraiment pas nécessaire de comprendre qu’est-ce qui est écrit dessus, mais sachez que lorsque vous réfléchissez sur un problème, il faut laisser son esprit créatif vous guider. Toutefois, vous pouvez revenir à la partie recherche et tenter de trouver des solutions à votre problème. 3.2 Quelques tests en cours de route… Pendant votre recherche, vous avez probablement trouvé des calculs ou des algorithmes qui vous seront utiles pour certaines fonctions. Dépendamment de la source à laquelle vous vous êtes référé, les codes proposés peuvent ne pas fonctionner. Pour vous assurer que ceux-ci fonctionnent correctement, créez un
P a g e | 27 projet que vous pourrez nommer « Tests » auquel vous testerez vos algorithmes. Sinon, vous pouvez tester vos propres solutions pour savoir si elles fonctionnent correctement. 3.3 Petits détails… Souvent un sujet qu’on néglige un peu, je vous rappelle de faire attention à ce que vous téléchargez et mettez sur votre jeu vidéo surtout si vous désirez publier ou vendre votre produit à d’autres personnes. Sur ce, vous devez télécharger de la musique libre de droit si vous publiez gratuitement votre jeu, ou bien acheter un droit d’auteur auprès d’un artiste si vous voulez vendre votre produit. Il est de même pour les librairies que vous utilisez. Par ailleurs, je sais que les librairies SDL et FMOD me permettent de distribuer librement mon jeu vidéo à condition qu’il soit distribué librement. Si vous utilisez des librairies différentes, informezvous sur les licences disposées.
P a g e | 28
e
4 étape : L’évaluation Vous y êtes enfin arrivé! Votre jeu est terminé et il ne reste qu’à savoir si l’objectif que vous vous êtes fixé au départ est rempli. C’est peut-être une étape souvent négligée, mais elle s’avère très intéressante pour écouter les impressions des autres personnes qui utilisent votre jeu.
P a g e | 29 4.1 Le cahier des charges et votre projet Il est temps de savoir si votre jeu vidéo comprend tout ce qui a été indiqué dans le cahier des charges (le document que vous avez rédigé lors de la planification.) En descendant la liste, vérifiez si les critères ont été remplis par le jeu. Voici un exemple très simple : je dois avoir de la musique dans mon jeu et, pour tester cette contrainte, je vais ouvrir la musique à partir du jeu vidéo pour voir si cela fonctionne. De grâce, cela fonctionne! Après avoir évalué chaque critère, vous pourrez faire un retour sur ceux que vous n’avez pas été capable de remplir. Tenez compte aussi de la gravité des critères qui ont un grand impact sur la qualité de votre jeu vidéo. Si, dans un jeu Pong, par exemple, vous étiez incapable de faire rebondir la balle, alors c’est assez grave et votre but ne sera pas atteint comme vous l’aviez souhaité. Ainsi, vous pourrez rectifier le tir en apportant les modifications adéquates dans la partie création. 4.2 Une dernière vérification Même si votre jeu fonctionne comme vous le souhaitiez, je vous recommande fortement de faire une dernière vérification de tout votre code. Vérifiez, entre autres, si vous n’avez pas oublié de vider votre mémoire, de supprimer vos variables allouées correctement et tout autre élément qui pourrait ralentir l’ordinateur ou le rendre moins performant. Il arrive à tout le monde de faire des erreurs, alors il serait bien d’effectuer une vérification auprès de votre code.
P a g e | 30 4.3 Un format bien choisi Vous voulez probablement faire quelque chose de votre jeu, n’est-ce pas? Alors, pourquoi ne pas prendre tous vos fichiers et les rassembler dans une seule installation? Surtout si vous prévoyez distribuer votre jeu, il est important de simplifier son utilisation par le biais d’un format approprié. Votre jeu peut être disponible sur internet (comme je l’ai fait d’ailleurs) ou bien sur un cédérom pour le vendre. Si vous voulez savoir comment faire de votre programme ne installation, je vous ai proposé un lien à la page 33 de ce guide. 4.4 Publication de votre produit Et maintenant, quelles sont les opinions de ceux qui utiliseront votre programme? C’est en publiant votre jeu que vous saurez avec certitude si le jeu que vous avez construit répond bien aux attentes. Demandez-leur qu’est-ce qu’ils en pensent, s’ils ont des commentaires ou des suggestions pour une prochaine version. Je vous conseille d’utiliser les réseaux sociaux qui sont des mines d’or de commentaires et d’améliorations. N’oubliez pas de prendre en note les améliorations qui vous ont été proposées. 4.5 On améliore! Lorsque vous étiez en train de créer, peut-être bien que quelques idées vous sont apparues en tête dans le but d’améliorer votre produit. Ou même que dans la partie précédente, plusieurs de vos amis (ou clients) vous ont suggéré d’ajouter ou de changer quelques trucs dans votre jeu. C’est à cette étape-ci que vous allez décider si ça vaut le coup d’améliorer votre jeu vidéo et d’en sortir une
P a g e | 31 deuxième version améliorée. Puisque c’est la dernière étape de la démarche de votre projet, il vous faudra poursuivre votre jeu à partir du chapitre « Recherche » comme vous avez fait pour partir votre jeu vidéo.
P a g e | 32 Conclusion Désormais, vous êtes fins prêts à construire vos propres jeux vidéo avec une approche plus organisée et méthodique. Je vous le dis : une bonne organisation de son jeu vidéo vous mènera vers la route du succès. Pour le reste, il ne vous restera qu’à persévérer et à être patient pour que vos projets naissent! Pour la création de ce guide, j’ai étudié comment il est possible d’adopter de bonnes mesures de travail pour mettre en œuvre son propre jeu vidéo. Cependant, il existe quelques méthodes de travail qui vous permettent d’atteindre vos buts. Par exemple, il existe une méthode classique de développement que l’on appelle celle du « cycle en V » et d’autres dites « agiles ». Très brièvement, la méthode du cycle en V est constituée d’étapes successives de façon plus formelle. Entre autres, les logiciels conçus pour le fonctionnement des trains ou des avions utilisent cette démarche de développement. En revanche, les méthodes agiles sont plutôt utilisées dans le domaine des jeux vidéo, car elles offrent plus de flexibilité et de créativité lors du développement. Je ne vous en dis pas plus, mais je crois qu’il serait important de savoir qu’il existe vraiment des méthodologies de travail en développement informatique. Enfin, vous aurez constaté que même les plus grands créateurs de jeux vidéo utilisent des méthodes de développement bien suivies. Après avoir lu ce guide, c’est maintenant à votre tour de créer vos projets tant souhaités!
P a g e | 33
Quelques liens utiles Tutoriels sur la programmation http://www.siteduzero.com/ www.developpez.com/ Faire de son jeu une installation http://www.siteduzero.com/tutoriel-3-14171-creer-une-installation.html Musique libre www.jamendo.com Mon jeu Pong++ www.projet-pong.sitew.com