Vous avez souscrit avec succès à HytaleFR
Génial! Ensuite, complétez la commande pour un accès complet à HytaleFR
Bon retour! Vous vous êtes connecté avec succès.
Succès! Votre compte est complètement activé, vous avez maintenant accès à tout le contenu.
Bravo! Vos informations de facturation ont été mises à jour.
La mise à jour des informations de facturation a échoué.

Hytale ou Minecraft #2 | Des technologies incomparables

Java, C#, C++... quelles sont les technologies utilisées dans Minecraft et Hytale ? Qui a fait le meilleur choix possible pour sa communauté ?

Noxyss
Noxyss

Si vous arrivez ici sans avoir lu l’article précédent, je vous invite à sa lecture. Cet article fait partie d’une série comparante Hytale et Minecraft. En quoi Hytale est-il un jeu similaire et différent à Minecraft ? Sera-t-il mieux ? Sera-t-il moins bien ? Est-il juste différent et incomparable ? Telles sont les questions auxquelles nous tentons de donner des réponses.

Nous parlions la dernière fois de deux histoires différentes. Aujourd’hui, nous continuerons le sujet sur les technologies. Rassurez-vous, nul besoin de connaissances en informatique pour comprendre ce qui suit. Le choix des technologies réside dans plusieurs raisonnements sur le jeu en lui-même. Plus que cela, Minecraft ou Hytale a, aura la possibilité d’être modifié au gré des souhaits de leur communauté. Dans cet article nous analyserons les choix technologiques ainsi que les possibilités de l’un et les promesses de l’autre.

Retrouvez notre vidéo complémentaire sur le sujet !

Minecraft, une technologie au reflet de Notch

La technologie


Nous l’avons vu lors du premier article de cette série : Minecraft n’a jamais eu pour ambition de devenir ce qu’il est aujourd’hui. Markus, Notch, Persson développait à l’origine un petit jeu qui devint un véritable phénomène culturel. Cette fondation, nous pouvons le percevoir dans la technologie choisie pour son œuvre.

Reprenons par le début, qu’est-ce qu’un jeu vidéo ? Un programme informatique ? Simplement des 0 et des 1. Tout ce qui se trouve dans votre ordinateur n’est fait que de cela, votre ordinateur ne comprend que cela. Nous, humains, trouvons cependant cela bien trop compliqué pour créer. Nous avons ainsi inventé des langages informatiques qui peuvent être traduits en 0 et en 1. Vos calculettes en utilisent un par exemple. Il en existe une quantité considérable, nous pouvons les classer simplement en deux catégories : les langages de bas niveau et les langages de haut niveau. Les langages de bas niveau se rapprochent le plus possible de la langue de l’ordinateur, ils sont donc plus compliqués mais permettent un immense contrôle. Les langages de haut niveau sont quant à eux, moins compliqués mais offrent un contrôle moins étendu sur les machines.

Minecraft utilise un langage appelé le Java, un langage de haut niveau. Pourquoi ? Le Java est un langage relativement facile, créer quelque chose est rapide. De plus, si vous souhaitez que votre création soit disponible sur Windows, Mac ou Linux, vous n’avez besoin que d’une seule version. D’autres langages vous demanderont de créer une version spécifique à chaque plateforme avec chacune leurs spécificités. Le point négatif pour Minecraft est la performance, elle n’est pas particulièrement bonne. Ce jeu n’est qu’un petit jeu, les performances qu’offrent le Java suffisent. Ces pensées s’accompagnent des compétences de Notch sur ce langage, vous avez alors le pourquoi du comment Minecraft utilise cette technologie.

logo java

Le temps passa, la communauté évolua grandissant et devenant bien plus immense que tous les rêves de Mojang. Pourquoi n’avoir pas changé ? Savez-vous ce que cela entraine ? La première chose est qu’il vous faut refaire l’entièreté du jeu, recommencer de zéro. Ajoutons à cela qu’il vous faut les compétences. Comment les obtenir ? Une formation ? Changer l’équipe entière ? Et dans le cas de Minecraft, il vous faut trois versions différentes : Windows, Mac et Linux. Et la communauté ? Y avez-vous pensé ? Elle a créé sans arrêt, pourquoi perdrait-elle son travail ? Toutes ces questions font qu’un changement de technologie à l’échelle de Minecraft apparaissait vite comme un véritable calvaire. Certains diront même : impossible.

Les modifications du jeu

Minecraft offre d’immenses possibilités de création. On retrouve au premier plan la construction, cependant un pan avec des opportunités tout aussi infinies est présent : la modification du jeu. Minecraft possède plusieurs voies possibles que ça soit au sein même du jeu ou à l’extérieur par de l’altération de son code.

Le jeu a développé une fonctionnalité en 2010 nommée la redstone. Nous pouvons la comparer à l’électronique. Au gré des différents blocs disponibles, il vous est possible de créer différents systèmes passant par des portes automatiques à un véritable ordinateur. En 2012, les commands blocs arrivent et proposèrent d’exécuter des commandes au sein du jeu. Cela vous permet de scripter le jeu qui en d’autres mots est l’automatisation de tâches par l’informatique. Ainsi l’utilisation de la redstone et des commands blocs reprèsentent un langage informatique dédié à Minecraft. Il permet en outre la création de mini-jeux, cartes d’aventure ou autres créations. Minecraft devient une plateforme de création.

redstone minecraft

A côté de cela, vous avez toujours la possibilité de changer le jeu par l’extérieur. Mojang offre l’opportunité au travers du Java de changer, d’ajouter, de supprimer du contenu à Minecraft. Il vous faut comprendre cependant que le jeu est divisé en deux parties : le client et le serveur. Le client est le programme qui vous permet de jouer sur votre ordinateur. Le serveur est, quant à lui, un programme vous permettant de jouer avec vos amis ou des inconnus. Modifier l’un ou l’autre n’a pas les mêmes conséquences. Vous décidez de changer le client en ajoutant un nouvel objet par exemple. Si vous tentez de jouer avec d’autres personnes, s’ils ne possèdent pas le même client que vous, ils leur aient impossible d’obtenir cet objet. Ainsi vous ne pouvez pas changer les mêmes choses sur un serveur que sur un client. Plus simplement, Minecraft vous permet de changer les règles du jeu sur le serveur tandis qu’au travers le client, vous êtes d’une liberté infinie tant de changer les règles que d’en ajouter ou d’en supprimer.

Hytale, une technologie pensée pour la création

La technologie

Hytale bien qu’un mystère plane sur bien des choses, ses technologies ont été dévoilé. Effectivement contrairement à Minecraft, Hypixel Studios ont fait le choix d’utiliser deux technologies bien différentes. Le client et le serveur possèderont deux langages différents. Ce choix n’est pas dû au hasard et ressort d’une décision réfléchie.

Le client se verra être en C#, ce nom ne vous dit peut-être rien. Si c’est le cas, sachez simplement que comme le Java, ce langage est un langage de haut niveau. Sa différence réside dans ses performances offrant un résultat supérieur que le Java. Aujourd’hui ce langage avec le C++, un langage de bas niveau, sont les deux grands favoris pour le développement de jeux vidéo. Dans leur article concernant la technologie, Hytale Studios annoncent le choix du C# sur le Java pour ces questions de performances.

Concernant le serveur, celui-ci est quant à lui sera en Java. Expliqué lors du précédent article, que je vous invite à lire, Hypixel Studios est une entreprise qui s’est formée au travers de Minecraft. Ils sont connus au travers de leur serveur, Hypixel Network qui ont été modifié de tous les côtés afin d’offrir ce qu’il y a de mieux aux joueurs. Ainsi l’équipe possède logiquement un grand pan de ses compétences sur le langage qu’est le Java. Ce choix n’a donc rien n’anodin et vient à utiliser les ressources disponibles du mieux possible. Légitimement nous pouvons nous poser des questions sur la performance. Le serveur est quelque chose de bien différent du client et ce dernier peut arriver à proposer de très bonnes performances. Sans rentrer dans la technique, nous pouvons prendre l’exemple du trading à haute fréquence. Le trading à haute fréquence, correspond à un programme qui va prendre la décision d’acheter ou vendre des actions à la bourse. La performance est vitale, en effet, un millième de seconde peut faire perdre des millions, à l’extrême des milliards d’euros. Le Java est l’une des technologies privilégiées pour ce domaine. Il est donc tout à fait faisable d’obtenir des performances élevées.

Mais cela de côté, posons-nous une question : Quelle est la cible d’Hytale ? Qui seront les créateurs ? Oui, la communauté de Minecraft est très clairement la cible principale. Aujourd’hui les développeurs travaillant sur Minecraft le font en Java, en gardant cette même technologie Hytale s’assure un socle identique. Apprendre un nouveau langage n’est pas forcément compliqué, cela dépendra de votre formation de départ, cependant cela est souvent long et fastidieux. Sachez-le, la grande majorité des développeurs sont des êtres paresseux. Ainsi le choix du Java vient permettre de favoriser l’acquisition de la communauté de Minecraft.

Les modifications du jeu

Parlons désormais des modifications du jeu. Nous ne possédons pas de nombreuses informations sur le sujet. Il y a cependant suffisamment pour comprendre et voir le potentiel que proposera Hytale lors de sa sortie.

Son principe fondamental est identique à Minecraft. Vous avez deux possibilités, la modification en jeu sinon externe. Nous ne pourrons pas discuter de la modification en jeu répondant au doux nom de « live scripting » puisque nous n’avons pas encore d’informations sur le sujet. Le studio nous annonce qu’un article dédié au sujet sortira prochainement.

La modification par le code est fondamentalement différente de celle de Minecraft. On y voit ici une décision réfléchie pour le partage, à l’inverse de Minecraft dont la technologie s’est adaptée par la suite pour cette fonctionnalité. Ainsi Hytale ne vous propose que la possibilité de modifier le serveur. Cette modification offrira cependant la possibilité de modifier absolument toutes les facettes du jeu d’après les annonces officielles. Vous me demanderez pourquoi ne peut-on toucher qu’uniquement au serveur ? Hypixel Studios annoncent deux arguments principaux : la sécurité et la simplicité. La sécurité puisque cela offre un unique client officiel, un socle fondamental que tout le monde utilisera et limitera par exemple la triche. La simplicité est quant à elle sur deux pans : utilisateur et développeur. L’utilisateur qui n’a à se préoccuper de rien simplement de sélectionner un serveur et d’attendre l’accès. Les développeurs quant à eux auront un réel moyen simple de partager. Comment tout cela fonctionne ? Le principe est extrêmement simple. Lorsqu’un utilisateur se connectera à un serveur, ce dernier va télécharger automatiquement tous les contenus additionnels qui lui permettrons de jouer. A titre de comparaison, pour réaliser la même chose sur Minecraft, vous avez des modifications à réaliser sur le serveur ainsi que sur le client.

Vous pouvez aussi retrouver un article dédié : Hytale : Lumière sur les serveurs de jeu, nouveau blog post

Hytale, Minecraft, finalement on en dit quoi technologiquement parlant ?

Minecraft, Hytale on pourrait en parler sans compter. Chacun de ces jeux possède tant des points fondamentaux identiques que différents. Leur histoire a cependant façonné leurs décisions, nul ne peut dire s’ils sont bons ou mauvais. Mais oui, nous pouvons tenir le fait que Minecraft n’a pas fait le bon choix en le regardant aujourd’hui. Qui pouvait imaginer le présent qui était l’avenir d’hier ? Lorsque Markus, Notch, Persson a débuté Minecraft sur son temps libre, à ce moment c’était la bonne décision.

Hytale ne possède pas le même passé, le même avenir. Il a été façonné par une équipe travaillant sur Minecraft auprès de millions de joueurs.  Cette même équipe travaillait à modifier le jeu de Notch sur tous les aspects rencontrant nombres difficultés. Hytale représente une réponse à l’ensemble de ces problèmes autant sur le plan des développeurs que des joueurs. Ainsi à l’heure actuelle, Hytale semble faire les bons choix technologiques. Mais demain ? Quelles seront les problématiques ? Est-ce que les choix faits auront-ils été les bons ?

NewsVideoDeveloppeur

Noxyss

Head Staff | Chat fou et passionné pour tout ce qui se rapporte à la création


HytaleFR

Site de la communauté française de Hytale. Retrouvez les dernières actualités du jeu Hytale par Hypixel Studios, des News, des Analyses et des Guides