7.5 KiB
title | subtitle | comments |
---|---|---|
LA 2029 | VR Shooter | false |
C'est un FPS en VR pour la plateforme Oculus Quest où l'on tire sur des terminators se présentant.
La recharge se fait de manière manuelle avec le magasin vide à éjecter avant de se munir du nouveau magasin à sa ceinture pour
l'ammener à l'arme, ce qui recharge celle-ci.
Le but est de rejoindre la fin du niveau en tuant un maximum de Terminators et en restant en vie : simple et éfficace!
Je voulais tester de créer les scripts de mécanique de recharge manuelle de l'arme :
une fois le magasin vide enlevé, on prends celui situé à gauche sur la "ceinture" et finalement celui-ci mis en place, l'arme se recharge.
L'aspect "limitation technique" vu le support mobile Quest est aussi ce qui m'a motivé pour ce projet.
Suite à la sortie du jeu Terminator Resistance, j'ai vraiment accroché avec l'ambiance que les
devs ont réussis à créer et étant un fan des films, je me suis lançé.
C'est une version simple avec des assets téléchargées sur Sketchfab, le tout codé en une semaine.
La plateforme Quest étant limité en ressources (Spécifications Oculus Quest), il fallait trouver un moyen d'optimiser le chargement des GameObjects en cours de niveau, j'ai donc implémenté le principe "d'object pooler".
Le principe s'articule autour de deux scripts fonctionnant de concert:
-
Le premier script, l'ObjectPooler charge en début de scene un nombre défini d'instances de Gameobjects afin que ceux-ci soient disponibles et ainsi éviter des ralentissements en plein niveau.
-
Le second se place sur des "Transform" où les GameObjects sont sensé apparaître. Un composant collider va déclencher l'apparition du GameObject dès que le joueur arrive à une certaine distance. Il suffit au script de piocher dans le "pool" des GameObjects chargés en début de scène.
Suite aux critiques positive sur SideQuest, j'ai décidé de pousser un peu plus loin la complexité des mécanismes en scriptant un objectif:
détruire un batiment pour libérer le passage vers la fin du niveau.
Pour se faire, le joueur doit se munir d'une bombe à sa ceinture pour la déposer à un endroit spécifique qui déclenchera un compte à rebours,
puis l'explosion du batiment qui libèrera enfin l'accès vers la fin du niveau.
En attendant le portage qui apportera des améliorations graphiques et au niveau du gameplay, voici une review sur Quest 2 :
{{< youtube 8Jfupw6VqgU >}}
La version 2.0 avec le deuxième level est disponible un peu plus bas en téléchargement via le sideloader Sidequest.
Pour la suite du projet, on passe sur PC, on oublie Oculus et on plonge dans l'open source avec openXR pour le côté VR.
Par la même occassion, on bascule sur la dernière version d'Unity (2021.3.15), on corrige les petits bugs et on repasse les textures en standard (bye bye textures mobile sans UV maps!).
Reste à peupler un peu plus la map maintenant que l'on est plus limité par un chipset mobile et on se lançe vers un niveau 3!
V 3.0 on the way!
Télécharger la version 2.0 pour Oculus Quest (compatible Quest 2):
(Oculus Quest nécessaire ainsi que SideQuest pour l'installation)