Nous avons probablement tous une assez bonne idée intuitive de ce qu’est un jeu. Le terme général « jeu » comprend les jeux de société tels que les échecs et le monopole, les jeux de cartes tels que le poker et le blackjack, les jeux de casino tels que la roulette et les machines à sous, les jeux de guerre militaire, les jeux informatiques, divers jeux pour enfants, et la liste est longue. À l’Académie, nous parlons parfois de théorie des jeux, où plusieurs agents choisissent des stratégies et des tactiques pour maximiser leurs avantages selon des règles du jeu bien définies. Lorsque le mot « jeu » est utilisé en rapport avec une console ou un divertissement sur ordinateur, il forme généralement des images d’un monde virtuel en trois dimensions dans lequel le joueur est contrôlé par un humanoïde, un animal ou un véhicule. (Ou parmi nos vieux geezers, peut-être que cela rappelle des images de classiques en deux dimensions comme Pong, Pac-Man ou Donkey Kong.) Dans son excellent livre Une théorie amusante pour la conception de jeux, Raph Koster définit le jeu comme une expérience interactive qui offre au joueur une série d’images de plus en plus exigeantes qu’il apprend et éventuellement maîtrise. L’argument de Koster est que l’apprentissage et la maîtrise sont des choses clés que nous appelons «amusement», car la plaisanterie devient amusante dès que nous «comprenons» en reconnaissant le modèle.
Les jeux vidéo en tant que simulations douces en temps réel
La plupart des jeux vidéo bidimensionnels et tridimensionnels sont des exemples de ce que les informaticiens appellent des simulations douces basées sur des agents interactifs en temps réel. Nous décomposons cette phrase pour mieux comprendre ce qu’elle signifie. Dans la plupart des jeux vidéo, certains sous-ensembles du monde réel – ou du monde imaginaire – sont modélisés mathématiquement afin qu’ils puissent être manipulés par un ordinateur. Le modèle est une approximation et une simplification de la réalité (même s’il s’agit d’une réalité imaginaire) car il est clairement impossible d’inclure tous les détails jusqu’au niveau des atomes ou des quarks. Par conséquent, un modèle mathématique est une simulation d’un monde de jeu réel ou imaginaire. L’approche et la simplification sont les deux outils les plus puissants pour un développeur de jeux. Habilement utilisé, même un modèle très simplifié peut parfois être presque indissociable de la réalité et beaucoup plus amusant.
La simulation basée sur l’agent est une simulation dans laquelle un ensemble d’entités distinctes appelées « agents » interagit. Cela correspond bien à la description de la plupart des jeux informatiques en trois dimensions, où les représentants sont des véhicules, des personnages, des boules de feu, des points d’alimentation, etc. Étant donné la nature basée sur l’agent de la plupart des jeux, il n’est pas surprenant que la plupart des jeux soient aujourd’hui implémentés dans un langage de programmation orienté objet ou au moins vaguement basé sur une cible.
Tous les jeux vidéo interactifs sont des simulations temporelles, ce qui signifie que le modèle du monde du jeu viral est dynamique – l’état du monde du jeu change au fil du temps au fil des événements et de l’histoire du jeu. Le jeu vidéo doit également répondre aux entrées imprévisibles de son joueur humain – des simulations temporelles interactives. Enfin, la plupart des jeux vidéo présentent leurs histoires et répondent aux flux des joueurs en temps réel en leur faisant des simulations interactives en temps réel.
Une exception notable est dans la classe des jeux au tour par tour, tels que les échecs informatisés ou un jeu de stratégie en temps non réel. Mais même de tels jeux fournissent généralement à l’utilisateur une sorte d’interface graphique utilisateur en temps réel.
Qu’est-ce qu’un moteur de jeu?
Le terme « moteur de jeu » est apparu au milieu des années 90 en référence aux jeux de tir à la première personne (FPS), tels que Doom by id Software. Doom a été construit avec une distinction assez claire entre ses composants logiciels clés (tels qu’un système de rendu graphique en trois dimensions, un système de détection de collision ou un système audio) et les ressources artistiques du joueur, les mondes du jeu et les règles du jeu. expérience de jeu. La valeur de cette distinction est devenue évidente lorsque les développeurs ont commencé à octroyer des licences pour les jeux et à les transformer en nouveaux produits en créant de nouveaux graphismes, des mises en page du monde, des armes, des personnages, des véhicules et des règles de jeu avec peu de modifications du logiciel «moteur». Cela a marqué l’émergence d’une «communauté mod» – un groupe de joueurs individuels et de petits studios indépendants qui ont construit de nouveaux jeux en modifiant les jeux existants en utilisant des boîtes à outils gratuites fournies par les développeurs originaux. À la fin des années 1990, certains jeux, tels que Quake III Arena et Unreal, ont été conçus en pensant à la réutilisation et à la « modification ». Les moteurs ont été rendus hautement personnalisables grâce à des langages de script tels que Quake C d’id, et les licences de moteur ont commencé à être une source de revenus secondaire utile pour les développeurs qui les ont créés. Aujourd’hui, les développeurs de jeux peuvent accorder une licence à un moteur de jeu et utiliser des parties importantes de ses principaux composants logiciels pour créer des jeux. Bien que cette pratique implique toujours un investissement important dans la conception de logiciels personnalisés, elle peut être beaucoup plus économique que le développement de tous les composants principaux du moteur en interne. La frontière entre le jeu et son moteur est souvent floue.
Certains moteurs font une distinction assez claire, tandis que d’autres n’essaient presque pas de les séparer. Dans un jeu, le code de rendu peut « savoir » spécifiquement comment dessiner Ork. Dans un autre jeu, le moteur de rendu peut fournir des matériaux et des modes d’ombrage à usage général, et « l’organisation » peut être entièrement définie dans les données. Aucun studio ne fait une distinction complètement claire entre un jeu et un moteur, ce qui est compréhensible étant donné que les définitions de ces deux composants changent souvent à mesure que la conception du jeu se renforce.
Bien sûr, l’architecture pilotée par les données distingue le moteur de jeu du programme de jeu, qui est un jeu mais pas un moteur. Lorsqu’un jeu contient une logique codée ou des règles de jeu, ou utilise un code de cas particulier pour produire différents types d’objets de jeu, il est difficile, voire impossible, de réutiliser le logiciel pour créer un autre jeu. Nous devrions probablement réserver le terme « moteur de jeu » aux logiciels extensibles et pouvant être utilisés comme base pour de nombreux jeux différents sans changements majeurs.
De toute évidence, ce n’est pas une différence en noir et blanc. On peut penser à l’intervalle de réutilisation dans lequel tombe chaque moteur. On pourrait penser que le moteur de jeu pourrait être quelque chose de similaire à Apple QuickTime ou Microsoft Windows Media Player – un logiciel à usage général qui peut jouer pratiquement n’importe quel contenu de jeu possible. Cependant, cet idéal n’a pas encore été atteint (et ne l’a peut-être jamais été). La plupart des moteurs de jeu sont soigneusement conçus et affinés pour exécuter un jeu particulier sur une plate-forme matérielle spécifique. Et même les moteurs polyvalents à usage général ne conviennent vraiment qu’à la construction de jeux dans un genre particulier, tels que les jeux de tir à la première personne ou les jeux de course. Il est sûr de dire que plus le moteur de jeu ou le composant middleware est courant, moins il est optimal d’exécuter un jeu particulier sur une plate-forme particulière.
Ce phénomène est dû au fait que la conception de toute conception de logiciel efficace nécessite toujours des compromis, et ces compromis sont basés sur des hypothèses sur la façon dont le logiciel est utilisé et / ou le matériel cible sur lequel il est utilisé. Par exemple, un moteur de rendu conçu pour gérer des environnements intérieurs intimes est peu susceptible d’être très bon pour produire de grands environnements extérieurs. Le moteur in-bord peut utiliser une arborescence de division d’espace binaire (BSP) ou un système de portail pour garantir que la géométrie couverte par des murs ou des objets plus proches de la caméra n’est pas dessinée. Le moteur hors-bord, en revanche, peut utiliser un mécanisme de fermeture moins précis ou pas du tout, mais il est susceptible d’utiliser agressivement des techniques de niveau de détail (LOD) pour garantir que des objets distants sont obtenus avec un nombre minimum de triangles tout en utilisant des yeux triangulaires haute résolution dans un test de géométrie proche de la caméra.
L’avènement de matériel informatique de plus en plus rapide et de cartes graphiques spécialisées, ainsi que des algorithmes de rendu et des structures de données plus puissants, commence à atténuer les différences entre les différents styles de moteurs graphiques. Il est désormais possible d’utiliser un moteur de tir à la première personne pour construire un jeu de stratégie en temps réel, par exemple. Cependant, un compromis entre la prévalence et l’optimalité existe toujours. Le jeu peut toujours être rendu plus impressionnant en ajustant le moteur aux exigences et limitations spécifiques d’un jeu particulier et / ou d’une plate-forme matérielle.
Différences de moteur entre les genres
Les moteurs de jeu sont généralement d’un certain type de genre. Conçu pour un jeu de combat à deux, le moteur du ring de boxe est très différent du moteur de jeu en ligne massivement multijoueur (MMOG) ou du moteur de tir à la première personne (FPS) ou du moteur de stratégie en temps réel (RTS). Cependant, il y a aussi beaucoup de chevauchements – tous les jeux 3D, quel que soit leur genre, nécessitent une sorte d’entrée utilisateur de bas niveau du contrôleur de jeu, du clavier et / ou de la souris, une forme de rendu de maillage 3D, une sorte d’affichage principal (HUD), y compris le rendu de texte dans plusieurs polices , un système audio puissant et la liste est longue. Ainsi, alors que Unreal Engine, par exemple, est conçu pour les jeux de tir à la première personne, il a également été utilisé avec succès pour créer plusieurs autres jeux de genre, y compris des jeux de simulation tels que Farming Simulator 15 (mods FS 15) et la très populaire populaire franchise de tir à la troisième personne Epic Games ‘Gears of War et populaire a frappé Batman: Arkham Asylum et Batman: Arkham City, écrit par Rocksteady Studios.
[amazon bestseller= »computer components » items= »3″ ]