Skyrim NextGen : Herika

La nouvelle meuf cool de Skyrim !

Je me rend compte que trés peu de francophones se sont emparés du sujet, alors je vais tenter ici de créer un guide rapide concernant Herika.

Herika est un mod « follower » du jeu Skyrim qui a la possibilité de lier plusieurs IA entre elles afin de créer un personnage unique qui pourra discuter avec le joueur, « voir » son environnement et réagir à l’univers de Skyrim.

Petite astuce pour ceux qui ne jouent pas en FR : Demandez lui de traduire 😉

Fonctionnalités

  • Discutions directes avec Herika
  • Commentaires aléatoires
  • Réactions aux discussions avec les PNJ
  • Réactions aux actions du joueur (combat, crochetage, lecture)
  • Analyse de son environnement
  • Mémoire virtuelle
  • Tenue d’un journal de bord des aventures

Elle pourra par exemple « photographier » une aurore boréale, la commenter, en discuter avec le joueur et résumer tout cela dans son journal de bord.


Fonctionnement général

Un serveur local (Apache) va envoyer des requêtes à un LLM (Large Language Model) type ChatGPT qui analysera les données, et retournera un texte en réponse à la requête.

Ce texte sera ensuite envoyé à un TTS (Text-To-Speech) type ElevenLabs qui lui traduira le texte en langage lu.

Ce fichier sonore sera joué en réponse directe à la requête dans le jeu, que ça soit une conversation ou une remarque aléatoire suivant certains « déclencheurs ».


Installation

L’installation est un peu complexe aux premiers abords, je vais tenter de lister brièvement les étapes avec les technologies que j’utilise pour une meilleure expérience de jeu.

1. Installation du Noyau Linux (WLS 2)

Pour commencer j’ai du installer un noyau Linux (WSL2) sur ma machine pour faire tourner le serveur. Sur les systèmes Windows10 2004+ et W11, vous n’aurez besoin que de taper cette commande dans la console (ou terminal) :

wsl --install

Cette commande va installer le noyau Linux WSL 2 directement sur la machine, il vous faudra redémarrer le PC ensuite.

Vous devrez activer les fonctionnalités « Plateforme de machine virtuelle » et « Sous-système Windows pour Linux » dans le panneau de configuration Windows.


2. Installation du Serveur

Rendez vous sur la page du Mod Herika sur NexusMods pour télécharger la version complète d’un peu plus de 3Go (Herika Full).

Elle contient le serveur avec des fichiers .bat pour l’installation et l’update.

Dézippez le dossier où vous le souhaitez sur votre machine, peut-être dans un dossier spécifique à votre installation Skyrim ?

Enfin double cliquez sur le fichier install.bat pour lancer l’installation, cela ouvrira une fenêtre du terminal et peut prendre un peu de temps.

Surtout ne fermez pas la fenêtre avant la fin de l’installation !

Vous pouvez désormais lancer une première fois le serveur en ouvrant le fichier Run.bat qui ouvrira une fenêtre du terminal. Là suivez simplement les étapes demandées.

Ne pas fermer cette fenêtre, sinon le serveur sera coupé.


3. Installation du Mod

Retournez sur la page de NexusMods : Herika pour télécharger le fichier du mod en tant que tel.

Vous pourrez l’installer simplement avec votre logiciel de gestion de mods comme « Vortex » ou encore « Mod Organizer ».

Ici l’étape importante est d’ouvrir le fichier « SimpleGateWayer.ini » du Mod pour vérifier ou modifier au besoin le raccordement au serveur. (SERVER, PORT, PATH)


4. Mise à jour du serveur.

Le dossier zippé sur le site de NexusMods n’est pas forcément à jour, aussi il vous faudra d’abord couper le serveur et lancer le script « Update.bat » qui se trouve dans le dossier « Tools » du serveur.


Configuration

Maintenant que nous avons installé le server et le mod Herika, nous pouvons rentrer dans l’interface de configuration du server qui doit s’ouvrir tout seul au lancement de celui-ci (en ouvrant le script « Run.bat ») dans une fenêtre de votre navigateur web.

Commencez par réinitialiser le server pour être sûr que toutes les données soient vierges.

1. LLM avec GPT-4

Ouvrez maintenant la page de « configuration Wizard » pour connecter les différentes API.

Je vous met ma configuration perso (GPT-4 avec ElevenLabs) mais d’autres technologies sont prises en compte.

Attention à ne communiquez cette clé à personne !

Définissez vous une limite de consommation de l’API (en dollars) à ne pas dépasser.

Remplissez les champs comme suit :

  • CONNECTOR Model : gpt-4-vision-preview
  • CONNECTOR API KEY : votre clé secrète d’API OpenIA
  • CONNECTOR URL : https://api.openai.com/v1/chat/completions

En ce qui concerne le champ « Max token » c’est à vous de voir, j’ai mis 200 pour avoir des phrases plus complètes et travaillées, mais cela consomme plus d’API !


2. TTS avec ElevenLabs

Ayant d’abord testé le TTS Microsoft Azure, les voix ne me convenaient pas, trop « robotiques »… Je suis donc passé chez ElevenLabs qui proposent des forfaits à 5 dollars par mois pour 30 000 mots prononcés, ce qui suffit amplement pour mon usage.

De plus les voix sont d’une qualité toute autre, plus diversifiées et naturelles et donc beaucoup plus adaptés à une création de personnage.

Connectez vous sur l’interface d’ElevenLabs pour choisir une voix pour votre Herika.

Plusieurs styles sont disponible en fonction de la personnalité que vous souhaitez lui attribuer (guerrière vulgaire, magicienne timide, etc…).

Les démos sont en anglais, mais ne vous inquiètez pas, ElevenLabs est capable de transcrire un texte avec la même voix dans plusieurs langues de manière naturelle.

Vous trouverez votre clé d’API ElevenLabs donc le menu « Profil »

Définissez bien le model_id avec « eleven_multilingual_v2 » pour que votre Herika parle bien en français.


3. Vision avec GPT-4

Cette nouvelle fonctionnalité permet à Herika de « voir » son environnement.

En réalité c’est une capture d’écran du jeu, qui est envoyé à l’API de GPT-4 Vision et qui est analysée avant de retourner une réponse en lien avec sa personnalité et le lieu exploré.

Là encore, rentrez votre clé d’API OpenIA et le modèle « gpt-4-vision-preview ».


Personnalisation

Nous voici enfin à la partie la plus intéressante : la personnalité de votre Herika !

1. Prompt Head

C’est les données qui seront envoyés en premier lieu à l’API de GPT.
Définissez votre nom de personnage pour qu’elle vous reconnaisse et dites lui de jouer un rôle dans l’univers de Skyrim.

GPT connais bien le LORE de Skyrim, elle connaitra les lieux et les personnages du jeu et leurs backgrounds respectifs.

Ensuite, le serveur étant développé en anglais, je lui précise de parler toujours en français, ça fonctionne plutôt bien !


2. Prompt de Personnalité

C’est là que vous allez pouvoir définir la personnalité d’Herika.
A voir selon vos goûts personnels, des mods d’apparances que vous allez ensuite utiliser pour changer son physique, etc…

C’est un équilibre à trouver entre la longueur du prompt (consommation d’API) et qualité et profondeur de sa personnalité.

N’oubliez pas de sauvegarder vos réglages une fois tout paramétré correctement.

Aller plus loin

Vous pouvez aussi personnaliser l’apparence d’Herika en jeu, en créant votre personnage sur-mesure ou en utilisant un mod d’apparence.

Modifier les statistiques, compétences, sors, agressivité, soins, etc… est aussi possible en utilisant des outils comme le logiciel SSEEdit que je ne vais pas présenter ici.

Un menu MCM est disponible pour paramétrer les touches utiles aux intéractions avec Herika : Lui parler directement, lui demander d’écrire son journal de bord, lui demander de regarder et de décrire un lieu.

Enjoy

Maintenant vous pouvez relancer votre serveur Herika et démarrer le jeu Skyrim.
Vous trouverez Herika à Blancherive, première ville du jeu.

Testez testez testez il n’y a pas de secrets, pour créer votre Herika idéale.

A surveiller donc.