The Dead Memories

The Dead Memories est un projet de jeu vidéo à la 3è personne basé sur Unity, scripté en C# et se déroulant dans un monde médiéval-fantastique.
Le joueur contrôle un personnage qui après sa mort est revenu dans le monde des vivants pour se venger. Le but principal du jeu est de réussir des Succès.
Le projet a été initié par une équipe d'une quinzaine de personnes mais réalisé uniquement par 8 d'entre elles (6 développeurs et 2 graphistes).
A la suite d'un consentement mutuel, j'ai eu la charge de coordonner le développement du jeu.

The Dead Memories en détails


Le projet est, à l'origine, une démo d'un jeu dont nous avons du réaliser le Game Design Document dans le cadre de notre DUT. Il est basé sur un système de Succès à débloquer et de compétences que le joueur peut acheter avec l'expérience gagnée.
Les ennemis qui font face au joueur sont contrôlés par une IA dont je suis le principal auteur. Elle est aussi ce que j'estime être ma plus importante contribution au projet, bien que j'ai réalisé de nombreux autres éléments de moins grande envergure.

IA


J'ai conçu l'IA en donnant aux ennemis trois « états » principaux : Ils peuvent patrouiller (autrement dit vaguer à leur occupation), poursuivre le joueur et l'attaquer.

Au départ, les ennemis patrouillent. Lorsque l’un d’eux voit le joueur (suivant une distance et un champ de vision défini) ou l’entend (suivant une distance défini, lorsque le joueur se déplace), il se met à sa poursuite et alerte ces voisins dans un rayon définit. Ces même voisins ne transmettent pas l’alerte mais se mettent à la poursuite du joueur eux aussi.
Lorsqu’un ennemi est suffisamment proche du joueur, il attaque. Il choisi entre une attaque au corps à corps et une attaque magique suivant différents facteurs.

La patrouille est probablement l’élément auquel j’ai attaché le plus d’attention pour simuler des déplacements naturels. Elle est basée sur l’utilisation de graphes et de l'algorithme de Dijkstra.

Lorsque l’ennemi aperçoit le joueur, l’entend ou est alerté, il se met à sa poursuite. S'il perd de vu le joueur, il continue sa traque pour retrouver sa trace pendant un certain laps de temps (fixé à environ 3s dans le jeu). Pour le rechercher, il part dans la dernière direction où il a vu partir le joueur.

Lorsqu’il est suffisamment proche du joueur, l’ennemi l’attaque. Il choisi aléatoirement entre une attaque de mêlée ou une attaque de distance. Le facteur de probabilité entre les deux varie suivant la quantité de mana restant à l’ennemi.

Si vous êtes intéressés, voici une description un peu plus détaillée du fonctionnement de l'IA (en particulier de la patrouille).


L'intérêt du projet


Ce projet m'a permis d'avoir une première approche de Unity et du C#.
Il m'a aussi permis d'appréhender l'organisation et la coordination nécessaire au travail d'une équipe composée d'autant de personnes aux compétences variées.

Téléchargement


The Dead Memories pour Windows, sans installation (80,7 Mio)
The Dead Memories pour Linux, sans installation (80,8 Mio)
The Dead Memories pour Mac OS X (85,3 Mio)

Le projet est open-source. Il est disponible sur Github à l'adresse suivante : https://github.com/TheDeadMemoriesTeam/TheDeadMemories

Voir aussi un autre article sur The Dead Memories, écrit par Alexandre Rabérin.