NEWS – Vampire : the Masquerade – Bloodlines 2 : Ink et script de mission


Voici qu’arrive le sixième journal des développeurs en français au sujet de Vampire : the Masquerade – Bloodlines 2. Du coup, un copier/coller nous suffit :

c206a0cc51e0b39fd728b406f431dbfb1819b435 | RPG Jeuxvidéo

« Cette semaine, nous recevons Nick Slaven, directeur technique. Il va nous parler des outils importants que nous avons développés pour nos récits, comme les cinématiques, les missions et les dialogues :

Quêtes, princesses et discussions…
The Chinese Room se passionne pour les histoires. Nos jeux reposent sur des fils narratifs complexes et, pour que nos histoires tiennent la route, nous devons proposer aux joueurs des activités autres que simplement avancer.

Je m’appelle Nick et je m’assure que notre équipe est en mesure de raconter ses histoires et d’occuper les joueurs.

Notre studio travaille sur deux gros projets, nous devons donc exploiter notre technologie le plus intelligemment possible. Nous développons des systèmes que nous pouvons utiliser à la fois sur Vampire the Masquerade: Bloodlines 2 et Still Wakes the Deep. Ils doivent répondre aux besoins de chaque équipe et faciliter le travail de tout le monde. Un studio spécialiste de la narration a besoin d’outils spécifiques.

Les récits ne se limitent pas aux dialogues. Par exemple, il faut peut-être traverser le royaume pour récupérer un artefact magique capable d’ouvrir la porte du château de la princesse. Bon, je ne suis pas le plus doué pour raconter les histoires, donc je m’arrêterai là. Toujours est-il qu’il me suffit de quelques mots pour matérialiser une histoire dans votre esprit.

Revenons un peu en arrière. Même si ces choses nous semblent simples, comment le jeu sait-il que vous avez l’artefact magique, comment l’utilise-t-il pour ouvrir la porte et vous permettre d’avancer dans votre quête ? Comment y parvient-on ?

Notre solution a été de développer un moyen de décrire l’histoire sous la forme d’une série d’événements que le moteur du jeu peut interpréter : le script de mission, dans notre jargon.

Le script de mission est un moyen de représenter une série d’événements que le joueur devra peut-être résoudre afin de progresser dans l’histoire. Comme par exemple trouver une clé pour ouvrir une porte. Nous y parvenons en représentant l’état de l’histoire du jeu et l’événement qui la fera avancer. Dans ce cas précis, ouvrir la porte. Nous cherchons la clé ; alors seulement pourrons-nous ouvrir la porte et affronter ce qui se trouve derrière.

Voici une capture de cette représentation sur notre système de script de mission.

1a1fd2c35e51e478c5d962fb6c8a1ffc1725dbfd | RPG Jeuxvidéo

Une histoire classique compterait des centaines d’états sur plusieurs arcs narratifs. Nous n’avons là qu’un aperçu des missions de l’un de nos jeux en cours.

c1bee1a89b5b07048f4c8352f6ce01daf24bfb69 | RPG Jeuxvidéo

Il se passe beaucoup de choses, mais cet outil de structuration simple permet à notre équipe de conception de rapidement itérer les missions et de les affiner au plus juste.

OK pour le côté action, mais qu’en est-il des dialogues ?
Un scénario à embranchements est un exercice complexe. À chaque point de décision, l’histoire peut emprunter de nombreux chemins. Au lieu de créer notre propre outil technologique, nous avons décidé d’utiliser Ink, un langage de script narratif en open source, créé par Inkle Studios. Il a fallu le porter de C# en C++ pour qu’il fonctionne sur Unreal, mais ça restait toujours plus rapide que d’écrire notre propre système.

5b557f95119615d8332d33e4a8fedd0e30e76404 | RPG Jeuxvidéo

Exemple visuel d’Ink. Ne fait pas partie de Bloodlines 2.

Ink permet à notre équipe narrative de créer les dialogues qui accompagnent le script de mission, afin de raconter l’histoire du jeu. Le tout apparaît sous forme de script narratif très similaire aux scripts du cinéma ou de la TV.

Arone, notre responsable principal de la conception narrative, aimerait ajouter ceci sur la création avec Ink :

Arone Le Bray : « C’est intéressant… Il a pas mal de choses qui me plaisent, surtout quand on voit la facilité qu’on a eu pour l’intégrer. On peut par exemple utiliser le langage de script natif pour créer des scènes non linéaires, et profiter de sa réactivité sans avoir à réécrire plusieurs fois la même séquence.

Pouvoir insérer un seul fichier de dialogue dans un bloc qui se déclenche depuis le jeu, sans trop se casser la tête sur une montagne de scripts, c’est pas mal non plus.
En tout cas, oui, il n’y a pas de grosse barrière à passer pour les débutants, le partage en équipe se fait très bien. C’est à la base un traitement de texte, mais le fait qu’Ink nous permette de le transformer d’une forme que tout le monde comprend déjà à un outil de développement fonctionnel et presque en direct, ça, c’est vraiment ÉNORME. »

Comment en faisons-nous de l’animation ou de l’audio ?
Notre solution a été d’introduire la « feuille d’exposition ». Le concept vient du secteur de l’animation. Pour chaque ligne de dialogue créée par les auteurs, il est possible de spécifier un événement audio, ainsi que des animations du visage et du corps (et tout un tas d’autres trucs). Cette feuille d’exposition ressemble à un fichier Excel, mais avec des cloches et des sifflets qui nous permettent de consulter l’audio et les animations pendant la création des scènes de dialogue.

cb882811c45efaff011610eaae719663b70e1d8a | RPG Jeuxvidéo

Quand le joueur choisit un texte en jeu, le système le transmet au processus d’exécution Ink et nous obtenons une réponse textuelle que nous croisons sur la feuille d’exposition afin de lancer l’audio et l’animation correspondants.

La combinaison du script de mission et d’Ink nous assure un système souple et puissant au sein duquel nous pouvons raconter nos histoires. Nous y avons recours dans tous les jeux que nous créons.

Ink nous a tellement aidés qu’il nous a semblé normal d’en faire profiter les autres. Nous avons donc créé Inkpot, une version allégée et instinctive de notre port C++ pour le processus d’exécution Ink. Il est disponible gratuitement sur notre site GitHub. Vous pouvez télécharger l’outil et l’utiliser dans Unreal. Si vous le faites, prévenez-nous ! Nous aimerions beaucoup voir ce que vous en ferez. »

L'archiviste
L'archiviste
Administrateur de RPG jeux vidéo. Très vieux Joueur depuis le siècle dernier. Testeur et rédacteur amateur depuis 1999 de RPG, même les pires. Relecteur bénévole de traductions de nombreux jeux vidéos RPG. Ancien membre de RPGFrance et de Dagon's Lair.
S’abonner
Notifier de
guest
0 Commentaires
Inline Feedbacks
View all comments

Fil d'actualité

0
Envie de laisser un commentaire ? x