Actualités

Blog technologie

Apprentissage

23 juin 2025

Exemple de jeu Parrot : une nouvelle ressource pratique destinée aux développeurs de jeux qui passent à l'Unreal Engine

Apprentissage

Blueprints

Fab

Jeux

Parrot Game Sample

Unity

secret-dimension-logo.png
Fondé en 2017, Secret Dimension est un studio de codéveloppement de jeux vidéo de première classe. Son équipe se compose de vétérans de l'industrie experts dans plusieurs domaines, dont l'ingénierie, la conception et l'art technique. Son objectif principal est d'aider des clients de toutes tailles à résoudre les problèmes de développement les plus retors. Pour ce faire, il peut compter sur son expérience avec tous les principaux moteurs de jeu (et certains propriétaires), notamment l'Unreal Engine.
Passer d'un moteur à un autre est l'un des défis sempiternels du développement de jeux vidéo. Devoir faire transitionner son équipe et son projet vers un tout autre logiciel peut s'avérer difficile. 

Chaque moteur est différent sur le plan architectural et cela se ressent partout : dans le style du code, dans les outils utilisés, mais également dans les pipelines artistiques. Cela signifie que les méthodes de développement (ainsi que les connaissances de l'équipe) devront être mises à jour lors du passage à un autre moteur. 

Afin d'essayer de rendre cette transition aussi fluide que possible pour les développeurs intéressés par l'Unreal Engine, nous avons créé l'exemple de jeu Parrot !

Présentation de l'exemple de jeu Parrot

L'exemple de jeu Parrot est le fruit de la collaboration entre Epic Games et le studio de développement expérimenté Secret Dimension. Il a été conçu pour aider les développeurs Unity à apprendre facilement à créer un jeu avec l'Unreal Engine.

Ce jeu de plateformes 2.5D sur le thème des pirates possède trois niveaux, un écran de titre et un système de menus complet. Secret Dimension a développé une version avec l'Unreal Engine 5.6 et une autre avec Unity 6 tout en utilisant les mêmes ressources. L'objectif était d'obtenir deux jeux qui se ressemblent le plus possible tout en notant tout ce qu'il y a à retenir en cours de route.
Ainsi est né l'exemple de jeu Parrot. Ses versions Unity et Unreal Engine sont toutes les deux disponibles gratuitement sur Fab. Ce projet est accompagné d'annotations et d'une documentation approfondie. Nous invitons les développeurs à les lire attentivement, à explorer les outils et à retenir les leçons tirées par Secret Dimension lors de son voyage à travers les deux moteurs.

Que vous souhaitiez vous lancer dans un nouveau projet ou exploiter les fonctionnalités intégrées et les flux de travail rationalisés de l'Unreal Engine 5, Parrot offre des conseils pratiques et concrets qui permettront à n'importe quel développeur d'améliorer ses compétences.Notre but est simple : éduquer et inspirer.

Nous avons demandé aux créateurs de l'exemple de jeu Parrot, les ingénieurs logiciel seniors de Secret Dimension Dakota Herold et Justin Thomas, de nous expliquer comment ils ont abordé son développement.

Le développement de l'exemple de jeu Parrot

Bonjour à tous ! Nous sommes Dakota Herold et Justin Thomas. Nous avons tous les deux commencé notre carrière professionnelle avec Unity et nous avons commencé à apprendre à utiliser l'Unreal Engine après avoir rejoint Secret Dimension.
Lors des prémices de l'exemple de jeu Parrot, nous avions quelques objectifs en tête. Nous voulions que la version Unreal Engine soit aussi identique que possible à celle créée avec Unity afin de pouvoir comparer les implémentations plus facilement. De plus, afin d'offrir des fondations solides pour commencer à développer avec l'Unreal Engine, nous voulions nous assurer que nos systèmes de jeu respectaient les bonnes pratiques en matière d'ingénierie des normes de codage d'Epic. Notre dernier objectif était de documenter au maximum. C'est-à-dire d'écrire le code de l'Unreal Engine aussi proprement et sobrement que possible, en l'accompagnant de commentaires détaillés expliquant ce que nous avons fait, comment le système sous-jacent de l'Unreal Engine fonctionne et plus encore. Nous voulions ainsi que le code en lui-même fasse office de documentation, à l'instar de l'Unreal Engine.

En plus du code, un ensemble de documents annexes est disponible pour approfondir certains sujets. On y trouve des explications poussées sur plusieurs concepts, les systèmes de l'Unreal Engine, les implémentations de Parrot ainsi que des références à la documentation officielle de l'Unreal Engine lorsque cela est nécessaire. 

Nous avons planifié le développement en décidant du contenu et des fonctionnalités du jeu à implémenter afin de créer un tutoriel utile. Notre but était de fournir aux développeurs un ensemble de fonctionnalités et une architecture pouvant faire l'objet de références croisées. 

Pour ce faire, nous avons imaginé un jeu de plateforme 2.5D simple qui intègre les fonctionnalités et les systèmes que nous souhaitions mettre en avant. Nous voulions que chaque exemple soit aussi clair et explicite que possible. La version finale fait office de tutoriel. Nous espérons que vous la trouverez facile à comprendre.

Parrot présente des implémentations de systèmes de commandes, d'éclairage, de shaders, de matériaux, de son, de contrôleurs de personnages, de physiques et de gestion.

Voici une liste non exhaustive des systèmes de l'Unreal Engine que nous avons utilisés : Lumen pour l'éclairage global, Nanite pour les maillages avec un nombre élevé de polygones, les arbres de comportement pour l'IA des ennemis, World Partition pour le chargement de niveau en temps réel, Sequencer pour les requins, Unreal Motion Graphics (UMG) et CommonUI pour l'interface utilisateur et Enhanced Input.
Nous avons très vite compris que l'eau serait un élément important du jeu. C'est pourquoi nous avons pensé à utiliser la physique aquatique pour créer des obstacles. En étudiant le plug-in Système d'eau d'Epic, nous nous sommes rendu compte que la simulation de physique n'était pas très adaptée. Nous avons donc laissé de côté la simulation de l'eau pour passer à un plan stylisé. Epic Games nous a suggéré d'essayer le modèle d'ombrage d'eau à couche unique. Il nous a permis d'obtenir l'aspect exact que nous recherchions. C'était la première fois que nous utilisions ce système. Ses fonctionnalités et la qualité du résultat final nous ont beaucoup impressionnés.
Pour implémenter des physiques de jeux de plateforme agréables, nous sommes partis de la fonction CharacterMovementComponent et l'avons personnalisée selon nos besoins. Nous avons ajouté des mécaniques de saut typiques des jeux de plateforme, des physiques de chute et un coyote time. Leurs valeurs étaient modifiables lors de la conception afin de pouvoir répondre à chaque situation. Nous avons notamment défini les valeurs "time-to-apex" et "apex height" comme étant modifiables. C'était pour nous la meilleure façon d'ajuster la sensation de saut, de faire en sorte qu'elle soit parfaite.
En ce qui concerne la caméra, nous nous sommes inspirés de certains classiques du genre pour créer une caméra unidirectionnelle qui réagit de manière naturelle aux mouvements du joueur dans les niveaux que nous avons conçus. Sa nature unidirectionnelle et son comportement ne conviendront pas forcément à tous les jeux de plateforme, mais c'était parfait pour Parrot. 

Afin d'obtenir une esthétique cohérente dans sa globalité, nous avons passé du temps à personnaliser les ressources de matériau et l'éclairage. Nous avons utilisé les fonctions de matériau de l'Unreal Engine afin d'appliquer des effets variés et modifié l'éclairage de manière à mettre en valeur les ressources. Nous vous encourageons à jeter un coup d'œil aux différents effets que nous avons utilisés pour les matériaux du projet ainsi qu'à la façon dont nous avons paramétré l'éclairage.

Lors du développement de Parrot, nous avons utilisé énormément de ressources sous licence CC0. Nous voulions que n'importe qui puisse utiliser le contenu du projet et le modifier librement pour son utilisation personnelle. Merci à Kenney.nl, Quaternius, OpenGameArt et leurs nombreux contributeurs qui ont gracieusement créé des ressources sous CC0, libres de droits. Nous espérons que ces ressources seront mises en valeur dans Parrot !
Lorsqu'ils conçoivent des jeux avec Unity, les développeurs doivent créer un framework de gameplay eux-mêmes. Dans Parrot, nous avons implémenté ces systèmes en nous rapprochant le plus possible de leurs versions Unreal Engine. Nous avons également ajouté d'autres fonctionnalités pour mieux nous rapprocher de notre flux de travail Unreal Engine. 

Ces fonctionnalités incluent le chargement de scènes additionnelles afin d'obtenir des cycles de vie étendus pour les systèmes de gestion de jeu et un composant de déplacement de personnage personnalisé. Nous avons également créé des nœuds de graphique au comportement personnalisé correspondant à la sémantique utilisée dans les arbres de comportement de l'Unreal Engine. Nous espérons que ces modèles et implémentations dans Unity vous aideront à mieux comprendre le flux de travail de développement et les modèles architecturaux utilisés avec l'Unreal Engine.

Download the Parrot Game Sample today!

Download nowSee documentation

Recevez des informations sur les innovations du secteur ainsi que les dernières ressources gratuites pour :

En transmettant vos informations, vous acceptez de recevoir des actualités, des enquêtes et des offres spéciales de la part d'Epic Games. Politique de confidentialité