L'agence
WanadevStudio
D'un sujet de R&D est né Seek, un jeu VR sur Sketchfab. Présentation.
Sketchfab est un outil génial. il permet à quiconque de montrer de objets 3d dans un lecteur rapide, accessible et facile d’utilisation. Il est utilisé principalement par des artistes 3D, qui utilisent ce lecteur pour exposer leurs créations. En voulant tester les limites du lecteur, je me suis lancé dans la création d'un jeu directement accessible dans cet environnement à fortes contraintes.
Aqualia : présentation rapide du jeu originel
@ T'as de la chance ! Par cet article, je te dévoile quelques premières pistes concernant le jeu que nous développons en ce moment avec WanadevStudio pour octopodVR.com !
Aqualia est un jeu en VR d’exploration sous marine multijoueur développé par WanadevStudio. Le but est de récolter des trésors se trouvant dans des coffres disséminés dans un environnement riche et varié.
Durant toute la partie (dont le temps est limité), les joueurs explorent des récifs coralliens, trouvent des objets pour gagner le plus de points possibles, et coopèrent pour ouvrir les coffres les plus gros. A la fin de la partie, les joueurs voient leurs score individuel et d’équipe, avec la ferme intention de vouloir faire mieux la partie suivante !
Le challenge : créer une version du jeu sur Sketchfab !
@ Sketchfab est un outil génial. il permet à quiconque de montrer des objets 3d dans un lecteur rapide, accessible et facile d’utilisation. Il est utilisé principalement par des artistes 3D, qui utilisent ce lecteur pour exposer leurs créations, mais aussi par des marques qui rendent accessibles une version 3D de leur modèles, par des musées qui exposent leurs oeuvres scannées, etc… Certains mêmes ont réalisé des court métrages lisibles dans le lecteur . (ici)
Le rendu que sketchfab peut offrir est très puissant. On a un rendu PBR, avec des tas de paramètres de shader qu’on retrouve dans les moteurs de jeu standards, et des post-process très efficaces.
Un autre gros avantage du lecteur, c’est la possibilité d’accéder facilement à la scène grâce aux casques VR. On branche le casque, on clique sur un bouton et hop, on est dans la scène 3D. C’est très performant, sans oublier qu’on est toujours sur les technos web.
Un jeu VR sur Sketchfab : d’où vient l’idée ?
L’idée de faire une scène interactive sur Sketchfab n’est pas nouvelle. Pour moi, elle vient d’un copain avec qui nous avions un peu tourné autour du sujet il y a deux ou trois ans. Il avait fait quelques scènes dont le but du jeu était de traverser un niveau en évitant quelques embûches. Son article de blog sur le sujet ici.
L’idée est de reprendre le concept du jeu Aqualia VR, mais avec les contraintes du lecteur Sketchfab. Il fallait réinventer son gameplay et créer une nouveau terrain de jeu.
Je crois bien que mis à part les scènes interactives de mon ami JER3D, il n’y avait pas de véritable jeu exploitant tout le potentiel du lecteur sketchfab. J’y ai ajouté la dimension de résolution d’énigme pour avoir un objectif concret.
Le but du jeu sur Sketchfab est de trouver dans la scène sept lettres, afin de reconstituer un mot. C’est une sorte de chasse au trésor, avec un temps limité.
Un jeu VR sur Sketchfab : les contraintes
Bien que le lecteur soit performant, ce n’est pas un moteur de jeu, et il faut s’adapter en fonction de ce qu’il peut offrir.
En terme de gameplay, c’est très simple il n’y a qu’une seule mécanique en VR : la téléportation. On pointe une surface, on clique et hop on s’y téléporte. C’est la seule chose interactive possible du lecteur (à moins de fouiller dans l’API et jouer avec les annotations mais ça restera très limité, et je ne suis pas un super développeur).
Je peux choisir le placement de départ du joueur, ainsi que sa taille. Je ne peux mettre que cinq sons/musiques dans le lecteur. Et enfin, comme dernière contrainte, j’ai les limites de puissance, qui me forcent à éviter les surplus de textures, de modèles et de polygones.
Le challenge est de créer un jeu avec ces quelques contraintes, et en vrai c’est possible.
La création du jeu
Les assets :
Nous avons déjà le jeu Aqualia, donc j’avais à disposition les modèles du décor. Édités en internes, nous cherchions un style joyeux et coloré, inspiré du monde de Némo, de Abzù ou encore Sea of thieves. Au passage, les textures ont été créées sur substance painter avec l’addon “so much diffuse”, ce qui permet de baker un éclairage simple et stylisé directement dans la base color. Je n’ai en général que la base color et une normal map pour chaque asset.
L'aire de jeu
J’ai créé une carte différente du jeu original. Bien plus petite, il y a aussi beaucoup moins d’objets pour rendre la scène légère pour sketchfab.. J’y ai mis six points d'intérêts : Le spawn, le temple, la grotte, le bateau, la forêt champi et le sommet de la montagne.
L’un des objectifs graphiques est de donner l’impression qu’on est dans l’eau aussi. Spoiler: c’est difficile. Je n’ai pas mis de poissons par souci de performances, je n’ai pas mis de fog, car impossible à générer dans le lecteur, et je n’ai pas trouvé de solution “triche” qui fonctionne pour mettre un fog crédible et adapté.
On imagine que le bloom fera l’affaire. J’ai mis des particules qui s’élèvent comme de bulles dans à une animation qui boucle, j’ai placé aussi des rayons lumineux venant du ciel, une hdr (image d'environnement ) issue du jeu, et un plafond d’eau.
Les coffres / l’énigme
J’ai placé les coffres à des endroits assez simples, dans les lieux d’intérêt, et plutôt bien visibles. C’est un jeu qui se veut court, et la difficulté se situant dans le fait de retenir sept lettres et de reconstituer l’anagramme, plutôt que de galérer à chercher les coffres. La recherche doit être facile et dans le plaisir de découvrir de nouveaux points d’intérêt.
Le son
@ Je ne peux mettre que cinq sons, et je voulais absolument qu’ils aient un rôle dans le jeu. Donc j’ai une musique principale que je vais décrire un peu plus tard, et quatre sons scintillants qui aident à trouver les coffres.
La musique est un son général d’ambiance, en revanche les sons de scintillement ont été placés dans l’espace 3D. La spatialisation peut aider à détecter les coffres.
Quatre sons pour sept coffres, forcément ça ne rentre pas. Donc j’en ai mis un entre deux coffres quand ces deux coffres sont proches. Un son pour les deux coffres de la zone bateau, et un son pour les deux coffres de la zone temple. Ça fait quatre coffre, il reste deux son pour trois coffres éloignés, donc il y a le coffre de la zone champi qui n’a pas de scintillement. Je me suis dit que c’était une zone facile à trouver.
Le parcours utilisateur
J’ai accordé pas mal d’attention au parcours utilisateur. La question était de savoir comment guider un joueur depuis la page web jusqu’à la fin du jeu.
Première étape, faire comprendre que c’est un jeu, et contraindre le passage de la page web à la VR.
Dans le lecteur, j’ai placé un plan texturé qui sera la miniature. Elle pousse à activer la vr. Il n’y a pas d’autre choix puisque j’ai bloqué la vue, on ne peut pas explorer librement la scène sans être en mode vr, c’est un parti pris.
Seconde étape, faire comprendre le but du jeu et la mécanique.
Une fois en jeu, et en vr, il est face à ce que j’appelle la zone tuto. Des bulles animées expliquent la règle simplement. Puis je pousse le joueur à se téléporter sur une plateforme, puis une seconde pour qu’il comprenne la mécanique. Puis je le lance dans le grand bain en lui montrant le timer.
Troisième étape, l’attirer vers des endroits précis.
J’ai placé les éléments du décor d’une certaine manière pour diriger un peu le regard et son chemin. Le bateau sert en premier lieu d’objectif au loin à visiter.
Dernière étape, lui faire comprendre que le jeu est terminé.
L’idée c’est surtout de faire comprendre aussi que le temps est limité. J’explique au début qu’il y a un timer et qu’on a 5 minutes pour tout explorer et trouver les coffres. Je n’ai aucune mainmise sur le déclenchement d’événement ou la sortie du mode vr, Il y a deux choses qui donnent une information sur le temps : Le timer et la musique.
Mon animation générale fait 5 minutes. le timer, tel un sablier animé, s’égraine. La musique quant à elle, a été travaillée exprès. Elle est découpée en deux parties. Une avec un tempo normal, puis à un moment donné, elle recommence avec un tempo accéléré. La fin de la musique arrivant, elle laisse place à un tic tac puis une sonnerie de fin de jeu. J’ai espéré qu’avec ces deux astuces, la notion de temps limité est admise par le joueur.
Enfin, Si c’est trop difficile, il y a un indice. Dans la description, il y a une aide qui explique que l’on peut deviner le mot en observant les coffres. Il est prévu pour les joueurs frustrés qui n’ont pas trouvé la solution et qui en revenant sur la description peuvent tout de même avoir la réponse.
Faire un jeu VR sur Sketchfab : le bilan
C’est intéressant d’imaginer un jeu avec des contraintes très fortes. Ça force à adapter les designs de jeu, et de trouver des astuces. Guider le joueur est très important pour éviter qu’il parte dans n’importe quel sens
Et aussi, il faut une sorte de récompense finale pour que le jeu ne soit pas inutile. Il y aurait tout plein de choses à ajouter à ce jeu. Il manque un peu de vie et d’interactions.
Si j’avais des demandes à faire à Sketchfab, ça serait d’intégrer une solution de fog pour donner une vraie atmosphère à la scène. De pouvoir bloquer certains objets sur lesquels on peut se téléporter (techniquement on peut se téléporter sur mes godrays). Ou encore de déclencher des événements (animation, son, …) selon des paramètres simples. Les autres demandes sont de l’ordre de l’interaction, mais ça viendrait à développer un moteur de jeu à part entière...
Commentaires
Il n'y a actuellement aucun commentaire. Soyez le premier !