20
Comment r´ ealiser un jeu vid´ eo Gwenna¨ el ARBONA - 17 mai 2013

Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Embed Size (px)

Citation preview

Page 1: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

Gwennael ARBONA - 17 mai 2013

Page 2: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

Table des matieres

1 Introduction : DeepVoid 2

2 Pour commencer 3

2.1 Quel jeu video souhaitez-vous realiser ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 Idees et concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Le cas particulier du MMORPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 L’argent dans les jeux amateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Realiser un jeu video 6

3.1 Demarrer le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Le chef de projet, il sert a quoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Recruter une equipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.4 Gerer le temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.5 L’organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.6 Les technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.7 La production graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.8 Testez, testez, testez ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.9 Le role de la communaute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 7 idees recues sur la creation d’un jeu 14

4.1 ”Un jeu video, c’est impossible” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.2 ”Un jeu video, c’est facile, il suffit de motivation” . . . . . . . . . . . . . . . . . . . . . 14

4.3 ”Il faut des outils payants pour creer un jeu video” . . . . . . . . . . . . . . . . . . . . 14

4.4 ”Avec un moteur de jeu, on ne programme pas” . . . . . . . . . . . . . . . . . . . . . . 15

4.5 ”Les moteurs de jeu sont limites” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.6 ”Le moteur de jeu fournit le contenu, on n’a pas besoin d’en creer” . . . . . . . . . . . 16

4.7 ”On peut faire aussi bien sans moteur de jeu, en faisant tout soi-meme” . . . . . . . . 17

5 En resume 18

5.1 Comment ne pas reussir un projet de FPS ? . . . . . . . . . . . . . . . . . . . . . . . . 18

5.2 Comment reussir un projet de FPS ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Gwennael ARBONA 1

Page 3: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

1. Introduction : DeepVoid

De tous les projets amateur, un de ceux qui revient le plus souvent est le jeu video 3D. Cet articleest un retour d’experience sur la creation d’un FPS, DeepVoid, redige au moment ou le jeu commencea s’ouvrir au public apres des mois de developpement. En quelques lignes, c’est un ensemble de conseilssur la facon de travailler, un recit de ce que j’ai constate.

Figure 1 – DeepVoid en action

DeepVoid est le fruit d’une tres longue reflexion. A ses origines, le projet avait une nature tresdifferente, il s’agissait de realiser un FPS pour et par le Site du Zero. La communaute devait y jouerun role majeur : conception, realisation, support ; le projet a ete propose sur le site par sondage al’epoque de la redaction de mon cours UDK sur le meme site. Le sondage lui donne a ce moment unplebiscite : pas moins de 7000 participants ”interesses” par un FPS. Au final, l’organisation du projetse complique, prend du retard, et quelques mois plus tard, en avril 2012, un nouveau projet apparaıt.C’est un fast-FPS, DeepVoid, qui a ce moment s’appelle encore ”le FPS du Zero” et que je realise seulen esperant produire une simple demo technique.

Tres vite, je suis rejoint par plusieurs autres passionnes qui completent l’equipe, et c’est ainsiqu’avec une dizaine de developpeurs on parvient, cette meme, a montrer un jeu jouable en ligne, unrendu haut de gamme qui offre la meme qualite visuelle que les gros titres commerciaux, et meme aentrer au Top100 des jeux independants de l’annee sur IndieDB, avec une dizaine d’autres FPS endeveloppement. En mai 2013, le jeu comporte deux niveaux complets, son code est stable, distribuesous licence LGPL et la publication du jeu commence.

Gwennael ARBONA 2

Page 4: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

2. Pour commencer

Si vous lisez ces lignes, c’est probablement parce que vous souhaitez realiser un jeu video 3D.Bonne nouvelle : ca n’a jamais ete aussi interessant ! Avec la technologie actuelle, n’importe qui oupresque peut se lancer et creer un jeu extraordinaire. Mais ca reste un projet long et difficile, avec denombreux ecueils.

2.1. QUEL JEU VIDEO SOUHAITEZ-VOUS REALISER ?

Aussi evident que ca soit, il faut quand meme le rappeler : pour produire un jeu video, il fautd’abord savoir ce qu’on veut. Si votre projet est un survival FPS strategique, en voxels, avec dessorciers et un vaisseau spatial, vous etes mal barre... Faites-vous donc une idee claire du type de jeuque vous comptez realiser.

– Quel est le principe du jeu ? Est-ce un jeu solo ou multijoueurs ? Quels mecanismes proposez-vous ? N’hesitez pas a detailler un maximum cette partie...

– Quelle est la vue du joueur ? FPS, TPS, strategique ? A quoi ressemblera l’interface du jeu,fonctionnellement ?

– A quoi ressemble, visuellement, votre jeu ? Pour repondre a cette question, une seule solution :les concept arts. Qu’ils soient de vous, d’un autre, dedies a votre jeu ou non, il vous faut desconcept arts de vos personnages, de vos environnements, de vos armes ou vehicules... Montrezaux autres ce que vous comptez realiser.

– Si votre jeu est un jeu a histoire, parlez-en aussi. Attention quand meme : rien ne fait fuir lescandidats aussi bien qu’une histoire naıve pleine de fautes d’orthographe...

Figure 2 – Concept art pour DeepVoid

Au terme de cette recherche, vous devriez avoir un minimum de vingt pages de documentation survotre jeu, ses mecanismes, ses idees. Faites l’effort d’en faire quelque chose de clair, lisible et organise,c’est aussi un gage de serieux.

Gwennael ARBONA 3

Page 5: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

2.2. IDEES ET CONCEPTS

Vous avez une idee fantastique pour un jeu video ? On va commencer par la douche froide : cene sont pas les idees qui font le succes d’un jeu. Tout le monde a des idees de jeu video, il suffit deparcourir un forum cinq minutes pour s’en convaincre. Mais une idee, seule, ne vous amenera pas bienloin, et elle ne vous amenera certainement pas au recrutement d’une equipe serieuse. La raison a ca,c’est que puisque tout le monde a des idees de jeu, les gens suffisamment competents pour vous aideren verront dans votre idee qu’un projet de plus parmi des centaines qui se creent chaque jour, surtoutsi vous etes un illustre inconnu. C’est la trajectoire la plus courante d’une idee de jeu video : un sujetsur un forum, plein de gens qui en discutent sur 5 pages, et jamais un jeu qui en sort.

Pour demarrer un jeu video, il vous faut plus qu’une idee, il vous faut convaincre que vous allezrealiser le projet, contre vents et marees, meme si vous devez vous en chargez seul. Je vous arrete toutde suite : il ne suffit pas de rajouter dans votre presentation que vous etes chaud comme la braise. Cequ’il vous faut, c’est une preuve, c’est-a-dire... Le jeu lui-meme.

A ce stade, vous pensez peut-etre que je me moque de vous, mais ce n’est pas le cas. Si vousparvenez a construire une demo de votre jeu video, aussi basique et moche soit-elle, vous parviendreztres facilement a recruter des gens serieux dans votre projet. Si vous ne savez ni programmer, nimodeliser, il va falloir apprendre !

Figure 3 – Une des premieres images publiees pour DeepVoid

Gwennael ARBONA 4

Page 6: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

2.3. LE CAS PARTICULIER DU MMORPG

C’est un grand classique des forums de jeu video : le MMORPG 3D amateur. Tellement classiqueque souvent, de tels projets sont accueillis avec sarcasme, puisque c’est l’exemple parfait du projet quine peut pas reussir. Si c’est pour ca que vous etes ici, vous allez etre decus : c’est reellement infaisablepour des amateurs. D’ailleurs, vous en connaissez, des MMORPG 3D amateur ? Voici quelques raisonsa ca...

– L’aspect technologique, en particulier la gestion du reseau, est bien trop complexe pour realisablepar des amateurs. Vous pouvez vous en sortir avec des moteurs de jeu dedies comme Hero Enginepar exemple, mais ne vous attendez pas a ce que votre projet soit simple.

– Dans quasiment tous les jeux amateur, une fois l’aspect technique maıtrise, ce qui manquesystematiquement est le contenu, en particulier le contenu 3D. Les artistes 3D sont peu nom-breux, surtout les bons, et la creation de contenu prend du temps. Ce qui est penible dans unFPS devient un obstacle infranchissable dans un MMORPG.

– En admettant qu’un tel projet aboutisse et soit jouable, le coup de grace vient des joueurs. UnMMORPG n’en est un que si il a une communaute ! L’erreur des auteurs de tels projets estsouvent de sous-estimer la communaute requise. Imaginez que votre MMORPG rassemble 500joueurs actifs : ca vous semble probablement bien. Mais en fait, si au long terme votre jeu a 10%de son effectif total connecte, c’est plutot tres bien, ca veut dire que l’ensemble de vos joueursjoue 2h30 par jour en moyenne. Probleme, ca ne fait que 50 joueurs en ligne, il va donc vousfalloir plusieurs milliers de joueurs actifs pour vous en sortir...

Si tout ca ne vous decourage pas, regardez des projets comme Tabula Rasa ou All Points Bulletin,des projets commerciaux a plusieurs millions de dollars. Meme des projets avec d’enormes moyenspeuvent se planter.

2.4. L’ARGENT DANS LES JEUX AMATEUR

Si vous comptez rendre le jeu payant, que ca soit en partie ou completement, je vous arrete ici. Unjeu commercial developpe par des amateurs, c’est un casse-tete legal qui n’a aucune bonne solution,sauf si le succes est phenomenal, et encore... Voici un resume.

– Pour commercialiser un jeu, legalement, vous devez vous constituer une entite legale, a prioriune entreprise. Vous sortez de fait du cadre amateur, et votre equipe va devenir une equipe desalaries qu’il vous faut remunerer, et pas ”un petit peu” ou ”suivant les ventes”. Je ne detaillepas plus cet aspect qui parle de lui-meme.

– Sur le plan legal, les membres de votre equipe ont des droits sur leur travail, y compris celuide retirer ce travail du projet. C’est le propre du projet amateur : c’est la confiance qui soudel’ensemble.

– Toujours sur le plan legal, les logiciels et outils que vous employez a la creation de votre jeu ontbien souvent des contraintes particulieres dans un cadre commercial...

– Attirer une equipe en leur promettant une remuneration est une strategie dangereuse parcequ’elle conduit souvent a des deceptions.

Dans le cas de DeepVoid, j’ai considere que vendre le jeu ou creer du contenu payant n’etait pasenvisageable. C’est d’autant plus complique que l’equipe est vaste, sauf si vous comptez travailler seul,je vous deconseille d’essayer de vendre votre jeu.

Gwennael ARBONA 5

Page 7: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3. Realiser un jeu video

3.1. DEMARRER LE PROJET

On reprend le cheminement commence dans le chapitre precedent. Pour commencer, faites un plande votre projet, un document de game design complet avec des concepts, des explications claires. Unefois cette etape complete, preparez une demo de votre jeu pour montrer ce que vous pouvez faire.C’est la que votre projet se lance, vous allez pouvoir recruter une equipe pour vous aider dans cettetache !

L’ideal, c’est de montrer votre demo a un maximum de gens. Faites vous de la pub sur differentsforums, ouvrez une page sur IndieDB ou sur des forums de jeu video, parlez de votre projet. Dansle cas de DeepVoid, tout a commence par une demonstration video du jeu sur le Site du Zero, qui asuffit a faire venir plusieurs personnes assez rapidement.

3.2. LE CHEF DE PROJET, IL SERT A QUOI ?

On imagine tous le chef de projet dans son fauteuil, donner des ordres a toute l’equipe et collerles images du jeu sur Facebook. En realite, ce qui se passe est un peu le contraire : quand vous gerezun projet, c’est vous qui allez passer enormement de temps a recevoir des demandes de l’equipe. Carle travail du leader, ici, n’est pas simplement de donner les consignes, c’est avant tout de mettre enplace le cadre de travail pour son equipe. Comme dans la vraie vie !

Faisons le tour de ce qu’un chef de projet est amene a realiser lui-meme, en admettant que tousles postes techniques majeurs sont occupes par quelqu’un de present et competent, ce qui est deja unechance.

– Recruter de nouveaux membres est la plus evidente des taches, mais elle s’accompagne du suivide l’equipe : rester en contact avec tout le monde, gerer les absences, s’assurer que tout se passebien.

– A priori, on attend de vous l’expertise technologique sur le projet. C’est-a-dire que vous devezpouvoir comprendre le travail de tout le monde, voire aider l’equipe. Vous occupez donc lescasquettes de developpeur, admin reseau, graphiste, commercial, compositeur et meme si vousne faites que guider l’equipe, c’est clairement l’essentiel de votre emploi du temps.

– Souvent, le game design est assure par le leader du projet. C’est assez logique puisque vousavez probablement une idee assez claire de ce que vous voulez, mais ca represente un tempsconsiderable, surtout des qu’un probleme se presente. Par exemple, dans DeepVoid, le ”spawnkilling” n’etait pas prevu, il a fallu revoir le level design tardivement.

– De meme, la communication autour du projet est une tache qui prend du temps, qui exige duserieux et qui ne se delegue pas facilement. Au moins au debut, c’est donc egalement votretravail.

– Votre jeu est un jeu multijoueurs ? L’architecture reseau sur ce sujet, quelle que soit la tech-nologie, va exiger votre participation. La raison la plus evidente, c’est le cout des serveurs, maisegalement la coordination des developpeurs et de l’administrateur de vos serveurs.

– Parlons-en, du cout. A priori, ils sont restreints : pas de salaires, pas de frais majeurs. Vous avezen revanche besoin d’un site Web serieux, eventuellements de serveurs de mise a jour. Peut-etrememe que vous utilisez des logiciels payants. Dans tous les cas, c’est pour vous, et meme si lessommes restent faibles, n’esperez pas qu’un membre de l’equipe paye...

– Enfin, les moyens etant toujours limites, vous avez en plus de tout ca besoin de travailler sur lepoint technique dans lequel vous etes specialise.

Gwennael ARBONA 6

Page 8: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.3. RECRUTER UNE EQUIPE

Premier constat dans une equipe amateur : la plupart des membres de votre equipe ne seront pasimpliques. La proportion de membres inactifs varie suivant la taille de l’equipe, le domaine, la selectionque vous y faites, et bien sur les circonstances. Ce qui est sur, c’est que je n’imagine ni une equipe de10 membres tous presents, ni une equipe qui n’evolue pas pendant plus de trois mois. Et on ne peutpas prevoir ca a l’avance, parfois ceux qui ont l’air les plus motives sont ceux qui ne vous reparlerontjamais et vice versa.

Gerer une equipe est une tache difficile, c’est un metier en soi. Impossible d’en parler ici sansy consacrer un livre, l’essentiel dans un tel projet est de recruter des gens de confiance, serieux etimpliques. Le reste depend de chacun. Avec le temps, j’ai releve quelques regles :

– les membres de votre famille et vos proches amis ne sont que rarement des equipiers efficaces ;– la plupart des candidats a un recrutement ne sont pas qualifies ;– corollaire de la regle precedente, il y a toujours des candidats, meme pour un projet pourri.

Alors comment recruter ? C’est simple : realisez un prototype serieux et vendeur, et parlez-ensur des sites de reference sur le domaine, y compris a l’international. Par exemple, pour recruter undeveloppeur UDK, udk-fr et les forums d’Epic Games sont des cibles de choix, tandis que CGHubabrite des artistes jusqu’au plus haut niveau.

Un dernier mot sur le recrutement : tout le monde est toujours motive pour vous rejoindre (voirles regles ci-dessus). Toujours ! Et, aussi incroyable que ca puisse paraıtre, il arrive que des genscandidatent a votre projet, bourres de motivation, pour ne plus jamais donner signe de vie ensuite.

Pour cette raison, le plus simple est de demander aux candidats un echantillon de leur boulot. Leminimum, a priori est de regarder leurs travaux passes pour evaluer ce qu’il en est, mais donner unetache a realiser comme epreuve d’essai est une excellente idee. Dans le cas de DeepVoid, pas moinsde trois candidats serieux se sont proposes, ont discute avec nous du projet, ont accepte cette etape,promis de revenir tres vite et... ne sont jamais revenus. Au moins, en fonctionnant ainsi, on est fixesur le sujet avant de commencer serieusement...

Gwennael ARBONA 7

Page 9: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.4. GERER LE TEMPS

C’est une question qui revient bien souvent : combien de temps ca prend de developper un jeuvideo ? Tout le monde est d’accord pour dire que c’est tres long, meme les createurs qui se lancent etqu’on entend dire qu’ils sont motives ”pour des annees” et que ca prendra ”le temps qu’il faudra”.

Dans le cas de DeepVoid, il m’aura fallu un peu plus d’un an pour voir le projet arriver a un stadeproche de la publication. Pendant cette annee, les vacances, les week-ends, les soirees y passent. Pastous les soirs et pas l’ensemble des vacances, bien sur, ce n’est pas comme ca qu’il faut le comprendre,mais pas une semaine ne s’est passee sans qu’un peu de temps soit depense sur ce projet.

Le vrai probleme du temps, c’est la motivation. Meme la votre va forcement faiblir un jour, que casoit pour un soir, pour une semaine, pour un mois. On ne peut pas consacrer des centaines d’heuresde travail a quelque chose sans s’en lasser a un moment, il faut donc en prendre conscience, varier lesloisirs et avancer par etapes, avec des objectifs realistes et a court terme. Se tenir a un planning a dubon.

3.5. L’ORGANISATION

Souvent, dans les projets amateur, on trouve un peu le contraire de ce qu’il faudrait faire : pasde process pour la production, et des regles rigides pour faire bien la ou il n’y en a pas besoin. Parexemple, on va voir des gens parler de reunions, on va voir des numeros de version, un site Web ultra-complet avant meme que le projet soit lance... Et a cote de ca un jeu developpe en depit du bon sens.Developper des niveaux avant meme d’avoir un personnage fonctionnel n’est pas logique, par exemple.Commencez par l’essentiel : le gameplay.

Figure 4 – Realisation d’un niveau de DeepVoid : avant la production, le gameplay est teste

De meme, il est indispensable d’avoir une gestion de version en place. Pour le code, utiliser Git,Subversion ou un equivalent est une excellente solution, mais il faut faire de meme pour le reste. Dansle cas du moteur Unreal, utilise pour DeepVoid, l’integration avec Perforce permet de synchroniserl’ensemble des ressources. Utilisez ces outils !

Gwennael ARBONA 8

Page 10: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.6. LES TECHNOLOGIES

DeepVoid s’appuie sur le moteur Unreal et fait appel, de facon assez systematique, a des outilscommerciaux. Mon raisonnement etait simple : les pros utilisent ces technologies, faisons donc lameme chose. Un jeu video, c’est un travail qui fait appel a de nombreuses disciplines differentes.Programmation, design, modelisation 3D, musique et son, animation, interface, securite, deploiement,et j’en passe : si la plupart des jeux commerciaux affichent deux cent personnes au generique du jeuce n’est pas un hasard !

Alors il faut se resoudre a utiliser des outils qui facilitent ce travail. Aujourd’hui, UDK, CryEngineet d’autres permettent a n’importe qui de se lancer dans le jeu video avec des connaissances dans unseul de ces domaines, c’est une situation extraordinaire. Utilisez ces outils, on ne le dira pas assez !Le maıtre mot, c’est de ne pas rajouter de la difficulte si on peut l’eviter. Les solutions commercialessont souvent les plus efficaces, et ne sont pas toutes payantes.

Figure 5 – Visualisation des lightmaps dans un niveau de DeepVoid

La plupart des projets amateur travaillent sur des technologies plus ”geek”, en s’appuyant sur deslogiciels libres. Beaucoup de developpeurs sont convaincus que le meilleur choix est d’assembler descomposants open-source autour d’un code C++, arguant que c’est une solution moins contraignantequ’un moteur de jeu. C’est effectivement vrai, mais l’experience montre, meme pour des jeux com-merciaux, que c’est un mirage. La vraie difficulte, c’est rarement de faire quelque chose qui n’est pasprevu dans un moteur de jeu (meme si bien sur, ca arrive regulierement) mais de faire quelque chosequi fonctionne. Si vous n’etes toujours pas convaincus, regardez les projets independants a succes quifont appel a ces moteurs !

Gwennael ARBONA 9

Page 11: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.7. LA PRODUCTION GRAPHIQUE

Le gros oeuvre du jeu video, c’est bien la production du contenu. Interface graphique, personnages,animations, environnements, voila de quoi vous occuper pendant des mois. C’est la que les conceptsque vous avez rassemble au debut du projet vont vous aider ! Vous devez guider votre equipe artistique,definir le type de rendu que vous visez, le budget de performances suivant la technologie employee...C’est un travail lourd mais passionnant puisque vous allez voir votre jeu video se construire peu a peu.

Dans votre production, tachez de fonctionner de la meme facon que pour le projet en general :allez a l’essentiel, commencez par le plus simple et basique et a partir de cette base, faites avancer letravail. Par exemple, dans la realisation d’un niveau, il faut commencer par un prototype cubique sanscontenu travaille. Une fois la structure du niveau validee, vous pouvez travailler sur l’aspect visuel,construire le niveau, puis continuer a l’ameliorer jusqu’a ce que vous le jugiez termine.

Figure 6 – Concept art d’un niveau

Gwennael ARBONA 10

Page 12: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

Tenez-vous au courant de la facon dont les professionnels travaillent. Que ca soit le design modu-laire, le sculpt, le process ”high to low” ou le shading, vous allez voir besoin de maıtriser des processcreatifs pour produire du contenu de qualite.

Figure 7 – Resultat apres production

Une bonne facon de situer son niveau et de se tenir au courant de la technologie est de suivreles forums de professionnels. CGHub et Polycount, par exemple, sont des communautes dediees augraphisme numerique, vous y trouverez de nombreux passionnes, amateurs ou non, qui presentent leurscreations. Faites de meme pour le jeu video avec des sites comme IndieDB et vous pourrez facilementcomparer votre travail, ou tout simplement trouver de nouvelles idees.

Gwennael ARBONA 11

Page 13: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.8. TESTEZ, TESTEZ, TESTEZ !

Habituellement, tout le monde est d’accord pour dire qu’il faut faire des essais. Mais les essais,c’est quoi ? Prenons l’exemple d’un jeu multijoueurs typique, avec un mode solo basique et des serveursdedies, et faisons la liste des situations les plus evidentes...

– le joueur est en local, tout fonctionne sur son ordinateur ;– la partie se deroule en LAN, le jeu est reparti sur plusieurs machines, avec des temps de trans-

mission tres faibles, inferieurs a la milliseconde ;– la partie se deroule en multijoueurs sur Internet sur un serveur dedie, les temps de transmission

depassent 100ms ;– la partie se deroule en multijoueurs sur Internet avec un joueur qui heberge (peer-to-peer) et

qui a donc a la fois un client et un serveur.

Felicitations, pour chaque modification de votre code reseau, vous avez pas moins de quatre casde figure completement differents a tester, qui vont impliquer pas moins de trois machines de test.Vous pensez que les differences sont minimes ? Pour DeepVoid, quasiment la moitie des bugs connusconcernent le reseau, malgre l’usage d’un moteur de jeu tres complet et fiable de ce cote...

Cette logique s’applique partout dans votre projet. Prenons par exemple l’installation de votrejeu chez le joueur, dans le cas le plus classique, c’est-a-dire sous Windows. A l’heure actuelle, quatreversions differente de cet OS sont couramment utilisees par des joueurs, et vous devrez malgre toutinstaller de nombreuses dependances logicielles (des programmes que vous avez utilise et que vous devezdonc fournir avec le jeu pour qu’il fonctionne). A priori, vous aurez au minimum besoin d’installerDirectX et des binaires lies a votre compilateur, en plus de votre jeu... Toujours sur quatre versionsd’un OS.

On peut continuer pendant des heures sur ce sujet, le resume est simple : vous devez absolumenttout tester, a chaque version du jeu. Surtout, vous devez le faire au fur et a mesure du developpement,a chaque nouvelle fonctionnalite, a chaque etape, et pas a la fin du projet.

Gwennael ARBONA 12

Page 14: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

3.9. LE ROLE DE LA COMMUNAUTE

DeepVoid a commence avec un concept communautaire dans lequel le jeu etait co-realise par lesmembres du Site du Zero. Au final, c’est un projet different qui s’est fait, avec une equipe reduiteet fermee qui a realise 100% du contenu du jeu. Aucun element externe n’est present, pas meme lesressources fournies avec notre moteur de jeu. Le role de la communaute s’est donc reduit aux tests, auxavis, idees pour ameliorer le jeu ou corriger des bugs. En revanche, si nous avons limite l’implication dela communaute, nous avons tenus a lui fournir notre travail. C’est ainsi que 4 seances d’essais publics,repartis sur des durees de 24h a un mois, ont ete realisees en invitant des joueurs enthousiastes. C’estaussi pour ca que nous avons tenu a publier des milliers de lignes de code sous une licence libre, descours videos, des exemples, afin de permettre a chacun de se former sur ces technologies.

Alors bien sur, la communaute ce n’est pas toujours rose. C’est ainsi que nous avons ete victimesd’une longue serie d’attaques diverses de la part d’une autre equipe amateur, s’echelonnant du bugexploit aux tentatives d’intrusion en passant par le vol et la redistribution de notre travail. Plus tard,on saura que d’autres projets avait eu affaire a ces memes personnes, qui pillaient des ressourceset decourageaient les equipes, de jeu en jeu... Conclusion a en tirer : il est difficile d’impliquer unecommunaute dans le developpement d’un jeu video, surtout quand ca implique de distribuer desprototypes. Par la suite, nous avons donc choisi d’exiger une inscription prealable avec des adressesemails, des coordonnees, un minimum de selection et d’encadrement, des acces securises et identifies.C’est reellement indispensable.

La communaute est egalement un facteur de complications quand le gameplay s’elabore. Pour uneraison simple d’abord : tous les joueurs sont differents et leurs gouts en matiere de jeu video aussi.C’est donc impossible de satisfaire tout le monde ! Mais surtout, si votre projet est un tant soi peuoriginal, le risque pris en ecoutant trop les joueurs est de realiser au final un jeu qui soit exactementce a quoi les joueurs jouent deja, et ca, meme eux ne le souhaitent en realite pas. Vous avez une idee,suivez-la. On m’a reproche de ne pas suivre toutes les propositions en arguant qu’un projet amateur”est cense etre a l’ecoute”, position a laquelle je ne souscris pas. Faites le jeu que vous voulez faire,pas celui qu’on vous demande de faire.

En revanche, la communaute a eu un role fantastique au moment du concours Indie Of The Yeard’IndieDB. Nous avons eu pres de 15000 visites sur le site en quelques semaines, avec des centainesde message d’encouragement, des conseils, des joueurs qui ont fait la promotion de notre jeu. C’estcertainement mon meilleur souvenir de ce projet, et je remercie encore a tous ceux qui ont participea ca !

Gwennael ARBONA 13

Page 15: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

4. 7 idees recues sur la creation d’un jeu

Aux detours des forums, on trovue parfois de curieux a-priori sur le jeu video. Tordons le coup aquelques-unes de ces idees recues...

4.1. ”UN JEU VIDEO, C’EST IMPOSSIBLE”

Aujourd’hui, il y a des outils de developpement adaptes qui permettent en quelques mois, a uneequipe reduite de developper un FPS basique, comme un clone de Counter-Strike par exemple. Bienentendu, ca demande un travail acharne et des competences solides en programmation, en design, enmodelisation, en son et c’est la vraie difficulte : aucune solution technique ne fera le boulot a votreplace.

En revanche, pourquoi implementer un enieme moteur de rendu 3D de la planete ? C’est unprobleme ancien qui a deja ete resolu des centaines de fois. Le principe d’un moteur de jeu est decentraliser les problemes les plus courants pour faciliter le travail : rendu 3D, code reseau, gestiondu son, importation de contenu, creation de niveaux... En partant de la, c’est a vous de creer votrejeu video : simplement, au lieu d’assembler des bibliotheques plus ou moins completes et compatibles,vous utilisez un environnement integre.

4.2. ”UN JEU VIDEO, C’EST FACILE, IL SUFFIT DE MOTIVATION”

Malheureusement, c’est aussi faux que l’extreme precedent. Il faut des competences tellementvariees qu’il est essentiel de se regrouper pour creer un jeu 3D. Listons donc les postes critiques d’untel projet, sur le plan technique : programmeur(s), modelisateur(s) 3D, level designer, artiste son/ compositeur, webmaster... A ces competences techniques, se rajoute la tache difficile de gerer leprojet. Un tel poste n’est pas concevable sans une experience basique de tous les domaines cites : ca nes’improvise pas, ce n’est pas le poste de celui qui ne sait rien faire, ce n’est pas le poste du glandeur,ce n’est pas non plus le chef qui decide de tout. C’est un poste difficile.

4.3. ”IL FAUT DES OUTILS PAYANTS POUR CREER UN JEU VIDEO”

Dans l’absolu, ce n’est pas completement faux. La suite Adobe au grand complet peut se revelerun allie de poids, les logiciels 3D de grandes entreprises egalement. En revanche, surtout si vousdebutez, sachez decouvrir les solutions gratuites voire libres. Par exemple, il est parfaitement possiblede developper un niveau de jeu video moderne avec Blender et GIMP dans un moteur de jeu telqu’UDK, qui est lui-meme gratuit pour un usage non commercial.

Gwennael ARBONA 14

Page 16: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

4.4. ”AVEC UN MOTEUR DE JEU, ON NE PROGRAMME PAS”

C’est probablement le propos le plus courant sur les moteurs de jeu : c’est aussi le plus faux.Prenons l’exemple d’Unreal Engine ou UDK : son projet d’exemple est constitue d’environ 400 000lignes de code. Si vous lisez ces lignes, il y a fort a parier que vous avez deja programme, mais quellequantite de code avez-vous ecrit dans votre vie ? Si vous etes programmeur de metier, probablementplusieurs milliers ou dizaines de milliers... Imaginez dix fois cette quantite : oui, il faut reellementprogrammer avec un moteur de jeu, et pas qu’un peu.

La meme critique est souvent faite sur les langages employes dans ces moteurs, parfois considerecomme des scripts sans complexite technique. Il n’en est rien ! Ne voyez pas un moteur de jeu commeun logiciel pour creer votre jeu, voyez-le comme un environnement de developpement, un laboratoireen quelque sorte, remplis d’outils pratiques.

4.5. ”LES MOTEURS DE JEU SONT LIMITES”

La encore, c’est une erreur courante. Vous avez, plutot que des limitations, des choix techniquesdeja faits a bas niveau qui ne vous laissent pas la liberte de les modifier. En revanche, ces choixn’interferent pas avec le gameplay, le developpement du jeu video en lui-meme, pour plusieurs raisons.D’abord, un moteur de jeu est un environnement de developpement et pas une machine a faire desjeux : il ne prend pas les decisions a votre place.

Ensuite, le code d’un moteur ne s’attaque jamais au gameplay, ce n’est pas sa mission : il s’attaquea des problemes de bas niveau et implemente des mecanismes basiques comme par exemple la notionde joueur, d’equipe, de score, mais sans jamais en fixer les regles : c’est a vous de les choisir et lemoteur ne le fait pas pour vous. Plus generalement, le moteur s’arrete a relativement bas niveau. Sivous souhaitez faire de la classe ”Joueur” du moteur un vehicule ou un batiment, rien ne vous enempeche ! C’est le principe.

Enfin, si vous vous sentez limite par un aspect du moteur, souvenez-vous que bien souvent il permetde faire appel a du code exterieur, par exemple si vous souhaitez gerer Kinect... En d’autres termes,ce qui est essentiel c’est de comprendre que vous aurez encore enormement de travail, meme avec unmoteur de jeu et rien qu’en programmation. Ce n’est pas une solution de facilite : c’est une solutionrealiste.

Certains tendent a categoriser les moteurs de jeu comme un outil automatique pour faire un clonede Call of Duty. Ne vous y laissez surtout pas prendre, c’est une vision particulierement erronee dela realite. En particulier, un moteur comme UDK ou Unity ne vous force pas a faire un type de jeuparticulier, la seule limite est d’etre en 3D : que ca soit un jeu de course, un FPS, une simulation,c’est possible et pas moins adapte dans un cas que dans l’autre.

Gwennael ARBONA 15

Page 17: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

4.6. ”LE MOTEUR DE JEU FOURNIT LE CONTENU, ON N’A PAS BE-

SOIN D’EN CREER”

Effectivement, un moteur tel qu’UDK propose une base de travail tres consequente et suffisantepour creer un jeu basique. Mais vous ne devez surtout pas vous en tenir la, ce n’est pas l’objectif ! Ilfaut voir ces elements comme des demonstrations, des aides au developpement pour creer votre proprecontenu.

Figure 8 – Le style visuel, c’est ca qui decide de la personnalite de votre jeu

Un jeu video, ce n’est pas juste un programme, c’est une œuvre artistique et ludique et vousdevez etre bien conscient qu’en utilisant des elements crees par d’autres, vous enlevez toute ame avotre creation. C’est bien dommage ! Prenez le temps de developper votre contenu, recrutez d’autrescreateurs pour vous appuyer.

Dans le cas de DeepVoid, l’integralite du contenu visuel a ete realise par l’equipe. Aucun elementexterieur n’a ete admis, l’usage des ressources du moteur s’est restreint aux animations du personnage.C’est un choix qui entraıne beaucoup de travail, mais qui permet aussi de realiser un jeu de qualite.

Gwennael ARBONA 16

Page 18: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

4.7. ”ON PEUT FAIRE AUSSI BIEN SANS MOTEUR DE JEU, EN FAISANT

TOUT SOI-MEME”

C’est un discours ambitieux, et malheureusement irrealiste. En pratique, il faut reellement desannees de developpement pour creer un jeu video si on ne s’appuie pas sur un environnement existant,et a ma connaissance les projets 3D amateur realises de la sorte ont un taux d’echec particulierementdramatique. Le plus grand piege, c’est de vous imaginer que ca sera facile avec un moteur de jeu, etque pour avoir du challenge, il faut faire tout soi-meme. C’est une erreur terrible, et souvent fatale ades projets qui autrement auraient pu fonctionner. Meme avec un moteur, vous avez encore des moisde travail devant vous, a plusieurs.

Souvent, les moteurs de jeu integrent des solutions proprietaires, fermees et que vous ne trouverezpas ailleurs. Le choix de travailler avec vous appartient, mais leur statut de leader est bien souventmerite : compression video, generation de verdure, interfaces ou optimisation, ce genre de domained’expertise demande enormement de travail. Sachez mettre a profit un outil existant plutot que detout refaire vous-memes.

Evidemment, les technologies comme Irrlicht ou OGRE ne sont pas inutiles. Elles permettent euxaussi, dans l’absolu, de realiser un jeu video et ont un tres grand interet pedagogique. Il existe d’ailleursquelques projets fonctionnels bases sur ces technologies, sans moteur de jeu complet. Mais il faut bienvoir deux elements distincts : l’aspect pedagogique de son travail, ce qu’on va apprendre et l’objectif,ce qu’on va realiser au final. Ces deux aspects s’opposent dans une certaine mesure : on ne peut pasgagner sur l’un sans perdre sur l’autre, pour un temps donne. Quand on realise un site Web, on peutfaire les deux sans que ca prenne des annees, mais dans le cas d’un jeu video c’est une toute autrehistoire.

Si le resultat importe peu et qu’on veut apprendre, employer OGRE ou carrement OpenGL estune excellente idee, mais nuit considerablement aux chances de succes sur le plan du jeu lui-meme telqu’un joueur le percevra, ainsi qu’a sa qualite technique : rendu, performances, fiabilite... A vous dechoisir votre objectif : n’esperez cependant pas concilier les deux.

Gwennael ARBONA 17

Page 19: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

5. En resume

5.1. COMMENT NE PAS REUSSIR UN PROJET DE FPS ?

La provocation est volontaire : la vaste majorite des projets de ce type echouent. Le plus curieux,c’est qu’ils echouent absolument tous de la meme facon :

– une equipe lance son projet, typiquement avec 3 ou 4 membres ”passionnes” et ”motives a fond”qui se donnent ”tout le temps qu’il faudra” pour reussir, avec un ou deux game designers ;

– ils ont un site Web sur un hebergeur gratuit, un nom, un logo, un scenario, et souvent 3/4 objets3D montres dans un modeleur 3D ;

– ils ont deja choisi les solutions techniques, typiquement OGRE ou Irrlicht ;– ils lancent un recrutement pour embaucher un compositeur, des artistes 3D, etc ;– et 3 mois plus tard, le projet a disparu.

Alors, c’est peut-etre un peu pretentieux d’en tirer une generalite, tout n’est peut-etre pas a jeterdans un tel cheminement. Ce qui est certain, c’est que c’est le scenario type, et que ce scenario aune forte tendance a echouer. Typiquement, les news s’espacent, les threads de forum s’oublient, pluspersonne n’entend parler du projet. Il est rare que le projet soit officiellement abandonne, ce quid’ailleurs est bien dommage. Dommage pour l’equipe qui n’a sans doute pas tire la lecon et s’estdecouragee, dommage pour les autres qui ne peuvent pas prendre exemple.

On n’insistera jamais assez sur la proportion de projets qui echouent, ou du moins qui ne sontjamais jouables, finis, distribues au public. Dire que c’est le cas de 99% d’entre eux est probablementun euphemisme. Il ne faut pas abandonner pour autant, il faut simplement prendre conscience desproblemes et s’armer en consequence.

Gwennael ARBONA 18

Page 20: Comment r ealiser un jeu vid eo - Devblog | DeepVoiddeepvoid.eu/uploads/RealiserJeuVideo.pdf · Comment r ealiser un jeu vid eo 2.Pour commencer ... parcourir un forum cinq minutes

Comment realiser un jeu video

5.2. COMMENT REUSSIR UN PROJET DE FPS ?

Pour le coup, c’est un avis completement personnel que je vais exposer. Je l’espere eclaire, maisil faut plutot le voir comme un exemple de quelque chose qui a marche plutot que le seul moyen dereussir, qu’il n’est certainement pas. Reprenons l’histoire de DeepVoid, c’est en fait l’exact contrairede l’exemple precedent :

– un developpeur seul lance son projet, avec pour ambition de faire une simple ebauche ;– jusqu’a la moitie du developpement, le projet n’a ni nom, ni logo, ni site Web, il n’aura jamais

de scenario ou d’univers ;– le jeu s’appuie sur le moteur Unreal, via UDK, et est realise avec des outils comme Photohop,

Flash, 3DS Max, Perforce ou Eclipse ;– le premier recrutement se fait a un moment ou un prototype est deja jouable en ligne ;– il faut plus d’un an de developpement pour commencer a parler de publication, mais le projet

aboutit, avec une ambition nettement revue a la hausse pendant le developpement.

En une phrase, ce que je recommande a n’importe quel developpeur, c’est d’aller de l’avant enpermanence. Si vous voulez quelque chose, faites-le vous-memes ! Peu importe que ca soit laid ou malfait, faites-le. Si votre projet est interessant, d’autres viendront pour le refaire proprement. Que casoit pour du son, du FX, de l’interface ou du level design... N’attendez pas, agissez.

Alors evidemment, ca implique de passer beaucoup de travail. Pour DeepVoid, il m’a fallu pratiquerquatre langages differents, apprendre Flash, Windows Server, et resoudre des problemes aussi variesque le level design ou l’installation chez le joueur, avec une equipe repartie sur deux continents.

Mais ca, ca fait partie du jeu.

5.3. CONCLUSION

Vous vous lancez dans un travail difficile, mais passionnant. Au terme de ce document, vous avez(je l’espere) une vision un peu plus claire de ce qui vous attend. Il ne faut pas que ca vous demotivepour autant : comme je le dis plus haut, creer un jeu video n’a jamais ete aussi accessible. C’est unequestion de temps, d’organisation et de bonnes decisions techniques.

Le maıtre mot pour avancer, c’est de communiquer. N’ayez pas peur de demander des critiques,des retours, des conseils. N’ayez pas peur de poster sur le forum d’un logiciel pour demander pourquoivotre solution ne fonctionne pas. Et surtout, n’ayez pas peur qu’on vous vole vos idees ! On vous lesvolera de toute facon si elles sont bonnes, et si vous avez suivi, vous devez commencer a voir que l’ideene fait pas le resultat.

Le mot de la fin ? Bon courage !

Les images employees dans ce document sont extraites du projet DeepVoid et ont ete realisees parl’equipe du jeu. Pour en savoir plus, visitez le site officiel sur http ://deepvoid.eu .

Gwennael ARBONA 19