Premiers pas dans le game design

Cet article a été écrit il y a longtemps. Il est laissé à des fins historiques mais ne doit pas servir de référentiel.

La création de jeux vidéos n’est pas uniquement dédiée aux professionnels. De plus en plus d’amateurs se lancent dans cette grande aventure. Je vais dans ce tuto vous aider à démarrer en présentant différentes manières pour créer un jeu.


Les domaines

Pour créer un jeu vidéo, il faut rassembler une équipe, dans laquelle chaque personne possède des compétences dans un domaine précis.

Voici les domaines les plus récurrents :

 

Scénariste

Tout projet a besoin d’un scénario, qui soit original et cohérent du début à la fin. Dans un projet sérieux, il faut un ou plusieurs scénaristes mais lorsque le projet est de petite importance vous pouvez faire vous-même le scénario.

Je vous conseille ce tuto si vous débutez.

 

Programmeur

La programmation est pour moi le cœur d’un jeu, c’est le programmeur qui va utiliser les créations des autres membres de l’équipe (images, musiques, maps, scénario…) et qui va trouver et mettre en œuvre les moyens techniques nécessaires. Si vous n’avez aucun programmeur dans votre équipe, vous pouvez cependant utiliser des logiciels pour créer votre jeu (quelques exemples dans la suite du tutoriel), mais vous serez limités en possibilités.

Pour apprendre à programmer, OpenClassrooms et Développez sont des très bons sites.

 

Graphiste

Tout ce qui est en 2D dans un jeu est réalisé par le graphiste. Ce qu’il doit réaliser varie de l’interface, des icônes, des textures (parfois un domaine à part) jusqu’aux personnages, maps si le jeu est en 2D.

 

Modeleur 3D et Animateur

Tout ce que vous voyez en 3D dans les jeux concernés sont leurs réalisations, les personnages, objets, maps…

L’animateur, lui, créé les animations de tous les modèles 3D qui doivent bouger (mouvements des personnages, effet du vent sur l’herbe, ouverture d’un coffre…). Les animations doivent être fluides et le plus réaliste possible afin de rendre le jeu plus « vrai » que possible.

 

Designer sonore

Le designer sonore, aussi appelé sound designer, créé les musiques de fond (O.S.T), les bruitages, sons… C’est un domaine à ne surtout pas négliger dans un projet sérieux comme certains pourraient le croire, car des musiques mal choisies par rapport à la situation peuvent dégoûter le joueur.


Choisir un logiciel de making

Il existe certains logiciels, qui vous permettent de créer des jeux. L’inconvénient de ces logiciels est que vous ne pourrez pas tout faire, vous serez limités à ce que le logiciel vous propose. Cela est très utile si vous n’avez pas de programmeur(s) ou si apprendre la programmation ne vous motive pas. Les moteurs de jeu vous permettent en général de créer vos propres maps, événements, interface, et d’utiliser des scripts afin d’avoir encore plus de possibilités.

Image manquante

 

RPG Maker

Je suis bien évidemment obligé de parler du célèbre RPG Maker, sa communauté est importante vous trouverez donc assez facilement de l’aide sur Internet. De nombreuses ressources sont fournies avec le logiciel, et des tutoriels sont disponibles facilement. Vous pouvez utiliser le langage de script JavaScript (ou Ruby pour les versions plus anciennes) pour étendre les possibilités dans votre jeu.

 

GameMaker Studio 2

Utilisé notamment par Hotline Miami et Undertale.

Moteur de jeu puissant et simplifié, il permet de créer aussi bien des jeux en 2D que 3D, même s’il est plus couramment utilisé pour de la 2D.

 

Unity

Principalement axé 3D, il n’est pas spécialement adapté aux débutants. Ses capacités sont puissantes.

 

Unreal Engine

Moteur de jeu 3D puissant utilisé par de grands titres, il a l’avantage de proposer une solution pour débuter appelée Blueprint qui ne nécessite pas de connaissances de programmation.

Autres logiciels : Construct, Buildbox, AppGameKit, CopperCube, Stencyl, Godot Engine.


Ou un langage de programmation

Les langages de programmation sont classés par « niveau », le plus bas niveau est le langage machine (binaire) et plus le langage est haut niveau, plus il se rapproche de notre langue.

Mais quel langage choisir ?

Là, ça dépend des résultats que vous voulez et des efforts que vous êtes prêts à fournir, plus le langage sera bas niveau, plus il sera difficile de programmer.

Voici une liste de quelques langages généralement utilisés dans les jeux vidéos :

 

DarkBasic

Le DarkBasic est un langage haut niveau, et il est orienté 3D et jeux vidéos, il est plus simple que les autres langages de programmation généralement utilisés dans les jeux vidéos (C/C++, Java). Il faudra cependant mettre la main au porte-monnaie pour l’utiliser ou vous servir de la version gratuite (lite) qui propose bien évidemment moins de possibilités. Avec le logiciel, sont fournis un IDE (environnement de développement), quelques exemples et une documentation vous permettant d’apprendre la syntaxe du langage.

 

C

Le C est l’un des langages de programmation les plus utilisés au monde, du coup vous trouverez sur le net des masses de cours et d’aide sur les forums spécialisés. Avec ce langage, on peut vraiment faire tout type de programmes. Il est aussi utilisé en électronique/robotique pour programmer les microcontrôleurs.

 

C++

Le C++ est une « extension » du C, tout ce qui est possible en C l’est aussi en C++ en plus des nouvelles fonctionnalités. Le C++ est un langage orienté objet, ce qui rend son utilisation pour les jeux vidéos idéale. Plus de 90 % des jeux sont programmés en C++ et la communauté est très importante comme en C, vous trouverez donc beaucoup de cours et d’aide sur les forums qui lui sont dédiés.

 

Java

Contrairement au C++, le Java est totalement orienté objet. Il est aussi utilisé pour les jeux, en particulier pour les portables. Ce langage est devenu de plus en plus populaire ces dernières années, car sa syntaxe est simple et logique mais si vous souhaitez faire un jeu en 3D, il faudra plutôt penser à utiliser l’un des langages cités plus haut car ses performances sont moins bonnes.


Bien choisir son API

Pour commencer il vous faut savoir qu’il existe 2 API graphique de base, OpenGL et DirectX. Cette dernière est uniquement disponible sous les systèmes Windows car elle est développée par Microsoft. OpenGL contrairement à DirectX est disponible pour de nombreux systèmes d’exploitation. Ces bibliothèques peuvent être utilisées pour faire de la 2D ou 3D mais leur utilisation est assez bas niveau, donc certaines personnes prefèrent utiliser d’autres bibliothèques basées sur elles, ce qui les rend plus simples d’utilisation.

Aujourd’hui, on compte également Vulkan, multiplateforme, qui souhaite surpasser OpenGL.

Je vais présenter ici quelques bibliothèques 2D et moteurs 3D.

 

Les bibliothèques 2D

Les bibliothèques graphiques vous proposent des tonnes de fonctions déjà prêtes pour vous faciliter la tâche, charger des images, les manipuler et les afficher etc…

Les deux plus utilisées dans les jeux amateurs 2D sont la SDL et la SFML.

 

SDL
  • Site officiel : https://www.libsdl.org/
  • Description : La plus ancienne des deux, vous trouverez sur le net beaucoup de tutos qui l’utilisent et beaucoup d’aide sur les forums spécialisés. Elle n’est cependant plus très mise à jour.
  • Langage : C
  • Audio : Non
  • Réseau : Non

 

SFML
  • Site officiel : https://www.sfml-dev.org/
  • Description : La SFML est plus récente que la SDL, elle est orientée objet et possède une gestion du son et du réseau. De très bons tutoriels d’apprentissage sont disponibles sur le site officiel, et la communauté grandit de jour en jour.
  • Langage : C++
  • Audio : Oui
  • Réseau : Oui

 

Les moteurs 3D

Les moteurs 3D listés ci-dessous ne sont plus tellement utilisés pour faire des jeux, les nouveaux jeux étant la plupart développés sur des plateformes complètes telles qu’Unity ou Unreal Engine listés plus haut.

Comme vous vous en doutez, faire un jeu en 3D est beaucoup plus complexe qu’en 2D. C’est pour cela que l’on utilise des moteurs 3D (certains font leur propre moteur 3D), celui-ci va nous fournir des outils qui vont faciliter la tâche aux programmeurs (gestion de la caméra, collisions, modèles 3D, animations, etc…)

Les moteurs les plus utilisés sont Ogre3D et Irrlicht. Ces deux-là ont souvent subi des débats pour savoir lequel est le « meilleur ». Je vais donc vous faire une petite description de ce qui ressort le plus de ces débats.

 

Ogre3D

Ogre3D est le plus ancien et le plus complet des moteurs 3D, on critique souvent son code qui est trop « bordélique » ainsi que sa documentation. Sa communauté est très grande vous trouverez donc beaucoup d’aide avec la série de tutoriels du site officiel ainsi que sur les forums.

 

Irrlicht

 


Logiciels utiles

À venir…

Merci à Ya2N ayant écrit l’article original.