Revenir au blog

[Postmortem] SHBLEH

Concept réalisé au cours de la 2ème année (2016) de formation au Game Design à Aries.

Le but était de réaliser un prototype de jeu vidéo en deux semaines afin de nous familiariser avec le moteur de jeu Unreal Engine 4. Le projet a été réalisé en groupe de huit personnes, quatre game designers et quatre game artists.

Résumé

SHBLEH est un jeu de course à grande vitesse à la première personne sur des plateformes situées dans un environnement aérien. Les intentions ludiques sont d’expérimenter des sensations de vitesse et de chute libres.

Le prototype couvre un niveau de 5 minutes de jeu.

Choix du concept

N’ayant qu’une expérience de quelques jours acquises l’année précédente, nous devions nous adapter à notre méconnaissance du moteur, et concevoir un projet à notre mesure.

Après réflexion, il s’est avéré que cela nous permettait de mettre en oeuvre une idée qui avait émergée lors de discussions précédentes, à savoir créer un concept qui revient à la colonne vertébrale d’un genre.

Le concept qui en a émergé est le suivant :

Un jeu de course privilégiant l’expérience de fun du joueur. Nous souhaitions mettre l’accent sur la sensation de vertige procurée par la grande vitesse dans un environnement très aérien et vertigineux.

Nos références furent :

  • SSX : La progression d’un point A à un point B en passant par de multiples chemins imbriqués
  • Deadcore : la précision des mouvements du joueur, l’environnement aérien
  • Mirror’s Edge : les animations de courses

Afin d’encourager le joueur à ne jamais s’arrêter, ce qui briserait d’une certaine manière le flow du jeu, nous avons rapidement décidé de mettre en place ce que nous avons appelé le “Follower”. Il s’agit d’une boule d’énergie dont le but est de poursuivre le joueur. Il ne le rattrape jamais si celui continue sa progression, mais gagne du terrain si celui-ci ralentit ou s’arrête. Le joueur perd la partie si le Follower le touche, et peut alors recommencer très rapidement à la manière d’un die’n’retry.

Prise en main du moteur

Après avoir mis les mains sur le moteur, j’ai retrouvé un peu mes marques concernant le workflow global d’Unreal, apparemment si différent de Unity mais pourtant très proche. Nous avons essayé chacun de notre côté des valeurs différentes pour notre character (modifié à partir du assets standard d’UE4), et avons sélectionné celui qui correspondait le plus à nos attente.

J’ai alors pris en charge la conception technique des éléments de gameplay et l’intégration des assets. J’avais alors le choix de le concevoir en Blueprint ou en C++.  Si à première vue je me serais senti plus à l’aise avec le C++, le temps d’apprentissage me semblait alors trop long pour la durée de notre projet, et j’ai préféré essayer à nouveau le Blueprint, que j’avais déjà rencontré auparavant mais pas très bien cerné.

Première semaine

La première semaine a été très fructueuse en terme de travail.

Recherches et implémentations de features

Les features implémentée furent :

  • une mécanique de téléportation très similaire à celle de Dishonored. Elle permettait d’accéder des chemins supplémentaires et constituait une certaine aide pour le joueur lors de ses sauts.
  • un “jumppad”, plateforme de rebond propulsant le joueur dans une direction.
  • Un “speeder”, un élément situé sur le chemin donnant une impulsion à la vitesse du joueur (permettant également de le renvoyer sur la route si le joueur a dévié)
  • un wall-jump, permettant de rebondir contre les murs. C’est la mécanique qui m’a donné le plus de soucis, étant donné qu’il a fallu comprendre les étapes mathématiques permettant de réaliser le wall jump, puis de les appliquer, non pas en code, mais à l’aide du scripting visuel. Les recherches réalisés pour comprendre cette feature ont beaucoup aidé à comprendre cette logique.
  • Le Follower, une sphère répondant au principe d’urgence du concept, encourageant le joueur à continuer sa route sans s’arrêter. J’ai pris beaucoup de plaisir à réaliser cette feature, m’efforçant de sortir les variables permettant un équilibrage aisé de la poursuite. Lors des tests, nous nous sommes rendu compte que le joueur n’avait aucune idée de la position de son poursuivant. Nous avons accompagné alors le Follower de particules indiquant au joueur sa position quand celui-ci se rapproche dangereusement.
  • Des Checkpoint, permettant à un joueur perdant la partie de recommencer au dernier checkpoint traversé.

Level Design

SHBLEH-screenshot11A côté, j’ai fais des recherches sur les différentes méthodes permettant de créer les tronçons de route. J’avais vaguement entendu parlé des Splines et de ce qu’elles permettaient, mais nous n’avons pas poussé plus loin et préféré concevoir des bouts d’élément de LD pour concevoir le niveau. Cela permettait notamment de connaître simplement les metrics (une longueur de route, deux longueur de route, etc…).

Puis j’ai réalisé des tronçons de level design mettant en valeur les compétences. Conçu à l’initial pour simplement tester les features, j’y ais rapidement pris goût et ais finalement présenté quelques idées qui ont été retenue.

Les autres Game Designer avait alors réalisé plusieurs morceaux de level qui ont constitué le corps de notre niveau. A chaque itération (quasi-journalière, ce qui a fini par nous poser problème), nous partagions les ressources et pouvions tester nos bouts de niveau avec les bons éléments à jour afin de rééquilibrer le tout.

Arts

Nos intervenants nous ont donné plusieurs pistes à creuser qui mettrait en valeur notre concept.
Nous avons pu alors avoir connaissance des hautes et basses fréquences, permettant de varier le rythme de défilement de l’écran, et le mettre en oeuvre.

Le choix des couleurs a été intéressant à réaliser également, et nous avons du revenir plusieurs fois sur nos choix afin d’améliorer la lisibilité des éléments de jeu (comme mettre des plateformes sombre qui puissent se détacher du ciel clair), ou encore sur certaines considérations techniques, comme l’utilisation des émissives (non affecté par le fog, altérant l’impression de distance).

Nos Game Artists ont pendant ce temps réalisés de nombreux assets 3D, testé de manière itérative afin de simplifier l’intégration des éléments (metrics, standards de formes, de textures…).

Deuxième semaine

Les 90% les plus longs

La seconde semaine a été plus difficile. Lancé comme des balles, nous avions négligés certains aspects essentiels tel que la nomenclature ou la standardisation de l’architecture des dossiers de chacun. Il y eu beaucoup de travail fais en double, de problème de versions ou de personnes bloquées en attendant le travail d’un autre. Heureusement, nous étions conscient de nos erreurs au moment même où elles se produisaient et tout le groupe s’est rapidement soudé pour réassembler une version propre et nettoyée et respecter un standard, ce qui nous a été vraiment bénéfique pour la suite.

Polish et finalisation

J’ai ensuite rapidement mis en place un menu de jeu et une fonction pause. Enfin décidé sur nos couleurs et nos textures, nous avons terminés l’intégration de tous les assets que nous souhaitions et intégré le son réalisé par un des game designer. Nous avons même pu ajouter quelques feedbacks pour la téléportation, les jumppad ou la défaite.

Quelques oublis et bugs sont restés lors de la finalisation du prototype, mais celui-ci fut jouable et correspondait à nos attentes.

Cette expérience fut très enrichissante, autant pour le défi technique que pour les problématiques de groupe que nous avons rencontré. L’improvisation créatrice initiale dont nous avons fait preuve est devenu beaucoup plus cadrée et organisée à la fin du projet, et j’ai pris beaucoup de plaisir à réaliser ce prototype.