CultureJeux

La magie des jeux au service des professionnels

Nous avons tous une imagination débordante, certaines personnes oublient qu’elle existe et d’autres l’utilisent tous les jours pour créer ce qui leur passe par la tête ; Harry Potter ne ferait pas de magie sans sa baguette magique. Nous n’avons pas de baguette, pourtant nos émotions peuvent trouver une création comme étant magique, cela peut être un remède miracle ou bien une époustouflante démonstration. Si vous découvriez une baguette magique, comment vous en serviriez-vous ?

La curiosité pousse à en chercher une, c’est cette furieuse impatience de créer ce qui nous passe par l’esprit qui créer cette émotion. Malheureusement, même en possession d’une baguette on a beau la gigoté dans tous les sens, il est impossible de créer une petite étincelle. La conscience que l’outil peut créer de grandes choses, elle pousse à approfondir nos recherches et malheureusement il n’y pas assez de place sur la baguette pour écrire des instructions ; au moins le « Death Note » est un livre, les Dieux de la mort sont plus malins.

Pour nous, la baguette magique est appelée un moteur de jeu vidéo. Fini la magie, place à la technologie. Nous sommes à un âge plus avancé et aujourd’hui nous possédons tous des ordinateurs personnels puissants. Ils n’existent pas par hasard, c’est le jeu vidéo qui les a créés.

En effet, les jeux vidéo ont quelque chose de magique, mais ils sont créés grâce à la technologie. Le processus de création d’un jeu est complexe et pour nous faciliter la tâche nous avons dû inventer un outil accessible. C’est cet outil qu’on va explorer et il a déjà été retourné dans plusieurs sens. Connaissez-vous les « serious games » ? Ces jeux vidéo qui ne sont pas vraiment des jeux. Ils existent pour vous faire apprendre quelque chose tout en vous amusant. Ils sont le premier détournement de l’utilisation des moteurs de jeu.

Après avoir appris à nous servir des moteurs, il est temps de créer autre chose que du jeu. L’utilisation de ce qu’on voit tous les jours dans un jeu peut créer autre chose. Quelque chose de plus large. Une application plus standard, comme un réseau social ou tout simplement un GPS. À l’aventure compagnon, nous partons vers l’horizon !

Les aventuriers ne vont jamais tout droit

Les aventuriers qui sont passés avant nous ont créé des chemins, c’est grâce à eux que nous pouvons entreprendre ce voyage. Historiquement, les chemins permettaient de rejoindre qu’une seule ville ; il est désormais possible de voyager plus rapidement et de se rendre à plusieurs endroits à la fois. Vous l’aurez compris, les chemins sont le travail des anciens ingénieurs. Ils vont nous permettre d’éviter la répétition d’une tâche redondante et leur technique est maintenant bien appropriée. On est désormais capable de créer des blocs spécifiques à une application et de les déplacer pour qu’ils soient utilisables dans une autre. Cela permet de gagner un temps considérable sur le début des projets, de recommencer beaucoup plus rapidement et simplement.

Le premier aventurier était John Carmack, il s’est fait connaître dans les années 90. En ces années-là il eut une invasion de jeuxen 3D temps réel sur ordinateurs. Son équipe ne désirait pas réinventer la roue à chaque fois, ils développèrent donc un outil qui permettait d’aider à la conception de l’environnement 3D et du gameplay (en somme, la logique de l’application).

John Carmack

C’était une boîte à outils qui permettait de créer un jeu en définissant des règles et en apportant des ressources. Cela permettait de concevoir des niveaux de jeu unique et plus simplement.

Les moteurs créés aujourd’hui par les différents studios partagent une même origine. Il en existe beaucoup, mais les bases ont été fondées par John Carmack et son équipe. Le but a toujours été de permettre au plus grand nombre de pouvoir utiliser un moteur, de créer des applications et de pousser les limites technologiques.

Initialement développés par et pour les auteurs du monde des jeux vidéo, ces moteurs offrent un environnement créé spécialement pour implémenter les fonctionnalités spécifiques aux jeux vidéo 3D et 2D. Ainsi, la gestion d’une maquette animée, les collisions entre les objets, l’interaction entre le joueur et le jeu, par le biais du clavier, du joystick, de la souris ou du doigt, sont autant d’aspects dont la mise en œuvre est facilitée. Le temps gagné avec ces aspects peut être mis à profit pour penser et mettre en place les bonnes interactions (ce que l’on appelle le gameplay pour les jeux).

Les moteurs sont aujourd’hui développés pour répondre à un maximum d’industries différenteset étendent leur champ des possibilités chaque jour. En plus d’être à l’origine de grandes innovations comme la réalité augmentéeou l’intelligence artificielle. C’est un cadre de travail quotidien pour de nombreux métierset ils permettent de réduire le temps de réalisation sur de nombreux projets. Les métiers artistiquescomme les graphistes, les compositeurs ou les scénaristes peuvent intégrer leurs réalisations facilement dans un moteur de jeu et ensuite ajuster leurs intégrations avec les outils adaptés. Les développeurspeuvent facilement réaliser des outils supplémentaires pour aider à l’intégrationet permettre aux autres équipes de l’utiliser sans connaître de langage de programmation.

L’objectif est toujours de minimiser les coûts de développementlors de la réalisation d’une nouvelle application en mettant à disposition des développeurs les outils visant à faciliter la réalisation de celle-ci. Il en existe de nombreux, mais ils requirent tous une connaissance en programmation, tandis que les moteurs peuvent être utilisés plus simplement et laisser plus de place à l’imagination.

Le logiciel ultime de création d’application serait proche d’un lecteur vidéo capable de supporter n’importe quel formatet ce genre de moteur universel n’existe pas pour l’instant, mais nous nous en approchons. Les moteurs créés par Unity Technologies et Epic Games permettent aujourd’hui de réaliser tout type de projets de manière optimale. Cependant il reste encore beaucoup de projets pour lesquels la résolution d’un problème reste difficile, même dans le cas où nous utilisons un moteur. Il nous servira principalement à pouvoir gagner du temps avec une équipe restreinte.

On a compris que beaucoup de choses étaient possibles, mais qu’en est-il réellement ? Il est temps de vous montrer les chemins empruntés par certains !

Voici une vidéo qui vous illustre un plateau TV, réalisé à l’aide d’un moteur de jeu le but est de mettre en scène un rapport météo avec un fond vert impressionnant :

Game Of Thrones a utilisé un moteur de jeu pour la mise en scène de sa dernière saison :

Les VFX de The Mandalorian ont aussi été réalisés sur un moteur de jeu :

On peut aussi entraîner une intelligence artificielle à l’aide de la Machine Learning avec une représentation visuelle :

La réalité augmentée a aussi son lot d’utilisation surréaliste :

https://blogs.unity3d.com/wp-content/uploads/2019/09/Unmodified-XR-1-footage-1.mp4?_=1

On peut aussi faciliter le travail de l’industrie du bâtiment grâce aux éditeurs de moteur de jeu qui créer de nouvelles solutions à intégrer grâce à Unity Reflect :

La spécialisation

Comme nous l’avons vu en cours de notre aventure, la réalité virtuelle et l’intelligence artificielle sont arrivées aux yeux du grand public grâce au jeu. Nous nous intéresserons notamment à la réalité mixte, qui consiste à mélanger le contenu virtuel avec le monde réel. Jusqu’à présent, la réalité mixte a été réalisée grâce à la transparence optique, où l’utilisateur voit des objets numériques rajoutés par rapport à la réalité grâce à une paire de lunettes. Cela fonctionne très bien pour représenter des infographies ou jouer à des mini-jeux, mais pour des scènes réalistes, cela n’a que peu de valeur. Les appareils à transparence optique ne peuvent pas afficher un contenu noir ou opaque au-dessus du monde réel. Les éléments ajoutés paraissent flous et holographiques. Mais une équipe à relever le défi de passer outre ces limitations !

L’équipe de Varjo est à l’origine de certains des projets les plus innovants dans le monde de la réalité mixte. Ils ont précédemment partagé avec leur communauté un environnement basé sur la photogrammétrie qu’ils ont créé en réalité virtuelle, ils ont innové sur une démo qui réunit les mondes réels et virtuels comme jamais auparavant. Volvo et Varjo ont réalisé leur démonstration lors d’une conférence de Unity en 2019.

Cette équipe a voulu dépasser la limite de la réalité mixte et être capable de rendre un contenu photoréaliste et opaque où il est impossible de distinguer le réel du virtuel. Ils décident donc de rendre possible une réalité mixte photoréaliste grâce au passage d’une vidéo. La transmission vidéo consiste à utiliser des caméras pour numériser le monde en temps réel, puis à montrer à l’utilisateur le résultat combiné du réel et du virtuel. Ils ont donc créé leur propre casque permettant de rendre le monde réel dans une caméra avec la résolution de l’œil humain.

Étant donné que les moteurs fonctionnaient déjà bien pour leur casque, il est naturel de tester l’apparence des objets virtuels dans la réalité mixte. Le fait que les moteurs soient faciles à intégrer et à étendre avec des bibliothèques C++ leur a permis d’étendre leur plug-in pour prendre en charge la réalité mixte. En définissant simplement l’arrière-plan vide d’une scène de réalité virtuelle à remplacer par le passage de la vidéo, ils ont pu rapidement voir les objets virtuels dans un environnement réel.

La voiture apparaît d’abord sous la forme d’un cadre métallique bleu transparent stylisé. La voiture virtuelle est ancrée au sol de la pièce qui vous entoure et orientée de manière que le fauteuil de la cabine soit aligné avec le siège du conducteur de la voiture virtuelle. Le spectateur peut s’asseoir sur la vraie chaise et peut toujours voir l’environnement réel à travers le cadre métallique.

Le modèle de voiture a été fourni à Varjo par Volvo ; la résolution du casque et de la voiture étant très élevée, ils ont dû procéder à un prétraitement aussi poussé que possible. L’éclairage a été réalisé dans le logiciel de modélisation 3D pour obtenir un résultat très développé, mais pas gourmand en ressources (c’est-à-dire qu’il sera plus rapide à charger et consommera moins d’énergie).

Pour rendre les transitions visuellement agréables, Timotei Ghiurau, responsable de Volvo, Virtual Experiences et XR Research, a utilisé l’espace réel avec des découpes transparentes pour faire entrer la voiture et l’environnement dans le même cadre. C’était une combinaison parfaite pour faire face à des délais serrés.

Qu’en est-il de l’évolution de l’intelligence artificielle (IA) dans les jeux vidéo ? Depuis beaucoup d’années, elle n’a que très peu évolué, mais il existe de nouvelles méthodes comme la Machine Learning qui apparaissent petit à petit et qui sont intégrées dans les moteurs. C’est un sous-domaine de l’intelligence artificielle. L’objectif de la Machine Learning est généralement de comprendre la structure des donnéeset de les intégrer dans des modèles qui peuvent être compris et utilisés par les créateurs. La Machine Learning permet aux ordinateurs de s’entraîner à l’utilisation de données et d’utiliser l’analyse statistique afin de produire des valeurs qui se situent dans une plage spécifique. Pour faire simple, on automatise la prise de décision.

La logique de la Machine Learning dans les moteurs permet aux jeux et aux simulations de servir d’environnement pour la formation d’agents intelligents. Les agents peuvent être formés en utilisant l’apprentissage par renforcement, l’apprentissage par imitation, la neuro-évolution ou d’autres méthodes d’apprentissage machine grâce à des outils très simples.

De manière simple, un agent représente un ensemble d’objets et d’actions dans notre application. Par exemple un joueur de tennis, l’objet sera un joueur et l’action est de viser puis de taper la balle.

La notion de self-play a une longue histoire dans la pratique de la construction d’agents intelligents pour rivaliser avec les humains dans les jeux. L’une des premières utilisations de ce mécanisme a été le jeu de dames d’Arthur Samuel, qui a été développé dans les années 50 et publié en 1959. Ce système a été un précurseur de l’apprentissage par renforcement, il a été suivi du TD-Gammon de Gérald Tesauro publié en 1995. TD-Gammon a utilisé un algorithme d’apprentissage par différence temporelle TD(λ) avec le self-play pour entraîner un agent qui a presque rivalisé avec les experts humains. Dans certains cas, il a été observé que TD-Gammon avait une compréhension supérieure à celle des joueurs de classe mondiale.

Le self-play a joué un rôle déterminant dans un certain nombre de résultats de l’apprentissage par renforcement. Il a notamment facilité l’apprentissage d’agents surhumains aux échecs, d’agents d’élite dans DOTA 2, ainsi que de stratégies complexes et de contre-stratégies dans des jeux comme la lutte et le cache-cache. Dans tous ces résultats, les chercheurs soulignent que les agents découvrent des stratégies qui surprennent les experts humains.

Le self-play dans les jeux imprègne les agents d’une certaine créativité, indépendante de celle des développeurs. L’agent ne reçoit que les règles du jeu et on lui dit quand il gagne ou perd. Pour en apprendre davantage, le blog de Unity Technologies a réalisé de nombreux articles sur le sujet.

Et avec ceci ? Ce sera tout, merci.

Après avoir pris connaissance de la profondeur d’un moteur de jeu vidéo, nous pouvons facilement imaginer les créations qui peuvent en ressortir. Il est un outil simple à utiliser, mais difficile à maîtriser.

L’utilisation d’un moteur de jeu vidéo pour des applications métiers est la solution la plus adaptée pour des projets médiatiques, scientifique ou technologique. Ils offrent un gain de temps et de coûts non négligeables. Ils sont difficilement égalables. Leur évolution n’en est qu’à ces débuts et les solutions qu’il propose répondent à des problématiques récentes.

Il est temps de voir plus loin et de penser aux évolutions d’un tel outil.

Depuis la démocratisation de la programmation, il est devenu normal de faciliter la création d’application et d’enseigner le développement informatique. Les moteurs nous laissent imaginer la création d’un outil permettant de réaliser toutes nos idées, de les montrer, et même de les vendre. Un outil simple d’accès et pouvant être modifiées facilement afin de répondre à tous les besoins.

Est-ce qu’il est possible que le résultat de l’évolution des moteurs de jeu vidéo devienne cet outil universel ?

Les nouvelles technologies et les nouveaux supports médiatiques sont de plus en plus performants ; ce qui rend l’utilisation d’un moteur de jeu vidéo beaucoup plus facile pour une multitude de projets, grâce à la simplicité de pouvoir réaliser et présenter une application sur plusieurs types de support simultanément.

La communauté autour des moteurs de jeu vidéo ne cesse de grandir et d’offrir son aide aux autres développeurs. De plus, l’apprentissage de la programmation est plus facile pour les enfants lorsqu’ils possèdent un environnement amusant, la relève est assurée et c’est ce que les ingénieurs d’hier souhaitent.

Aucun outil actuel ne permet de créer une application sur autant de support avec le même code source et l’interaction entre ses différents supports crée de nouvelles idées et solutions pour de nombreux projets. C’est grâce à tous ces points que les moteurs continueront d’évoluer, les éditeurs ont très bien compris qu’il fallait toucher un grand public et continue de créer des cours et autres ressources autour de l’utilisation des moteurs pour autre chose que du jeu.

Il est certain que dans quelques années le terme « jeu vidéo » se détachera du moteur. Au départ pour des projets scientifiques et médiatiques, puis plus globalement vers des applications adaptées à de nouveaux supports que nous verrons apparaître dans les dix voir vingt prochaines années.

Article de Shimrock (https://twitter.com/hommedurisque)

Afficher plus

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page