C'est juste le début d'une refonte du code. Fin clairement le java ca commence a etre caca. McW10 c'est du C++ c'est bien plus stable et donc mieux.
Je me permets de citer le commentaire d'un dénommé Gobrosse datant d'il y a quelques semaines concernant le débat du soit-disant Java moins optimisé que le C ou je ne sais quoi. Cette personne semble s'y connaître et par ailleurs j'ai aussi pas mal de fois entendu dire, de la part de connaisseurs (amis informaticiens etc...) que cette croyance qu'un Minecraft re-codé entièrement en C++ tournerait bien mieux / serait plus fluide / plus stable etc... est en réalité complètement infondée.
Je le dit partout où je vais et je vais devoir le répéter des années encore je crois, si Minecraft tourne mal sur certaines machines c’est à peu prêt la faute à tout le monde sauf à Java. Je me permet ici d’écrire un long post pour vulgariser tout ça, parce que j’estime que c’est important de comprendre ce qu’il y a derrière tout ça.
L’argument « Minecraft lent = la faute de Java » est totalement bidon et non-informé, et en tant que développeur c’est agaçant au possible de voir les mêmes mis-conceptions se faire répandre encore et toujours. En vérité, la première et principale raison pour laquelle le jeu tourne mal, c’est qu’il a été conçu et réalisé par un développeur assez médiocre (au niveau technique soyons clairs), en suivant des pratiques de programmation mauvaises et obsolètes. Les versions récentes de Java ( > Java 7 ) sont presque au même niveau que un langage natif genre le C++, et si Notch avait fait le jeu dans ce language, les *mêmes* soucis se seraient posés. Je le dis de façon claire : si le jeu rame parfois, c’est parce que Notch pue un peu comme codeur.
Ce qui, en soit n’est pas vraiment choquant et est même très légitime, vu que c’est un développeur seul qui faisait son projet dans son coin et c’est malvenu de ma part de cracher sur autant de travail individuel. Sauf que depuis le jeu a généré des milliards et d’autres développeurs sont sur le coup, et ont lentement entrepris de nettoyer le code, leurs efforts ont été relativement intéressants (le jeu tourne bien mieux qu’avant et le code actuel en est relativement propre) mais probablement pas au niveau d’un jeu à 2 milliards… Notamment la pluie qui est rendue de façon absurde et dont les performances abyssales feraient sourire n’importe quel développeur de moteur 3D.
Un autre point à souligner, c’est que très souvent les joueurs de Minecraft qui se plaignent de « mauvaises » performances jouent en fait avec des machines incapables de faire tourner le moindre jeu moderne ( pas même CS:GO, un jeu basé sur le moteur Source qui ne demande pas grand chose ), dans bien des cas des portables bureautique sans puce vidéo dédiée, où alors une vielle machine familiale sous XP/Vista avec plein de crasses installées. Si un ordinateur fait tourner des jeux, Minecraft tourne dessus, c’est un des jeux contemporains les moins exigeants en terme de configuration minimale.
L’optimisation c’est un mot dont tout le monde se sert mais que pratiquement personne ne comprend. Dans le contexte de Minecraft, il s’agirait d’utiliser des méthodes plus efficaces pour afficher la map et de repenser certaines parties du code, mais en aucun cas de passer sur du C++ où pire, sur un moteur tierce-partie comme Unreal. En vérité à part faire des jolies vidéos démo ça n’aurait aucun intérêt, Unreal n’est pas du tout adapté aux jeux de Voxel et les performances seraient *bien pires*. L’implémentation actuelle de Java de Minecraft est très correcte et on devrait la chérir et la préférer aux autres, car et c’est mon dernier point :
Sans Java, plus de mods. Mojang peut prétendre ce qu’ils veulent, ils n’aiment pas les moddeurs. Leur dédain total pour le projet MCP en persistant à obfusquer le code de manière contre-productive à CHAQUE mise à jour, le bordel qu’ils ont mit chez Bukkit en débauchant leurs développeurs, leur tentatives d’intimider les networks de serveurs au profit de realms… Désolé, mais en tant qu’ex-développeur de launcher moddé leur attitude face au contenu communautaire est toxique, leur API de modding (qui serait trop limitée pour les mods intéressants) est un vaporware et la seule raison pour laquelle on a des mods cool aujourd’hui c’est parce que on peut facilement décompiler du Java et le bricoler, si on en a le courage.
Minecraft Windows 10 Edition, n’est rien d’autre qu’un vulgaire portage DX12 ( Donc exit Windows 7, Mac OS, Linux et votre vie privée ) de la version mobile, sans aucune possibilité sérieuse de modding. Si ce jeu venait à remplacer le client classique en Java, cela signifierait la fin des mods et des serveurs avec plugins ( qui tiennent le jeu en vie et actif, ironie de la chose ). Précisons également que Java est une technologie concurrente à .NET de Microsoft, tout comme DirectX est une technologie concurrente de OpenGL, et -oh- MCW10 tourne à la sauce Microsoft, incroyable. Rien de neuf sous le soleil Microsoft force les gens à utiliser leurs produits depuis 30 ans.
Donc pour résumer : Minecraft est [mal] optimisé, c’est la faute des suédois, les joueurs ont des mauvais PC et Microsoft veut s’en servir pour tuer les mods et vendre son nouveau Windows 10. J’espère avoir éclairé les pensées de quelqu’un, en particulier des rédacteurs, sans volonté de vexer qui que ce soit je souhaitait simplement mettre la lumière sur ce que Microsoft essaie de faire de leur propriété intellectuelle si cher payée.
Il soulève pas mal de points intéressants, comme le fait que le passage en C serait catastrophique pour les créateurs de mods. Je vous laisse vous forger votre propre avis.