Qu'est-ce qu'un moteur de jeu? Eh bien, à quoi pensez-vous lorsque vous lisez le mot «moteur»? Si vous êtes comme moi, c’est une image de métal et de verrous assis au cœur d’un véhicule. Quelque chose qui convertit l'électricité ou la combustion en énergie – le cœur battant de nos voitures.

Les moteurs sont la somme de nombreuses pièces. Et chaque composant, qu’il soit grand, petit ou déformé, a un objectif spécifique et important, permettant au moteur de fonctionner avec sa magie mécanique.

C’est précisément ce que les développeurs de jeux d’image espèrent invoquer en ce qui concerne les «moteurs de jeu». Les moteurs de jeu sont les collections de bibliothèques de codes et de frameworks qui donnent vie aux jeux. Bien qu’ils soient souvent invisibles, les moteurs de jeu sont toujours au travail, aussi longtemps que le jeu est en marche.

Qu'est-ce qu'un moteur de jeu?

Comme mentionné ci-dessus, les moteurs de jeu sont des collections de code sous forme de bibliothèques et de frameworks. Mais qu'est ce que cela veut dire exactement? Décrivons quelques termes courants pour voir à la fois la forêt ET les arbres. Notez que ces explications sont simplifiées et qu'il ne s'agit que d'une vue d'ensemble.

Une ligne de code correspond à ce que l’on appelle une déclaration. Les déclarations sont les feuilles et les branches individuelles dans notre analogie de forêt. Ce sont les éléments qui composent les constructions plus grandes dont nous discuterons.

Obtenez assez de déclarations en un seul endroit et vous avez une bibliothèque. Ce sont les arbres.

Les bibliothèques sont collections de code axé sur la fourniture de solutions à des problèmes spécifiques. Vous avez peut-être entendu parler des fichiers du programme «.dll» – cet acronyme signifie «bibliothèque dynamique liée» et c’est exactement le type de bibliothèque dont nous parlons.

Si vous avez un problème à résoudre ou une mission à accomplir, il existe une bibliothèque pour cela. L’une des bibliothèques les plus répandues et les plus utilisées aujourd’hui est OpenGL (Ouvrir la bibliothèque graphique). Comme son nom l’indique, il s’efforce de fournir une norme graphique facile à utiliser pour une grande variété de plates-formes.

Prenez quelques bibliothèques, écrasez-les ensemble et vous aurez l’étoffe d’un framework. C'est une petite clairière.

Cadres sont des collections de code de niveau supérieur aux bibliothèques. Ils intègrent généralement plusieurs bibliothèques et d'autres composants granulaires pour s'attaquer à différents problèmes à la fois, en les orientant vers la création d'une expérience particulière. C'est là que nous commençons à voir le proto-moteur émerger de l'œuf proverbial.

Un cadre commun est Microsoft .NET Framework,
 qui donne au programmeur les outils numériques pour tout gérer de
requêtes de base de données en ligne sur du code asynchrone multithread.

Microsoft NET Framework

Toutes ces fonctionnalités se concentrent sur un objectif particulier. Mais cet objectif peut être plus large et plus difficile à définir que celui de la bibliothèque. Supposons donc que .NET offre «une expérience dynamique, portable et robuste pour les utilisateurs et les développeurs via des fonctionnalités modernes de haut niveau» et ainsi de suite.

Bien sûr, nous pourrions discuter d’autres constructions de données et de code, mais pour l’instant, nous avons suffisamment parlé des arbres. Parlons de la forêt.

Le moteur de jeu est un ensemble de toutes les constructions précédentes, et d’autres. Chaque moteur est rempli à ras bord de bibliothèques, de frameworks et d’autres ensembles de code permettant l’interfaçage avec du matériel et la gestion de fonctionnalités telles que les graphismes, l’audio, les entrées, la mise en réseau, la physique, l’IA, etc.

Exemple de moteur Unreal
Crédit d'image: Unreal Engine

De retour dans la journée, des moteurs de jeu personnalisés ont été construits pour chaque match. De plus, ils ne travaillaient que sur un seul matériel, comme l'Atari 2600 ou la NES. Mais avec le temps, l'élaboration de nouvelles normes et d'architectures communes a donné naissance à différents systèmes et séries de systèmes, capables de partager le même code. Ainsi, le moteur de jeu est né d'une question d'efficacité: écrivez du code une fois, utilisez-le partout où vous le pouvez et réutilisez le code pour les jeux à venir.

Comment fonctionne un moteur de jeu?

Toutes ces bibliothèques et ces cadres coopèrent sous le capot. Le résultat est le jeu que vous voyez sur votre moniteur, que vous écoutez via vos haut-parleurs et que vous manipulez avec votre contribution. Chaque composant du moteur établit une interface entre le matériel, le système d'exploitation et le moteur lui-même pour produire un résultat. Ces résultats forgent un jeu de l'éther numérique.

Jeu de Cuphead
Projet fini

Par exemple, OpenGL traduit les données représentant des objets 2D ou 3D en instructions permettant au GPU de les restituer. FFmpeg transforme les sons enregistrés en bits et en octets et revient à la volée. PhysX gère la logique et les données sous-jacentes aux interactions physiques pour simuler des objets virtuels dotés de propriétés réelles telles que la masse et l'inertie. Et ce n’est que pour citer quelques exemples remarquables tirés des sous-systèmes de moteur courants.

Il existe des centaines, voire des milliers de bibliothèques et de frameworks destinés à vos jeux préférés et à leurs moteurs – sans parler des composants développés explicitement pour des jeux individuels. C’est vrai: même un moteur ne peut pas couvrir toutes les bases.

Unité "class =" wp-image-11855 "srcset =" https://accro-jeux.fr/wp-content/uploads/2019/11/Qu39est-ce-que-l39unite-Jeu-de-haut-niveau.jpg 1000w, https: // vkehe45v84w20n29m1 .netdna-ssl.com / wp-content / uploads / 2019/10 / Unity-300x163.jpg 300w, https://vkehe45v84w20n29n1m63wok-wpengine.netdna-ssl.com/wp-content/uploads/2019/10/Unity- 768x416.jpg 768w, https://vkehe45v84w20n29n1m63wok-wpengine.netdna-ssl.com/wp-content/uploads/2019/10/Unity-610x331.jpg 610w "tailles =" (largeur maximale: 1000px) 100pw " />
 
<figcaption>Crédit d'image: Unité</figcaption></figure>
</div>
<p>Le trou de lapin va assez profond. Et tous les milliers d'instructions de code de ces bibliothèques et frameworks sont exécutés des centaines (voire des milliers) toutes les secondes pour que vous puissiez capturer le drapeau, dire à votre Sim de dormir ou de faire rage devant un noob mal informé. Considérez cela la prochaine fois que vous aurez envie de traîner. </p>
<h2><span class=Exemples de moteurs de jeu populaires

Grâce à leur portabilité et à leur capacité de réutilisation, les moteurs modernes sont adaptés et adaptés à diverses situations. Mais il existe quelques cas exceptionnels que vous verrez maintes et maintes fois.

Logo de l'unité

L'unité est l'un des moteurs de jeu les plus courants de nos jours, en particulier dans le secteur de l'industrie indépendante. Parmi les développeurs AAA, les Unreal Engine est plus courant, avec une plus grande fidélité visuelle et des workflows plus puissants qui tirent le meilleur parti d’une énorme équipe de développement. Si vous êtes un fan de Bethesda, vous avez certainement rencontré le moteur Gamebryo, propulsant des titres tels que Morrowind, Oblivion et Fallout 3. Le moteur Source est le bébé de Valve, alimentant tout, de Half-Life 2 à Portal 2 en passant par Left 4 Dead. .

Unreal "class =" wp-image-12729 "width =" 385 "height =" 200 "srcset =" https://vkehe45v84w20n29n1m63wok-wpengine.netdna-ssl.com/wp-content/uploads/2019/11/Unreal- Engine.jpg 770w, https://vkehe45v84w20n29n1m63wok-wpengine.netdna-ssl.com/wp-content/uploads/2019/11/Unreal-Engine-300x156.jpg 300w, https: //vkehe45v84n20n29m1 com / wp-content / uploads / 2019/11 / Unreal-Engine-768x399.jpg 768w, https://vkehe45v84w20n29n1m63wok-wpengine.netdna-ssl.com/wp-content/uploads/2019/11/Unreal-Engine-610x317 .jpg 610w "tailles =" (largeur maximale: 385 pixels) 100vw, 385 pixels "/></figure>
</div>
<p>Et ce ne sont là que quelques-uns des moteurs les plus courants du marché. Il y en a certainement des dizaines d’autres, et chacun fait quelque chose d’unique, de spécial ou tout simplement excentrique que le reste ne fait pas. </p>
<h2><span class=Exemples d'outils de création de jeu populaires

Chaque moteur dispose d'une suite d'outils de développement, appelée Kit de développement logiciel (SDK). En règle générale, le SDK contient une autre collection de frameworks et de bibliothèques (y compris le code source du moteur dans certains cas) conçue pour créer et convertir du contenu à utiliser avec le moteur. Certains des cadres du kit SDK peuvent être des API d'interaction avec le moteur, tandis que d'autres peuvent constituer des solutions autonomes pour résoudre d'autres problèmes liés au flux de travail de développement.

Pour Unity, le principal outil de développement est l'éditeur Unity. Il est équipé pour importer et utiliser des ressources à partir d'une grande variété de formats de fichiers standard. L'éditeur Unreal est destiné au moteur Unreal, bien sûr, et fonctionne à peu près de la même manière. Certains moteurs tels que Gamebryo et Source n’ont pas d’éditeur complet, choisissant de fournir des outils propriétaires pour la conception de niveau uniquement – le kit de construction et l’éditeur Valve Hammer, respectivement.

modélisation 3D
Actifs visuels

Dans tous les cas, vous allez probablement créer du contenu en externe, puis convertir et importer les ressources avec le SDK. Cependant, les éditeurs extensibles modernes pour des moteurs tels que Unity et Unreal constatent une incitation à permettre la création de certains actifs directement dans l'éditeur.

Des fonctionnalités comme Unity Graphique de shader et de Unreal Rédacteur en chef du Niagara – permettant la création de shaders et d'effets visuels, respectivement – signifie que le nombre de programmes différents dont vous avez besoin dans votre flux de travail de développement diminue à mesure que le temps passe. Mais certains sont si spécialisés et bien conçus qu’ils ne peuvent tout simplement pas être remplacés par une variante généralisée pour le moment.

Unity Shader Graph
Crédit d'image: Shader Graph

Parmi les outils de développement externes courants dont vous avez peut-être entendu parler, citons:

  • Adobe Photoshop et GNU (pour les graphiques 2D)
  • Maya et Blender (pour la modélisation 3D)
  • Audacity et Adobe Audition (pour l'audio)
  • Sony Vegas et Adobe Premiere (pour la vidéo)
  • Microsoft Visual Studio et IntelliJ Idea (pour la programmation)

Conseils pour les débutants

Donc, vous voulez attraper un moteur et commencer à faire des jeux pour vous-même? C’est formidable et je l’encourage vivement, que ce soit pour le plaisir ou pour quelque chose de plus sérieux. Prenez un moment pour prendre en compte ce conseil car il pourrait vous éviter des ennuis plus tard:

Commencez honnêtement. Ne vous lancez pas dans le développement de jeux en espérant payer les factures dès le départ. Vous ne commencerez pas à gagner de l'argent du jour au lendemain en tant que développeur indépendant. La conception de jeux est une forme d'art plus que toute autre chose. Personne ne commence à peindre ou à sculpter parce qu’ils croient qu’ils vont «réussir» et engranger des millions. Vous devenez un artiste pour le débouché créatif, pour capter l'émotion, pour exprimer quelque chose de fondamental sur la vie.

L'artiste affamé est un stéréotype pour une raison. Cela dit, ne laissez pas cela vous dissuader. Créer des jeux est un passe-temps / un emploi potentiel / à plein temps incroyablement amusant et enrichissant qui peut vous aider à développer des compétences réelles et négociables.

Le design du jeu
Crédit d'image: Université de Lindenwood

Commencez pas cher. Certains moteurs sont livrés avec des licences de plusieurs milliers de dollars, bien qu’il soit courant dans l’industrie des moteurs majeurs de fournir une version gratuite aux «amateurs et développeurs indépendants». Assurez-vous de respecter leurs règles et réglementations.

Et si vous n’avez pas les compétences nécessaires pour créer vos propres actifs, ne vous en faites pas. Il existe de nombreux endroits où vous pouvez trouver des ressources gratuites sur le Web. Certains sont totalement gratuits et d'autres ne demandent qu'une attribution en retour. Assurez-vous de respecter les stipulations des contrats de licence, mais n'hésitez pas à les utiliser lorsque vous débutez. Vous pouvez faire le vôtre plus tard.

Commencer petit. Vous avez probablement déjà un jeu en tête. Cela peut être quelque chose que vous n’avez pas encore vu ou le jeu auquel vous souhaiteriez pouvoir jouer. Ou peut-être est-ce simplement une variante d’un jeu auquel vous avez joué et que vous pensez pouvoir être meilleur. Et c’est un bon début.

Quoi qu'il en soit, réalisez ce rêve, cochez la case «Conserver le format d'affichage» et réduisez-le. Vous pouvez avoir le même rêve, bien sûr – juste un peu plus petit. Vous épargnerez des tonnes d’épreuves, de tribulations et de chagrin en faisant cela maintenant plutôt que plus tard.

Faire un jeu est un défi de taille, surtout lorsque vous apprenez au fur et à mesure. Ne soyez pas dur avec vous-même, réduisez vos ambitions et faites quelque chose de simple pour les débutants. Vous pouvez créer votre nouvelle version de Civilization pour votre deuxième échange. Pour l'instant, essayez un clone de discussion.

Examinez les différentes API de moteur et voyez laquelle vous convient le mieux. Si vous débutez avec la programmation, «aucune d’entre elles n’a de sens» est également une réponse tout à fait raisonnable. Consultez Google et YouTube pour rechercher des didacticiels relatifs à votre moteur, ou peut-être des didacticiels relatifs au langage de programmation principal de votre moteur. Commencez simplement petit et apprenez un peu à apprendre la langue de l'ordinateur.

Lectures complémentaires

Envie d'en savoir plus sur le développement de jeux? Découvrez nos autres guides ci-dessous:



%d blogueurs aiment cette page :