top of page

DARKNESS ROLLER COASTER

ps5-playstation-5-logo-0_edited_edited_e

Roller coaster - VR

DRC-Horizontal.png

Darkness RollerCoaster est un rollercoaster en VR avec des composantes de Shooter. Le jeu avait initialement été commandé par Oculus pour promouvoir le genre après les premiers succès de CREATIVE VR 3D.

Developpement

DEVELOPPEMENT

Portage & Refonte totale de la codebase

En plus de réaliser le portage du projet de la PS4 vers la PS5, j'ai été chargé d'améliorer toutes les fonctionnalités et mécaniques existants. Après un petit travail de Game Design, nous avons revu les interactions du joueur, modifié les composants FPS (Shooter) pour rendre les choses plus intéressantes.

  • Portage sur la PS5

  • Game Manager - refonte de toute la logique liée à l'initialisation et aux différents états du joueur dans une scène

  • Data System - leaderboards, succès, gestion des récompenses et des secrets

  • UI system - amélioration des UI, ajout de feedbacks et des traductions

  • Player  - modification des fonctionnalités liées au shooter (tir, rechargement, animations)

  • Fixs divers et variés 

Track Editor

TRACK EDITOR

Sans conteste le projet le plus intéressant sur lequel j'ai travaillé jusqu'ici. Le pitch est simple :

"Créer un éditeur de circuits permettant de créer, partager et éditer des roller coasters."

CREER. EDITER. JOUER. PARTAGER.

LES NOEUDS :  Un circuit préexistant est manipulable directement en VR. Il est basé sur les courbes (l'API Splines d'Unity). L'utilisateur peut modifier les courbes comme il le souhaite avec la possibilité d'ajouter, de supprimer, de déplacement et d'ajuster les tangentes de chacun des noeuds du circuit.

LES ASSETS, interactifs, sont disponibles par le biais d'un menu déroulant classé par thème et par type (nature, structure, props, FX). Le joueur possède les mêmes méthodes de manipulation pour les assets et pour les noeuds à quelques différences près. Le design du système avait pour objectif de créer une logique déployable à tous les niveaux. 

Ainsi, les assets peuvent être déplacé, tournés et "scale". Ils peuvent aussi être supprimé et dupliqué avec les mêmes "inputs" que les noeuds.

LE LIGHTING, est lui aussi paramétrable par le biais d'un menu qui lui est propre. Structuré autour de Scriptable Objects, la sélection d'un SO (scriptable object) de lighting permet de modifier la skybox ainsi que la teinte de la lumière directionnelle de la scène. 

LE TERRAIN, permet à l'utilisateur de modifier le relief du terrain en runtime grâce à l'utilisation d'une matrice et de l'API Terrain d'Unity.

LE POST-PROCESSING, permet de sélectionner les LUTs et d'autres paramètres influençant le rendu de la scène.

Derrière le rideau se trouve un ensemble de systèmes complexes. Le tout est alimenté par l'API d'Addressables qui permet de charger les assets, les scriptables objects. La data des niveaux quant à eux, sont sauvegardés sur un FTP en ligne et sont récupérés par le biais de fonctions async. Le tout est connecté aux différentes APIs de Playstation concernant les IDs et les amis. J'ai développé un Editor Window pour permettre de créer des assets à destination du Track Editor très facilement. Il suffit de renseigner le prefab d'origine et d'appuyer sur un bouton : le programme va alors générer le nouvel asset "Addressable" après lui avoir octroyé les composants nécessaires. Il va créer en parallèle le Scriptable Object contenant toutes ses donées pour l'UI et va automatiser la création de Thumbnails.

bottom of page