Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en
devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Samedi 20h, EvilSeph, Grum et Tahg, développeurs de bukkit mais aussi et surtout développeurs de Minecarft chez Mojang ont organisé un grande réunion entre eux et la communauté des développeurs de Mod Minecraft.
La liste des invités
De grand nom dans la scène Minecraftienne internationnale étaient invités à cet échange:
- Afforess (Spout)
- Amaranth (Bukkit)
- Cojo (mod Tropicraft)
- DV8FromTheWorld (MC Port Central)
- FlowerChild (Better Than Wolves)
- Jarvix (Canary)
- Kulttuuri (MinecraftEdu)
- Eloraam (RedPower/Forge)
- LexManos (Forge)
- medsouz (SocialMiner)
- Xie (Xie's Mod)
- RoyAwesome (Spout)
- UltraMoogleMan (Kataminey Damacraft/CCTV/etc)
- Searge (projet MCP (support de 98% des mods Minecraft))
- Snowl (Minecraft beta and classic server dev)
- sk89q (WorldEdit/WorldGuard/CraftBook/Bukkit)
Les discutions nous ont permis de comprendre les grandes lignes de l'evolution future de Minecraft, et plus particulièrement de l'API de modding.
Mais d'abord, c'est quoi ca, cette API de modding ?
Il est existe actuellement de très nombreux mod pour minecraft. "mod" signifie "modification" car ils modifient le jeu (au niveau gameplay, mais aussi techniquement parlant). Ces mod permettent d'ajouter des mobs, des blocs, des craftings, etc... Les développeurs de mod peuvent faire à peu près tout ce qu'ils veulent comme modification !
Problème: cela n'est pas supporté par Mojang, et cela a de nombreuses consequences :
- 2 mods avec des fonctionnalités similaires seront totalement incompatible (impossible d'installer les 2 en même temps)
- L'installation des mod est souvent très fastidieuse (neccessite certaines compétances techniques)
- Les mods sont fait pour fonctionner en mode solo uniquement, très rare sont les mod fonctionnant en mode multijoueur, et dans ces cas là un plugin serveur est neccessaire. De plus les serveurs moddés deviennent incompatibles avec le jeu normal (sans le mod).
- Le développement de mod est extremement laborieux pour les developpeurs, en effet faire un mod consiste à modifier le jeu lui même. Hors Mojang crypte ses sources (obfusque pour être précis) pour se protéger des copies, ce qui rend la tâche complexe. C'est la raison d'être du projet MCP qui permet de développer des plugins à partir de ces sources obfusquées.
API signifie "Application Programming Interface", soit en francais une Interface de Programmation d'Application. En d'autres termes c'est une interface qui permet de faire communiquer 2 logiciels ensemble, une sorte de language commun, par exemple faire communiquer Minecraft avec ses mods. L'API de modding permettra de résoudre tous les problèmes des mods en même temps ! Cela remplacera les mods actuels par un système de plugin (techniquement un plugin est une extension du jeu, et non une modification).
- Les plugins seront facile à installer (copier un fichier jar dans le dossier plugin, et c'est tout)
- Plus de problème de conflits entre les mods: plusieurs plugins pourront agir sur les mêmes données
- Développement des plugins grandement facilité : l'API fourni aux développeurs de mod sera publique et documentée (et bien sur non obfusquée)
- Les plugins solo pourront également fonctionner en multijoueur si on les installe sur un serveur !
Cependant ce projet néccessite de réécrire une grande partie de Minecraft, il va prendre des mois (voir des années).
Quels seront les évolutions dans Minecraft ?
Partant de ce constat, les développeurs Mojang ont demandé aux developpeurs de Mod ce qu'ils souhaitaient, et ont presenté leur projet.
Premier changement important, le fonctionnement même du jeu Minecraft: Le mode solo va devenir un mode client-serveur en local. Cette première étape a déjà était franchie et vous pourrez la découvrir avec la sortie de la version 1.3. Au niveau gameplay cela ne changera pas grand chose, en revanche techniquement c'est une révolution. Les développeurs de Minecraft n'auront plus à faire le boulot en double: une fois pour le mode solo, et une fois pour le mode multijoueur, tout sera centralisé !
Ensuite autre changement majeur (technique toujours): la partie cliente perdra énormement de controle sur le jeu et par conséquent la charge du serveur va augmenter. Prenons un exemple concret :
- Aujourd'hui lorsqu'un joueur marche, le joueur appuie sur la touche "avancer", le client (son jeu) calcule son déplacement et envoit la nouvelle position X/Y/Z au serveur, le serveur valide ce changement et le renvoit à tous les autres joueurs du serveur. Cela fonctionne bien, c'est rapide est réactif, mais ca rend egalement le cheat très facile: si le joueur utilise un mod pour voler, le client envoi au serveur une position dans les airs, et le serveur renvoi cette position à tout le monde: le joueur cheat, sans aucun problème.
- Demain le rôle du client sera réduit à un terminal: Le joueur veux avancer, il appuie sur "avancer", son jeu (client) ne calcule plus rien, il envoit directement la commande avancer au serveur qui lui calculera son deplacement, et renvera la nouvelle position à tous les joueurs. Tous les cheat majeurs deviendront impossible ! Le client sera limité à la gestion de la partie graphique (c'est a dire l'affichage du monde, seuls les cheat graphique seront par conséquent encore possible).
--> Problème, cela augmentera énormement la charge de travail pour les serveurs, cela n'engendrera-t-il pas de nombreux lag en plus ? Autre probleme, le jeu sera-t-il encore réactif lors qu'il faudra attendre un aller/retour serveur pour voir son personnage avancer apres avoir appuyé sur la touche "avancer" ? Les développements futurs nous le diront.
Concernant l'installation des plugins, là encore de gros changement. Actuellement la procédure classique consiste a dezippé son minecraft.jar, à remplacer des fichiers *.class, puis à le recompresser. Cela est fastidieux et difficile techniquement pour les non initiés.
Les développeurs de chez Mojang en charge du projet de l'API de modding, qui sont également les développeurs du projet Bukkit (le logiciel de serveur minecraft le plus populaire, possédant un système de plugin très evolué) vont reprendre le système de plugin de Bukkit pour l'adapté à Minecraft.
Et sur bukkit, l'installation d'un plugin est beaucoup plus simple ! Télécharger votre plugin, copier le dans le dossier "plugins"... c'est fini, ca marche :-) Les plugins Minecraft fonctionneront sur ce même principe. Il est probable que Mojang mettent en place un site dédié à l'hébergement de plugins, ce qui pourrait par exemple permettre d'installer des plugins directement depuis le jeu lui même !
Coté serveur cela devrait beaucoup bouger également.
D'abbord la possibilité prochaine pour les serveurs de proposer leur pack de textures à leur joueurs, pack de texture qui s'appliquera directement à la connection au serveur. Cettte annonce avait déjà était faite, mais ce qui est nouveau c'est que ce principe pourrait être identique pour les mods Minecraft ! Ainsi un joueur qui se connecte à un serveur pourrait recevoir du serveur un certain nombre de mod qui seront installés le temps de la partie sur ce serveur. Cela permettrai d'offrir des serveurs multijoueurs aux fonctionnalité toujours plus variés, puisque les mod client seront compatible avec les serveurs multijoueurs ! Par extension il est possible qu'un système d'authentification du jeu lui même permette de s'assurer que les joueurs n'utilisent plus des versions modifiées de Minecraft, cela pour lutter contre le cheat. (Les versions modifiées n'ayant plus de raison d'être, puisque les plugins remplaceront les mods).
Mod API: l'avenir du modding :