Comment réaliser un jeu vidéo

Transcription

Comment réaliser un jeu vidéo
Comment réaliser un jeu vidéo
Gwennaël ARBONA - 17 mai 2013
Comment réaliser un jeu vidéo
Table des matières
1 Introduction : DeepVoid
2
2 Pour commencer
3
2.1
Quel jeu vidéo souhaitez-vous réaliser ? . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Idées et concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.3
Le cas particulier du MMORPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.4
L’argent dans les jeux amateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3 Réaliser un jeu vidéo
6
3.1
Démarrer le projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.2
Le chef de projet, il sert à quoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3.3
Recruter une équipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3.4
Gérer 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 rôle de la communauté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4 7 idées reçues sur la création d’un jeu
14
4.1
”Un jeu vidéo, c’est impossible” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.2
”Un jeu vidéo, c’est facile, il suffit de motivation” . . . . . . . . . . . . . . . . . . . . .
14
4.3
”Il faut des outils payants pour créer un jeu vidéo” . . . . . . . . . . . . . . . . . . . .
14
4.4
”Avec un moteur de jeu, on ne programme pas” . . . . . . . . . . . . . . . . . . . . . .
15
4.5
”Les moteurs de jeu sont limités” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.6
”Le moteur de jeu fournit le contenu, on n’a pas besoin d’en créer” . . . . . . . . . . .
16
4.7
”On peut faire aussi bien sans moteur de jeu, en faisant tout soi-même” . . . . . . . .
17
5 En résumé
18
5.1
Comment ne pas réussir un projet de FPS ? . . . . . . . . . . . . . . . . . . . . . . . .
18
5.2
Comment réussir un projet de FPS ? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
5.3
Conclusion
19
Gwennaël ARBONA
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Comment réaliser un jeu vidéo
1.
Introduction : DeepVoid
De tous les projets amateur, un de ceux qui revient le plus souvent est le jeu vidéo 3D. Cet article
est un retour d’expérience sur la création d’un FPS, DeepVoid, rédigé au moment où le jeu commence
à s’ouvrir au public après des mois de développement. En quelques lignes, c’est un ensemble de conseils
sur la façon de travailler, un récit de ce que j’ai constaté.
Figure 1 – DeepVoid en action
DeepVoid est le fruit d’une très longue réflexion. A ses origines, le projet avait une nature très
différente, il s’agissait de réaliser un FPS pour et par le Site du Zéro. La communauté devait y jouer
un rôle majeur : conception, réalisation, support ; le projet a été proposé sur le site par sondage à
l’époque de la rédaction de mon cours UDK sur le même site. Le sondage lui donne à ce moment un
plébiscite : pas moins de 7000 participants ”intéressés” par un FPS. Au final, l’organisation du projet
se complique, prend du retard, et quelques mois plus tard, en avril 2012, un nouveau projet apparaı̂t.
C’est un fast-FPS, DeepVoid, qui à ce moment s’appelle encore ”le FPS du Zéro” et que je réalise seul
en espérant produire une simple démo technique.
Très vite, je suis rejoint par plusieurs autres passionnés qui complètent l’équipe, et c’est ainsi
qu’avec une dizaine de développeurs on parvient, cette même, à montrer un jeu jouable en ligne, un
rendu haut de gamme qui offre la même qualité visuelle que les gros titres commerciaux, et même à
entrer au Top100 des jeux indépendants de l’année sur IndieDB, avec une dizaine d’autres FPS en
développement. En mai 2013, le jeu comporte deux niveaux complets, son code est stable, distribué
sous licence LGPL et la publication du jeu commence.
Gwennaël ARBONA
2
Comment réaliser un jeu vidéo
2.
Pour commencer
Si vous lisez ces lignes, c’est probablement parce que vous souhaitez réaliser un jeu vidéo 3D.
Bonne nouvelle : ça n’a jamais été aussi intéressant ! Avec la technologie actuelle, n’importe qui ou
presque peut se lancer et créer un jeu extraordinaire. Mais ça reste un projet long et difficile, avec de
nombreux écueils.
2.1. QUEL JEU VIDÉO SOUHAITEZ-VOUS RÉALISER ?
Aussi évident que ça soit, il faut quand même le rappeler : pour produire un jeu vidéo, il faut
d’abord savoir ce qu’on veut. Si votre projet est un survival FPS stratégique, en voxels, avec des
sorciers et un vaisseau spatial, vous êtes mal barré... Faites-vous donc une idée claire du type de jeu
que vous comptez réaliser.
– Quel est le principe du jeu ? Est-ce un jeu solo ou multijoueurs ? Quels mécanismes proposezvous ? N’hésitez pas à détailler un maximum cette partie...
– Quelle est la vue du joueur ? FPS, TPS, stratégique ? A quoi ressemblera l’interface du jeu,
fonctionnellement ?
– A quoi ressemble, visuellement, votre jeu ? Pour répondre à cette question, une seule solution :
les concept arts. Qu’ils soient de vous, d’un autre, dédiés à votre jeu ou non, il vous faut des
concept arts de vos personnages, de vos environnements, de vos armes ou véhicules... Montrez
aux autres ce que vous comptez réaliser.
– Si votre jeu est un jeu à histoire, parlez-en aussi. Attention quand même : rien ne fait fuir les
candidats 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 sur
votre jeu, ses mécanismes, ses idées. Faites l’effort d’en faire quelque chose de clair, lisible et organisé,
c’est aussi un gage de sérieux.
Gwennaël ARBONA
3
Comment réaliser un jeu vidéo
2.2. IDÉES ET CONCEPTS
Vous avez une idée fantastique pour un jeu vidéo ? On va commencer par la douche froide : ce
ne sont pas les idées qui font le succès d’un jeu. Tout le monde a des idées de jeu vidéo, il suffit de
parcourir un forum cinq minutes pour s’en convaincre. Mais une idée, seule, ne vous amènera pas bien
loin, et elle ne vous amènera certainement pas au recrutement d’une équipe sérieuse. La raison à ça,
c’est que puisque tout le monde a des idées de jeu, les gens suffisamment compétents pour vous aider
en verront dans votre idée qu’un projet de plus parmi des centaines qui se créent chaque jour, surtout
si vous êtes un illustre inconnu. C’est la trajectoire la plus courante d’une idée de jeu vidéo : un sujet
sur un forum, plein de gens qui en discutent sur 5 pages, et jamais un jeu qui en sort.
Pour démarrer un jeu vidéo, il vous faut plus qu’une idée, il vous faut convaincre que vous allez
réaliser le projet, contre vents et marées, même si vous devez vous en chargez seul. Je vous arrête tout
de suite : il ne suffit pas de rajouter dans votre présentation que vous êtes chaud comme la braise. Ce
qu’il vous faut, c’est une preuve, c’est-à-dire... Le jeu lui-même.
A ce stade, vous pensez peut-être que je me moque de vous, mais ce n’est pas le cas. Si vous
parvenez à construire une démo de votre jeu vidéo, aussi basique et moche soit-elle, vous parviendrez
très facilement à recruter des gens sérieux dans votre projet. Si vous ne savez ni programmer, ni
modéliser, il va falloir apprendre !
Figure 3 – Une des premières images publiées pour DeepVoid
Gwennaël ARBONA
4
Comment réaliser un jeu vidéo
2.3. LE CAS PARTICULIER DU MMORPG
C’est un grand classique des forums de jeu vidéo : le MMORPG 3D amateur. Tellement classique
que souvent, de tels projets sont accueillis avec sarcasme, puisque c’est l’exemple parfait du projet qui
ne peut pas réussir. Si c’est pour ça que vous êtes ici, vous allez être déçus : c’est réellement infaisable
pour des amateurs. D’ailleurs, vous en connaissez, des MMORPG 3D amateur ? Voici quelques raisons
à ça...
– L’aspect technologique, en particulier la gestion du réseau, est bien trop complexe pour réalisable
par des amateurs. Vous pouvez vous en sortir avec des moteurs de jeu dédiés comme Hero Engine
par exemple, mais ne vous attendez pas à ce que votre projet soit simple.
– Dans quasiment tous les jeux amateur, une fois l’aspect technique maı̂trisé, ce qui manque
systématiquement est le contenu, en particulier le contenu 3D. Les artistes 3D sont peu nombreux, surtout les bons, et la création de contenu prend du temps. Ce qui est pénible dans un
FPS devient un obstacle infranchissable dans un MMORPG.
– En admettant qu’un tel projet aboutisse et soit jouable, le coup de grâce vient des joueurs. Un
MMORPG n’en est un que si il a une communauté ! L’erreur des auteurs de tels projets est
souvent de sous-estimer la communauté requise. Imaginez que votre MMORPG rassemble 500
joueurs actifs : ça vous semble probablement bien. Mais en fait, si au long terme votre jeu a 10%
de son effectif total connecté, c’est plutôt très bien, ça veut dire que l’ensemble de vos joueurs
joue 2h30 par jour en moyenne. Problème, ça ne fait que 50 joueurs en ligne, il va donc vous
falloir plusieurs milliers de joueurs actifs pour vous en sortir...
Si tout ça ne vous décourage pas, regardez des projets comme Tabula Rasa ou All Points Bulletin,
des projets commerciaux à plusieurs millions de dollars. Même des projets avec d’énormes moyens
peuvent se planter.
2.4. L’ARGENT DANS LES JEUX AMATEUR
Si vous comptez rendre le jeu payant, que ça soit en partie ou complètement, je vous arrête ici. Un
jeu commercial développé par des amateurs, c’est un casse-tête légal qui n’a aucune bonne solution,
sauf si le succès est phénoménal, et encore... Voici un résumé.
– Pour commercialiser un jeu, légalement, vous devez vous constituer une entité légale, a priori
une entreprise. Vous sortez de fait du cadre amateur, et votre équipe va devenir une équipe de
salariés qu’il vous faut rémunérer, et pas ”un petit peu” ou ”suivant les ventes”. Je ne détaille
pas plus cet aspect qui parle de lui-même.
– Sur le plan légal, les membres de votre équipe ont des droits sur leur travail, y compris celui
de retirer ce travail du projet. C’est le propre du projet amateur : c’est la confiance qui soude
l’ensemble.
– Toujours sur le plan légal, les logiciels et outils que vous employez à la création de votre jeu ont
bien souvent des contraintes particulières dans un cadre commercial...
– Attirer une équipe en leur promettant une rémunération est une stratégie dangereuse parce
qu’elle conduit souvent à des déceptions.
Dans le cas de DeepVoid, j’ai considéré que vendre le jeu ou créer du contenu payant n’était pas
envisageable. C’est d’autant plus compliqué que l’équipe est vaste, sauf si vous comptez travailler seul,
je vous déconseille d’essayer de vendre votre jeu.
Gwennaël ARBONA
5
Comment réaliser un jeu vidéo
3.
Réaliser un jeu vidéo
3.1. DÉMARRER LE PROJET
On reprend le cheminement commencé dans le chapitre précédent. Pour commencer, faites un plan
de votre projet, un document de game design complet avec des concepts, des explications claires. Une
fois cette étape complète, préparez une démo de votre jeu pour montrer ce que vous pouvez faire.
C’est là que votre projet se lance, vous allez pouvoir recruter une équipe pour vous aider dans cette
tâche !
L’idéal, c’est de montrer votre démo à un maximum de gens. Faites vous de la pub sur différents
forums, ouvrez une page sur IndieDB ou sur des forums de jeu vidéo, parlez de votre projet. Dans
le cas de DeepVoid, tout a commencé par une démonstration vidéo du jeu sur le Site du Zéro, qui a
suffit à faire venir plusieurs personnes assez rapidement.
3.2. LE CHEF DE PROJET, IL SERT À QUOI ?
On imagine tous le chef de projet dans son fauteuil, donner des ordres à toute l’équipe et coller
les images du jeu sur Facebook. En réalité, ce qui se passe est un peu le contraire : quand vous gérez
un projet, c’est vous qui allez passer énormément de temps à recevoir des demandes de l’équipe. Car
le travail du leader, ici, n’est pas simplement de donner les consignes, c’est avant tout de mettre en
place le cadre de travail pour son équipe. Comme dans la vraie vie !
Faisons le tour de ce qu’un chef de projet est amené à réaliser lui-même, en admettant que tous
les postes techniques majeurs sont occupés par quelqu’un de présent et compétent, ce qui est déjà une
chance.
– Recruter de nouveaux membres est la plus évidente des tâches, mais elle s’accompagne du suivi
de l’équipe : rester en contact avec tout le monde, gérer les absences, s’assurer que tout se passe
bien.
– A priori, on attend de vous l’expertise technologique sur le projet. C’est-à-dire que vous devez
pouvoir comprendre le travail de tout le monde, voire aider l’équipe. Vous occupez donc les
casquettes de développeur, admin réseau, graphiste, commercial, compositeur et même si vous
ne faites que guider l’équipe, c’est clairement l’essentiel de votre emploi du temps.
– Souvent, le game design est assuré par le leader du projet. C’est assez logique puisque vous
avez probablement une idée assez claire de ce que vous voulez, mais ça représente un temps
considérable, surtout dès qu’un problème se présente. Par exemple, dans DeepVoid, le ”spawn
killing” n’était pas prévu, il a fallu revoir le level design tardivement.
– De même, la communication autour du projet est une tâche qui prend du temps, qui exige du
sérieux et qui ne se délègue pas facilement. Au moins au début, c’est donc également votre
travail.
– Votre jeu est un jeu multijoueurs ? L’architecture réseau sur ce sujet, quelle que soit la technologie, va exiger votre participation. La raison la plus évidente, c’est le coût des serveurs, mais
également la coordination des développeurs et de l’administrateur de vos serveurs.
– Parlons-en, du coût. A priori, ils sont restreints : pas de salaires, pas de frais majeurs. Vous avez
en revanche besoin d’un site Web sérieux, éventuellements de serveurs de mise à jour. Peut-être
même que vous utilisez des logiciels payants. Dans tous les cas, c’est pour vous, et même si les
sommes restent faibles, n’espérez pas qu’un membre de l’équipe paye...
– Enfin, les moyens étant toujours limités, vous avez en plus de tout ça besoin de travailler sur le
point technique dans lequel vous êtes spécialisé.
Gwennaël ARBONA
6
Comment réaliser un jeu vidéo
3.3. RECRUTER UNE ÉQUIPE
Premier constat dans une équipe amateur : la plupart des membres de votre équipe ne seront pas
impliqués. La proportion de membres inactifs varie suivant la taille de l’équipe, le domaine, la sélection
que vous y faites, et bien sûr les circonstances. Ce qui est sûr, c’est que je n’imagine ni une équipe de
10 membres tous présents, ni une équipe qui n’évolue pas pendant plus de trois mois. Et on ne peut
pas prévoir ça à l’avance, parfois ceux qui ont l’air les plus motivés sont ceux qui ne vous reparleront
jamais et vice versa.
Gérer une équipe est une tâche difficile, c’est un métier en soi. Impossible d’en parler ici sans
y consacrer un livre, l’essentiel dans un tel projet est de recruter des gens de confiance, sérieux et
impliqués. Le reste dépend de chacun. Avec le temps, j’ai relevé quelques règles :
– les membres de votre famille et vos proches amis ne sont que rarement des équipiers efficaces ;
– la plupart des candidats à un recrutement ne sont pas qualifiés ;
– corollaire de la règle précédente, il y a toujours des candidats, même pour un projet pourri.
Alors comment recruter ? C’est simple : réalisez un prototype sérieux et vendeur, et parlez-en
sur des sites de référence sur le domaine, y compris à l’international. Par exemple, pour recruter un
développeur UDK, udk-fr et les forums d’Epic Games sont des cibles de choix, tandis que CGHub
abrite des artistes jusqu’au plus haut niveau.
Un dernier mot sur le recrutement : tout le monde est toujours motivé pour vous rejoindre (voir
les règles ci-dessus). Toujours ! Et, aussi incroyable que ça puisse paraı̂tre, il arrive que des gens
candidatent à votre projet, bourrés de motivation, pour ne plus jamais donner signe de vie ensuite.
Pour cette raison, le plus simple est de demander aux candidats un échantillon de leur boulot. Le
minimum, a priori est de regarder leurs travaux passés pour évaluer ce qu’il en est, mais donner une
tâche à réaliser comme épreuve d’essai est une excellente idée. Dans le cas de DeepVoid, pas moins
de trois candidats sérieux se sont proposés, ont discuté avec nous du projet, ont accepté cette étape,
promis de revenir très vite et... ne sont jamais revenus. Au moins, en fonctionnant ainsi, on est fixé
sur le sujet avant de commencer sérieusement...
Gwennaël ARBONA
7
Comment réaliser un jeu vidéo
3.4. GÉRER LE TEMPS
C’est une question qui revient bien souvent : combien de temps ça prend de développer un jeu
vidéo ? Tout le monde est d’accord pour dire que c’est très long, même les créateurs qui se lancent et
qu’on entend dire qu’ils sont motivés ”pour des années” et que ça 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 à un stade
proche de la publication. Pendant cette année, les vacances, les week-ends, les soirées y passent. Pas
tous les soirs et pas l’ensemble des vacances, bien sûr, ce n’est pas comme ça qu’il faut le comprendre,
mais pas une semaine ne s’est passée sans qu’un peu de temps soit dépensé sur ce projet.
Le vrai problème du temps, c’est la motivation. Même la vôtre va forcément faiblir un jour, que ça
soit pour un soir, pour une semaine, pour un mois. On ne peut pas consacrer des centaines d’heures
de travail à quelque chose sans s’en lasser à un moment, il faut donc en prendre conscience, varier les
loisirs et avancer par étapes, avec des objectifs réalistes et à court terme. Se tenir à un planning a du
bon.
3.5. L’ORGANISATION
Souvent, dans les projets amateur, on trouve un peu le contraire de ce qu’il faudrait faire : pas
de process pour la production, et des règles rigides pour faire bien là où il n’y en a pas besoin. Par
exemple, on va voir des gens parler de réunions, on va voir des numéros de version, un site Web ultracomplet avant même que le projet soit lancé... Et à côté de ça un jeu développé en dépit du bon sens.
Développer des niveaux avant même d’avoir un personnage fonctionnel n’est pas logique, par exemple.
Commencez par l’essentiel : le gameplay.
Figure 4 – Réalisation d’un niveau de DeepVoid : avant la production, le gameplay est testé
De même, il est indispensable d’avoir une gestion de version en place. Pour le code, utiliser Git,
Subversion ou un équivalent est une excellente solution, mais il faut faire de même pour le reste. Dans
le cas du moteur Unreal, utilisé pour DeepVoid, l’intégration avec Perforce permet de synchroniser
l’ensemble des ressources. Utilisez ces outils !
Gwennaël ARBONA
8
Comment réaliser un jeu vidéo
3.6. LES TECHNOLOGIES
DeepVoid s’appuie sur le moteur Unreal et fait appel, de façon assez systématique, à des outils
commerciaux. Mon raisonnement était simple : les pros utilisent ces technologies, faisons donc la
même chose. Un jeu vidéo, c’est un travail qui fait appel à de nombreuses disciplines différentes.
Programmation, design, modélisation 3D, musique et son, animation, interface, sécurité, déploiement,
et j’en passe : si la plupart des jeux commerciaux affichent deux cent personnes au générique du jeu
ce n’est pas un hasard !
Alors il faut se résoudre à utiliser des outils qui facilitent ce travail. Aujourd’hui, UDK, CryEngine
et d’autres permettent à n’importe qui de se lancer dans le jeu vidéo avec des connaissances dans un
seul 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 difficulté si on peut l’éviter. Les solutions commerciales
sont 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 des
logiciels libres. Beaucoup de développeurs sont convaincus que le meilleur choix est d’assembler des
composants open-source autour d’un code C++, arguant que c’est une solution moins contraignante
qu’un moteur de jeu. C’est effectivement vrai, mais l’expérience montre, même pour des jeux commerciaux, que c’est un mirage. La vraie difficulté, c’est rarement de faire quelque chose qui n’est pas
prévu dans un moteur de jeu (même si bien sûr, ça arrive régulièrement) mais de faire quelque chose
qui fonctionne. Si vous n’êtes toujours pas convaincus, regardez les projets indépendants à succès qui
font appel à ces moteurs !
Gwennaël ARBONA
9
Comment réaliser un jeu vidéo
3.7. LA PRODUCTION GRAPHIQUE
Le gros oeuvre du jeu vidéo, c’est bien la production du contenu. Interface graphique, personnages,
animations, environnements, voilà de quoi vous occuper pendant des mois. C’est là que les concepts
que vous avez rassemblé au début du projet vont vous aider ! Vous devez guider votre équipe artistique,
définir le type de rendu que vous visez, le budget de performances suivant la technologie employée...
C’est un travail lourd mais passionnant puisque vous allez voir votre jeu vidéo se construire peu à peu.
Dans votre production, tâchez de fonctionner de la même façon que pour le projet en général :
allez à l’essentiel, commencez par le plus simple et basique et à partir de cette base, faites avancer le
travail. Par exemple, dans la réalisation d’un niveau, il faut commencer par un prototype cubique sans
contenu travaillé. Une fois la structure du niveau validée, vous pouvez travailler sur l’aspect visuel,
construire le niveau, puis continuer à l’améliorer jusqu’à ce que vous le jugiez terminé.
Figure 6 – Concept art d’un niveau
Gwennaël ARBONA
10
Comment réaliser un jeu vidéo
Tenez-vous au courant de la façon dont les professionnels travaillent. Que ça soit le design modulaire, le sculpt, le process ”high to low” ou le shading, vous allez voir besoin de maı̂triser des process
créatifs pour produire du contenu de qualité.
Figure 7 – Résultat après production
Une bonne façon de situer son niveau et de se tenir au courant de la technologie est de suivre
les forums de professionnels. CGHub et Polycount, par exemple, sont des communautés dédiées au
graphisme numérique, vous y trouverez de nombreux passionnés, amateurs ou non, qui présentent leurs
créations. Faites de même pour le jeu vidéo avec des sites comme IndieDB et vous pourrez facilement
comparer votre travail, ou tout simplement trouver de nouvelles idées.
Gwennaël ARBONA
11
Comment réaliser un jeu vidéo
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 serveurs
dédiés, et faisons la liste des situations les plus évidentes...
– le joueur est en local, tout fonctionne sur son ordinateur ;
– la partie se déroule en LAN, le jeu est réparti sur plusieurs machines, avec des temps de transmission très faibles, inférieurs à la milliseconde ;
– la partie se déroule en multijoueurs sur Internet sur un serveur dédié, les temps de transmission
dépassent 100ms ;
– la partie se déroule en multijoueurs sur Internet avec un joueur qui héberge (peer-to-peer) et
qui a donc à la fois un client et un serveur.
Félicitations, pour chaque modification de votre code réseau, vous avez pas moins de quatre cas
de figure complètement différents à tester, qui vont impliquer pas moins de trois machines de test.
Vous pensez que les différences sont minimes ? Pour DeepVoid, quasiment la moitié des bugs connus
concernent le réseau, malgré l’usage d’un moteur de jeu très complet et fiable de ce côté...
Cette logique s’applique partout dans votre projet. Prenons par exemple l’installation de votre
jeu chez le joueur, dans le cas le plus classique, c’est-à-dire sous Windows. A l’heure actuelle, quatre
versions différente de cet OS sont couramment utilisées par des joueurs, et vous devrez malgré tout
installer de nombreuses dépendances logicielles (des programmes que vous avez utilisé et que vous devez
donc fournir avec le jeu pour qu’il fonctionne). A priori, vous aurez au minimum besoin d’installer
DirectX et des binaires liés à votre compilateur, en plus de votre jeu... Toujours sur quatre versions
d’un OS.
On peut continuer pendant des heures sur ce sujet, le résumé est simple : vous devez absolument
tout tester, à chaque version du jeu. Surtout, vous devez le faire au fur et à mesure du développement,
à chaque nouvelle fonctionnalité, à chaque étape, et pas à la fin du projet.
Gwennaël ARBONA
12
Comment réaliser un jeu vidéo
3.9. LE RÔLE DE LA COMMUNAUTÉ
DeepVoid a commencé avec un concept communautaire dans lequel le jeu était co-réalisé par les
membres du Site du Zéro. Au final, c’est un projet différent qui s’est fait, avec une équipe réduite
et fermée qui a réalisé 100% du contenu du jeu. Aucun élément externe n’est présent, pas même les
ressources fournies avec notre moteur de jeu. Le rôle de la communauté s’est donc réduit aux tests, aux
avis, idées pour améliorer le jeu ou corriger des bugs. En revanche, si nous avons limité l’implication de
la communauté, nous avons tenus à lui fournir notre travail. C’est ainsi que 4 séances d’essais publics,
répartis sur des durées de 24h à un mois, ont été réalisées en invitant des joueurs enthousiastes. C’est
aussi pour ça que nous avons tenu à publier des milliers de lignes de code sous une licence libre, des
cours vidéos, des exemples, afin de permettre à chacun de se former sur ces technologies.
Alors bien sûr, la communauté ce n’est pas toujours rose. C’est ainsi que nous avons été victimes
d’une longue série d’attaques diverses de la part d’une autre équipe amateur, s’échelonnant du bug
exploit 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 à ces mêmes personnes, qui pillaient des ressources
et décourageaient les équipes, de jeu en jeu... Conclusion à en tirer : il est difficile d’impliquer une
communauté dans le développement d’un jeu vidéo, surtout quand ça implique de distribuer des
prototypes. Par la suite, nous avons donc choisi d’exiger une inscription préalable avec des adresses
emails, des coordonnées, un minimum de sélection et d’encadrement, des accès sécurisés et identifiés.
C’est réellement indispensable.
La communauté est également un facteur de complications quand le gameplay s’élabore. Pour une
raison simple d’abord : tous les joueurs sont différents et leurs goûts en matière de jeu vidéo aussi.
C’est donc impossible de satisfaire tout le monde ! Mais surtout, si votre projet est un tant soi peu
original, le risque pris en écoutant trop les joueurs est de réaliser au final un jeu qui soit exactement
ce à quoi les joueurs jouent déjà, et ça, même eux ne le souhaitent en réalité pas. Vous avez une idée,
suivez-la. On m’a reproché de ne pas suivre toutes les propositions en arguant qu’un projet amateur
”est censé être à l’écoute”, position à laquelle je ne souscris pas. Faites le jeu que vous voulez faire,
pas celui qu’on vous demande de faire.
En revanche, la communauté a eu un rôle fantastique au moment du concours Indie Of The Year
d’IndieDB. Nous avons eu près de 15000 visites sur le site en quelques semaines, avec des centaines
de message d’encouragement, des conseils, des joueurs qui ont fait la promotion de notre jeu. C’est
certainement mon meilleur souvenir de ce projet, et je remercie encore à tous ceux qui ont participé
à ça !
Gwennaël ARBONA
13
Comment réaliser un jeu vidéo
4.
7 idées reçues sur la création d’un jeu
Aux détours des forums, on trovue parfois de curieux a-priori sur le jeu vidéo. Tordons le coup à
quelques-unes de ces idées reçues...
4.1. ”UN JEU VIDÉO, C’EST IMPOSSIBLE”
Aujourd’hui, il y a des outils de développement adaptés qui permettent en quelques mois, à une
équipe réduite de développer un FPS basique, comme un clone de Counter-Strike par exemple. Bien
entendu, ça demande un travail acharné et des compétences solides en programmation, en design, en
modélisation, en son et c’est la vraie difficulté : aucune solution technique ne fera le boulot à votre
place.
En revanche, pourquoi implémenter un énième moteur de rendu 3D de la planète ? C’est un
problème ancien qui a déjà été résolu des centaines de fois. Le principe d’un moteur de jeu est de
centraliser les problèmes les plus courants pour faciliter le travail : rendu 3D, code réseau, gestion
du son, importation de contenu, création de niveaux... En partant de là, c’est à vous de créer votre
jeu vidéo : simplement, au lieu d’assembler des bibliothèques plus ou moins complètes et compatibles,
vous utilisez un environnement intégré.
4.2. ”UN JEU VIDÉO, C’EST FACILE, IL SUFFIT DE MOTIVATION”
Malheureusement, c’est aussi faux que l’extrême précédent. Il faut des compétences tellement
variées qu’il est essentiel de se regrouper pour créer un jeu 3D. Listons donc les postes critiques d’un
tel projet, sur le plan technique : programmeur(s), modélisateur(s) 3D, level designer, artiste son
/ compositeur, webmaster... A ces compétences techniques, se rajoute la tâche difficile de gérer le
projet. Un tel poste n’est pas concevable sans une expérience basique de tous les domaines cités : ça ne
s’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 décide de tout. C’est un poste difficile.
4.3. ”IL FAUT DES OUTILS PAYANTS POUR CRÉER UN JEU VIDÉO”
Dans l’absolu, ce n’est pas complètement faux. La suite Adobe au grand complet peut se révéler
un allié de poids, les logiciels 3D de grandes entreprises également. En revanche, surtout si vous
débutez, sachez découvrir les solutions gratuites voire libres. Par exemple, il est parfaitement possible
de développer un niveau de jeu vidéo moderne avec Blender et GIMP dans un moteur de jeu tel
qu’UDK, qui est lui-même gratuit pour un usage non commercial.
Gwennaël ARBONA
14
Comment réaliser un jeu vidéo
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 constitué d’environ 400 000
lignes de code. Si vous lisez ces lignes, il y a fort à parier que vous avez déjà programmé, mais quelle
quantité de code avez-vous écrit dans votre vie ? Si vous êtes programmeur de métier, probablement
plusieurs milliers ou dizaines de milliers... Imaginez dix fois cette quantité : oui, il faut réellement
programmer avec un moteur de jeu, et pas qu’un peu.
La même critique est souvent faite sur les langages employés dans ces moteurs, parfois considéré
comme des scripts sans complexité technique. Il n’en est rien ! Ne voyez pas un moteur de jeu comme
un logiciel pour créer votre jeu, voyez-le comme un environnement de développement, un laboratoire
en quelque sorte, remplis d’outils pratiques.
4.5. ”LES MOTEURS DE JEU SONT LIMITÉS”
Là encore, c’est une erreur courante. Vous avez, plutôt que des limitations, des choix techniques
déjà faits à bas niveau qui ne vous laissent pas la liberté de les modifier. En revanche, ces choix
n’interfèrent pas avec le gameplay, le développement du jeu vidéo en lui-même, pour plusieurs raisons.
D’abord, un moteur de jeu est un environnement de développement et pas une machine à faire des
jeux : il ne prend pas les décisions à votre place.
Ensuite, le code d’un moteur ne s’attaque jamais au gameplay, ce n’est pas sa mission : il s’attaque
à des problèmes de bas niveau et implémente des mécanismes basiques comme par exemple la notion
de joueur, d’équipe, de score, mais sans jamais en fixer les règles : c’est à vous de les choisir et le
moteur ne le fait pas pour vous. Plus généralement, le moteur s’arrête à relativement bas niveau. Si
vous souhaitez faire de la classe ”Joueur” du moteur un véhicule ou un bâtiment, rien ne vous en
empêche ! C’est le principe.
Enfin, si vous vous sentez limité par un aspect du moteur, souvenez-vous que bien souvent il permet
de faire appel à du code extérieur, par exemple si vous souhaitez gérer Kinect... En d’autres termes,
ce qui est essentiel c’est de comprendre que vous aurez encore énormément de travail, même avec un
moteur de jeu et rien qu’en programmation. Ce n’est pas une solution de facilité : c’est une solution
réaliste.
Certains tendent à catégoriser les moteurs de jeu comme un outil automatique pour faire un clone
de Call of Duty. Ne vous y laissez surtout pas prendre, c’est une vision particulièrement erronée de
la réalité. En particulier, un moteur comme UDK ou Unity ne vous force pas à faire un type de jeu
particulier, la seule limite est d’être en 3D : que ça soit un jeu de course, un FPS, une simulation,
c’est possible et pas moins adapté dans un cas que dans l’autre.
Gwennaël ARBONA
15
Comment réaliser un jeu vidéo
4.6. ”LE MOTEUR DE JEU FOURNIT LE CONTENU, ON N’A PAS BESOIN D’EN CRÉER”
Effectivement, un moteur tel qu’UDK propose une base de travail très conséquente et suffisante
pour créer un jeu basique. Mais vous ne devez surtout pas vous en tenir là, ce n’est pas l’objectif ! Il
faut voir ces éléments comme des démonstrations, des aides au développement pour créer votre propre
contenu.
Figure 8 – Le style visuel, c’est ça qui décide de la personnalité de votre jeu
Un jeu vidéo, ce n’est pas juste un programme, c’est une œuvre artistique et ludique et vous
devez être bien conscient qu’en utilisant des éléments créés par d’autres, vous enlevez toute âme à
votre création. C’est bien dommage ! Prenez le temps de développer votre contenu, recrutez d’autres
créateurs pour vous appuyer.
Dans le cas de DeepVoid, l’intégralité du contenu visuel a été réalisé par l’équipe. Aucun élément
extérieur n’a été 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 réaliser un jeu de qualité.
Gwennaël ARBONA
16
Comment réaliser un jeu vidéo
4.7. ”ON PEUT FAIRE AUSSI BIEN SANS MOTEUR DE JEU, EN FAISANT
TOUT SOI-MÊME”
C’est un discours ambitieux, et malheureusement irréaliste. En pratique, il faut réellement des
années de développement pour créer un jeu vidéo si on ne s’appuie pas sur un environnement existant,
et à ma connaissance les projets 3D amateur réalisés de la sorte ont un taux d’échec particulièrement
dramatique. Le plus grand piège, c’est de vous imaginer que ça sera facile avec un moteur de jeu, et
que pour avoir du challenge, il faut faire tout soi-même. C’est une erreur terrible, et souvent fatale à
des projets qui autrement auraient pu fonctionner. Même avec un moteur, vous avez encore des mois
de travail devant vous, à plusieurs.
Souvent, les moteurs de jeu intègrent des solutions propriétaires, fermées et que vous ne trouverez
pas ailleurs. Le choix de travailler avec vous appartient, mais leur statut de leader est bien souvent
mérité : compression vidéo, génération de verdure, interfaces ou optimisation, ce genre de domaine
d’expertise demande énormément de travail. Sachez mettre à profit un outil existant plutôt que de
tout refaire vous-mêmes.
Evidemment, les technologies comme Irrlicht ou OGRE ne sont pas inutiles. Elles permettent eux
aussi, dans l’absolu, de réaliser un jeu vidéo et ont un très grand intérêt pédagogique. Il existe d’ailleurs
quelques projets fonctionnels basés sur ces technologies, sans moteur de jeu complet. Mais il faut bien
voir deux éléments distincts : l’aspect pédagogique de son travail, ce qu’on va apprendre et l’objectif,
ce qu’on va réaliser au final. Ces deux aspects s’opposent dans une certaine mesure : on ne peut pas
gagner sur l’un sans perdre sur l’autre, pour un temps donné. Quand on réalise un site Web, on peut
faire les deux sans que ça prenne des années, mais dans le cas d’un jeu vidéo c’est une toute autre
histoire.
Si le résultat importe peu et qu’on veut apprendre, employer OGRE ou carrément OpenGL est
une excellente idée, mais nuit considérablement aux chances de succès sur le plan du jeu lui-même tel
qu’un joueur le percevra, ainsi qu’à sa qualité technique : rendu, performances, fiabilité... A vous de
choisir votre objectif : n’espérez cependant pas concilier les deux.
Gwennaël ARBONA
17
Comment réaliser un jeu vidéo
5.
En résumé
5.1. COMMENT NE PAS RÉUSSIR UN PROJET DE FPS ?
La provocation est volontaire : la vaste majorité des projets de ce type échouent. Le plus curieux,
c’est qu’ils échouent absolument tous de la même façon :
– une équipe lance son projet, typiquement avec 3 ou 4 membres ”passionnés” et ”motivés à fond”
qui se donnent ”tout le temps qu’il faudra” pour réussir, avec un ou deux game designers ;
– ils ont un site Web sur un hébergeur gratuit, un nom, un logo, un scénario, et souvent 3/4 objets
3D montrés dans un modeleur 3D ;
– ils ont déjà 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-être un peu prétentieux d’en tirer une généralité, tout n’est peut-être pas à jeter
dans un tel cheminement. Ce qui est certain, c’est que c’est le scénario type, et que ce scénario a
une forte tendance à échouer. Typiquement, les news s’espacent, les threads de forum s’oublient, plus
personne n’entend parler du projet. Il est rare que le projet soit officiellement abandonné, ce qui
d’ailleurs est bien dommage. Dommage pour l’équipe qui n’a sans doute pas tiré la leçon et s’est
découragée, dommage pour les autres qui ne peuvent pas prendre exemple.
On n’insistera jamais assez sur la proportion de projets qui échouent, ou du moins qui ne sont
jamais jouables, finis, distribués au public. Dire que c’est le cas de 99% d’entre eux est probablement
un euphémisme. Il ne faut pas abandonner pour autant, il faut simplement prendre conscience des
problèmes et s’armer en conséquence.
Gwennaël ARBONA
18
Comment réaliser un jeu vidéo
5.2. COMMENT RÉUSSIR UN PROJET DE FPS ?
Pour le coup, c’est un avis complètement personnel que je vais exposer. Je l’espère éclairé, mais
il faut plutôt le voir comme un exemple de quelque chose qui a marché plutôt que le seul moyen de
réussir, qu’il n’est certainement pas. Reprenons l’histoire de DeepVoid, c’est en fait l’exact contraire
de l’exemple précédent :
– un développeur seul lance son projet, avec pour ambition de faire une simple ébauche ;
– jusqu’à la moitié du développement, le projet n’a ni nom, ni logo, ni site Web, il n’aura jamais
de scénario ou d’univers ;
– le jeu s’appuie sur le moteur Unreal, via UDK, et est réalisé avec des outils comme Photohop,
Flash, 3DS Max, Perforce ou Eclipse ;
– le premier recrutement se fait à un moment où un prototype est déjà jouable en ligne ;
– il faut plus d’un an de développement pour commencer à parler de publication, mais le projet
aboutit, avec une ambition nettement revue à la hausse pendant le développement.
En une phrase, ce que je recommande à n’importe quel développeur, c’est d’aller de l’avant en
permanence. Si vous voulez quelque chose, faites-le vous-mêmes ! Peu importe que ça soit laid ou mal
fait, faites-le. Si votre projet est intéressant, d’autres viendront pour le refaire proprement. Que ça
soit pour du son, du FX, de l’interface ou du level design... N’attendez pas, agissez.
Alors évidemment, ça implique de passer beaucoup de travail. Pour DeepVoid, il m’a fallu pratiquer
quatre langages différents, apprendre Flash, Windows Server, et résoudre des problèmes aussi variés
que le level design ou l’installation chez le joueur, avec une équipe répartie sur deux continents.
Mais ça, ça 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’espère) une vision un peu plus claire de ce qui vous attend. Il ne faut pas que ça vous démotive
pour autant : comme je le dis plus haut, créer un jeu vidéo n’a jamais été aussi accessible. C’est une
question de temps, d’organisation et de bonnes décisions 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 pourquoi
votre solution ne fonctionne pas. Et surtout, n’ayez pas peur qu’on vous vole vos idées ! On vous les
volera de toute façon si elles sont bonnes, et si vous avez suivi, vous devez commencer à voir que l’idée
ne fait pas le résultat.
Le mot de la fin ? Bon courage !
Les images employées dans ce document sont extraites du projet DeepVoid et ont été réalisées par
l’équipe du jeu. Pour en savoir plus, visitez le site officiel sur http ://deepvoid.eu .
Gwennaël ARBONA
19

Documents pareils