Je me demandais depuis fort longtemps comment accéder à l’objet qu’était le Module sous Neverwinter Nights, soit l’objet le plus bas niveau dont dépendent tous les autres objets du jeu. C’est là que je stockais toutes mes variables globales, accessibles directement par un GetModule depuis n’importe quel script.
C’était pour moi une pièce essentielle du puzzle car comment accéder, par exemple, à des timers de sauvegarde automatique d’informations indépendantes des levels ou stocker les données vitales du joueur quand il change de level ?
J’avais le GameMode, mais il semble qu’il change également avec les levels.
J’ai obtenu une réponse à cette question en regardant par hasard une vidéo d’Underscore expliquant la fonction de tous les objets standards d’Unreal Engine.
J’y ai découvert le GameInstance, défini par la dernière ligne des Maps & Modes des Project Settings, qui est exactement ce qu’était le Module de NWN ; je n’y avais jamais fait attention et je n’en avais jamais entendu parler.
Le GameInstance va me permettre, je l’espère, d’émettre depuis n’importe quel objet des Event Dispatchers qui seront reçus et traités où que chaque joueur se trouve. J’imagine que c’est ainsi que je pourrai implémenter un chat, je verrai bien quand j’y serai.
Ayant décidé de consacrer mes vacances à ma famille, je n’ai plus guère le temps que de regarder une vidéo de temps en temps alors que j’escomptais me consacrer à Althea pendant ces 15 jours. Mon fils quittera bientôt la maison familiale, ce n’est pas alors que je pourrai passer du temps avec lui. Question de choix.
P.S. : la réponse à la question du 24 décembre est : “un PC”. Mon fils a reçu toutes les pièces d’un nouveau PC que nous avons monté ensemble le 25. Il passe à un 6 cœurs 12 threads avec 16 Go de RAM ; maintenant sa machine est limitée par sa carte graphique – qui lui donne encore plus de 60 FPS dans tous les jeux et a donc encore de beaux jours devant elle – et non plus par son vieux processeur i5 à deux cœurs et 8Go RAM.