Nous savons que les jeux vidéos, sont issus de l’outil informatique et que l’on peut y jouer sur différentes plateformes de nos jours très facilement, sur consoles dans son salon ou dans son bureau sur un pc et même à l’extérieur dans le tram sur des consoles portables ou smartphones.

Peu importe la destination du support de votre jeu, il s’agit de programmes finalement.

Pour développer des jeux vidéos, il existe plusieurs approches de conception différentes.

Les plus connues sont l’utilisation de Moteurs ou de Frameworks. Ce sont deux outils différents…

Les moteurs sont les plus connus, car ils vivent dans la majorité des cas de revenus directs ou indirects…

Les moteurs ont souvent des stores, ou bien des sources de revenus une fois votre jeu mis en vente. C’est cet aspect financier qui apporte une force à ces moteurs, car ils sont sous les projecteurs du marketing et souvent liés étroitement avec les constructeurs de produits high-tech.

Un exemple au hasard l’oculus rift (produit phare de Facebook) :
https://en.wikipedia.org/wiki/Oculus_Rift#SDK
The Oculus SDK is directly integrated with the popular game engines :
Unity 5,
Unreal Engine 4,
and
Cryengine.

Pourtant, des moteurs open source existent et sont tout aussi viables, mais leur connaissance du grand public est moindre.


Le marché est juteux, et donc la mise en avant de ces moteurs est inévitable. Les moteurs se rapprochent de plus en plus des marchés de l’industrie du cinéma, l’architecture, de l’automobile, des universités, etc.

Ce qui ouvre des panels immenses, mais vous demandera beaucoup de temps et de pratique pour arriver à maîtriser l’un d’eux sans des bases solides.

Des bases solides sur leur utilisation de l’interface du moteur en lui-même, de leur gestion des événements et de leur approche des scripts… Ah tiens des scripts ? Qu’est-ce que c’est ?

C’est le langage du moteur, qui interprète ce que le développeur du jeu (vous) lui demande de faire via des événements qui sont exécutés à des moments clé du gameplay ou dans une cinématique, pour naviguer dans les menus, etc. Tout ceci est généralement géré par des scripts, et même si certains arrivent à s’en passer si on n’est pas trop exigeant et qu’on se limite à ce que le moteur nous propose.

Certains moteurs comme Unreal Engine propose un langage simplifié, le blueprint. Malgré les efforts cela reste quand même des mécaniques similaires à celle d’un langage de programmation.

Même le Moteur Scratch destiné aux enfants à l’apprentissage du jeu vidéo, lui aussi ne peut se défaire de l’approche du langage de programmation…

Quid de tout cela, il vous faudra à un moment ou l’autre mettre la main dans le code pour des raisons auxquelles on ne s’attendait pas, parfois très tôt dans notre projet et parfois vers la fin selon nos choix ou limitations choisis ou tout simplement pour exporter notre jeu vers la plateforme qu’on aura ciblée et que cela ne fonctionne pas comme prévu…

“ pourtant ça fonctionnait bien quand je lançais le jeu chez moi… ”

Avouez que ça peut être vraiment rageant si on ne sait pas faire, ou qu’on passe des heures à essayer de trouver une solution (souvent un tutoriel sur le web).

Or si on ne connaît pas un minimum le langage utilisé par le moteur on recopie simplement des lignes qu’on ne comprend pas, en priant pour que ça fonctionne, on essaye de bricoler, mais bien souvent non ça ne veut pas fonctionner.

Finalement, les moteurs nous limitent si nous n’avons pas ce minimum de bases dans le langage utilisé par ceux-ci.

C’est pourquoi je vais vous parler des Frameworks aussi, car il s’agit de tout l’inverse, car avec un Framework on commence tout simplement avec rien. Oui, rien du tout, juste une page blanche dans un éditeur de texte.

Cette page attend des lignes de code dans cet éditeur avec juste vous et avec votre clavier et votre imagination comme un écrivain le ferait avec sa plume devant une feuille blanche et qui attend l’inspiration.

Ça parait dur et complètement obsolète en comparaison aux moteurs suscités précédemment…

Pourtant, c’est là qu’on est le plus libre finalement, car malgré ses apparences tout reste assez simple et on réalise des choses très rapidement lorsque que l’on connaît quelques bases. Nous n’avons pas de store qui nous pompent l’esprit et la motivation lorsqu’on essaye de faire quelque chose par nous-mêmes.

Bien souvent, c’est en voulant créer quelque chose au départ de simple qu’on finit par créer un prototype totalement inédit.

Le framework nécessite une connaissance des bases du langage utilisé pour arriver à faire un petit jeu, ensuite la seule limite finalement, c’est la vôtre, celle de votre imagination.

  • En résumé :

Ces deux outils différents ont des approches assez opposées grâce à leurs apparences, mais ils utilisent finalement tous les deux un langage de programmation.
– Les moteurs via des scripts ou dans leurs mécaniques.
– Les frameworks, eux ont besoin d’un code de programmation pour fonctionner.