Hytale : le CTO du jeu, Slikey, répond aux questions d'un moddeur de la communauté !

Depuis le rachat d'Hytale par Simon, Hypixel Studios Canada nous a habitués à un retour de la communication en grande pompe. Aujourd'hui, c'est Slikey qui répond aux questions de Mobby, moddeur de la communauté HFR.

Hytale : le CTO du jeu, Slikey, répond aux questions d'un moddeur de la communauté !

Les développeurs d'Hytale restent sur leur lancée : communiquer le plus possible. Un moddeur de la communauté Hytale FR, Mobby, a pu interviewer Slikey, voici ses principales réponses.

Qui est Slikey chez Hytale ?

Petit propos liminaire pour présenter l'interviewé de haute volée. Slikey occupe des responsabilités importantes chez Hypixel Studios Canada: il n'est ni plus ni moins qu'un des cofondateurs du nouveau studio ainsi que le CTO, Chief Technology/Technical Officer. Pour faire simple, c'est lui qui dirige tout l'aspect technologique de l'entreprise, notamment la programmation. Il supervise et oriente les différentes équipes plus spécialisées (dans la worldgen, les outils, le site internet) et les synergise pour que tout ce petit monde avance dans la même direction. Slikey a donc une vue d'ensemble très précise des aspects technologiques d'Hytale.

Si cet article concerne Slikey, je vous avais déjà proposé un tour d'horizon de l'équipe de Simon que vous pouvez retrouver ici. N'hésitez pas à aller y jeter un œil pour mieux comprendre la composition de l'équipe.

Qui travaille sur Hytale aujourd’hui ? Présentation de l’équipe de Simon
Si Simon Collins-Laflamme est connu comme le principal visage d’Hytale et l’homme qui a sauvé le projet, il est loin d’être seul. Technique, art, animation, petit tour d’horizons de l’équipe derrière notre jeu de coeur.

L'interview de Slikey

L'interview que vous allez lire a été réalisée par Mobby, un moddeur de notre communauté Hytale FR. Si vous souhaitez en savoir plus, Mobby résume tout dans sa vidéo.


  • Question : Y a-t-il des plans pour implémenter des polices personnalisées ou un système de texte basé sur des composants, similaire à PaperMC, dans le jeu ?
Réponse : Vous pouvez déjà styliser le texte des messages côté serveur avec la classe Message. Le support des polices personnalisées dans les mods sera étudié plus tard, lors de l’intégration de Noesis.

  • Question : Actuellement, les blocs sont limités à un seul état à la fois. Y a-t-il des plans pour supporter des états plus complexes comme des modèles multiparties ou un rendu basé sur des composants ?
Réponse : Nous avons prévu de travailler sur le support de modèles multiparties plus complexes et d’autres technologies pour des cas d’usage avancés. Côté serveur, nous supportons déjà les BlockComponents, qui permettent de stocker plusieurs composants sur un même bloc. Cela remplace les anciens BlockStates qui ne permettaient qu’une seule chose par bloc.

  • Question : Pouvez-vous ajouter une coloration syntaxique JSON basique dans l’Asset Editor ?
Réponse : Nous prévoyons d’ajouter cela lorsque l’Asset Editor passera à Noesis dans le futur.
  • Contexte : Slikey a dit que l'Asset Editor serait mis à jour dans les deux prochains mois pour y intégrer Noesis GUI.

  • Question : Y aura-t-il un support pour créer des événements ou interactions personnalisés dans l’Asset Editor pouvant lire et écrire directement dans les données des composants ?
Réponse : Nous prévoyons d’utiliser le visual scripting à venir pour améliorer la gestion des événements et interactions. Pour l’instant, cela nécessite des modifications côté serveur.
💡
Explication : Le serveur utilise ce qu'on appelle des events. Dès qu'une action spéciale se produit (par exemple un joueur se connecte), alors le serveur déclenche cet event qui va exécuter le code de toutes les fonctions qui se sont enregistrées sous cet event. Par exemple, si je veux faire un mod qui envoie un message de bienvenue au joueur qui se connecte, alors je devrais faire une fonction qui s'enregistre à l'event PlayerReadyEvent, qui est déclenché automatiquement par le serveur quand un joueur a fini de charger, et qui enverra un message au joueur qui est la cause de cet event.
Les mods peuvent également créer leurs propres events, par exemple un mod de lune de sang pourrait très bien créer un event personnalisé qui s'exécute dès que la lune de sang se déclenche, et cet event pourrait être utilisé par d'autres mods.
Cependant, l'utilisation d'events et la création de nouveaux sont uniquement faisables via du code, et non pas via le node ou l'asset editor. La question était donc de savoir si cela allait arriver ou pas. Hytale a donc répondu qu'ils nous permettront de modifier le tout via les nodes (car tout le principe de l'asset editor est de ne pas coder), mais personnellement je reste assez sceptique sur ce côté-là. Je pense que cela limitera énormément les choses par rapport au code pur et que pour vraiment avoir un équivalent, cela demandera énormément de travail de la part de Hypixel Studios, mais au moins cela rendra un peu plus accessible le modding à tous.

  • Question : L’équipe peut-elle clarifier la position des ToS et de l’EULA concernant l’inspection ou le décompilage du serveur pour l’exploration liée au modding, surtout avant la sortie du SDK officiel ?
Réponse : Pour des raisons légales, notre EULA stipule : « Vous ne pouvez pas faire d’ingénierie inverse, décompiler, désassembler ou tenter d’inspecter le code du logiciel. »
💡
Contexte : Malgré l'interdiction formelle dans l'EULA, décompiler le serveur est actuellement obligatoire pour faire du modding un minimum complexe, étant donné que le code source du serveur n'est pas encore disponible. De plus, Hytale encourage en réalité implicitement les moddeurs à décompiler le serveur en attendant. On peut le voir car aucun morceau de code n'est obfusqué et tout est largement lisible. On peut même supposer qu'ils ont laissé ce qu'on appelle des "symboles de debug" dans le code pour que le nom des fonctions et des variables soient totalement lisibles. Malgré cela, c'est uniquement pour des raisons légales que décompiler le serveur est interdit par l'EULA. Pour rappel, le code source du serveur sera publié dans environ deux mois (plus de détails dans la vidéo en embed).
Obfuscation: Rendre le code difficilement compréhensible par un humain (en ne nommant pas les fonctions par leur utilité par exemple) tout en le laissant fonctionnel pour la machine

  • Question : Y a-t-il des plans pour des raccourcis clavier personnalisés ?
Réponse : C’est un objectif prévu dans notre axe de travail sur l’accessibilité.
💡
Contexte : Il y a deux semaines, un témoignage d'un joueur avec de gros problèmes pour utiliser sa main droite disait que d'habitude il utilisait un "flight stick" pour jouer aux autres jeux, mais que Hytale est trop restrictif sur le rebinding de touches et donc qu'il ne pouvait pas utiliser son stick et que c'était très dur pour lui de jouer.

  • Question : Dans le modding en jeu et l’Asset Editor, y aura-t-il un moyen simple de réutiliser ou référencer des parties d’assets existants de Hytale pour créer une créature unique ?
Réponse : Pour le moment, il est possible de créer manuellement des variantes de NPC en JSON dans votre asset pack pour réutiliser des templates existants. Nous espérons améliorer l’Asset Editor à l’avenir pour faciliter le travail avec les NPC.

  • Question : Sera-t-il possible de modifier les mécaniques principales du jeu, comme le comportement des armes, les capacités ou mouvements, et la fonctionnalité des armures ?
Réponse : Beaucoup de mécaniques principales peuvent déjà être remplacées. Cependant, il existe encore des limitations et du code en dur. Nous espérons progressivement passer à un système basé sur les données afin que tout cela soit modifiable.

  • Question : Aura-t-on du modding côté client à un moment donné ?
Réponse : Nous allons étudier l’exposition de davantage de comportements côté client, en lien avec le visual scripting prévu à l’avenir.
💡
Contexte : À l'heure actuelle, les mods sont uniquement côté serveur. Le client de Hytale est en C# obfusqué pour empêcher un maximum les gens de décompiler le client pour le modifier, le tout pour éviter un maximum le cheat (même s'il y a déjà de très gros cheats).
Cependant, le fait de limiter les mods au côté serveur limite beaucoup les possibilités et la facilité de création des mods, c'est pour cela que c'est une feature énormément réclamée par les moddeurs.
Pour donner un exemple simpliste, imaginons que nous voulons afficher une lune de couleur rouge. Le faire côté client revient à regarder la lune au travers d'un filtre rouge installé devant votre œil: vous la verrez personnellement rouge, mais votre voisin la verra blanche. La même opération côté serveur revient à intercepter la lune, la repeindre en rouge et à envoyer les données au client, ce qui est plus difficile, mais assure que tout le monde voit la même chose.

Voici les questions principales qui ont pu être posées ! Un grand merci à Slikey de s'être prêté à l'exercice, et merci également à Mobby d'avoir organisé et mené cette interview.

Quant à vous cher public, si vous désirez plus de contenus comme celui-ci, n'hésitez pas à nous rejoindre sur notre Discord ! Nous vous informons également sur Youtube et X !