[DISCUSSION] Les Mises à Jour de Minecraft.

Ultrastar

Architecte en herbe
12 Avril 2011
36
5
68
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.
 

Excentrique pas Fou

Jeune vieux con, excentrique mais pas fou.
1 Janvier 2015
2 775
259
247
Le passage au C serait effectivement tuer les mods. Mais le jeu reste tres mal optimiser, les mobs et leur IA sont assez... Fin c'est mal codés quoi.
Ma config est loin d'etre génial. Vraiment. Mais je peut faire tourner des gros jeu de gestion/strategie ou de RTS sans trop de prblemes... Je pense que ma config est assez bonne pour Minecraft. Les gens qui jour sur XP ou Vista... Hummm... Sont pas nombreux. Puis si ils veulent jouer ils upgrades leurs PC (Et tantpis pour les Macs ils peuvent pas faire ça)
 

123456789qwerty

Architecte en herbe
13 Juillet 2015
622
16
79
23
Le passage au C serait effectivement tuer les mods. Mais le jeu reste tres mal optimiser, les mobs et leur IA sont assez... Fin c'est mal codés quoi.
Ma config est loin d'etre génial. Vraiment. Mais je peut faire tourner des gros jeu de gestion/strategie ou de RTS sans trop de prblemes... Je pense que ma config est assez bonne pour Minecraft. Les gens qui jour sur XP ou Vista... Hummm... Sont pas nombreux. Puis si ils veulent jouer ils upgrades leurs PC (Et tantpis pour les Macs ils peuvent pas faire ça)
Je suis d'accord le Çode pourrait être beaucoup plus optimisé. Par contre minecraft tourne sans problème sur un pentium 4. Java n'est pas du tout le problème, c'est le Çode de minecraft le problème, les méthode utilisée pour calculer les IÀ des mobs et autres pourrait être réduite et plus efficaces. Même si je Çode en C++ aussi, je prefere le Java car c'est facile de le décompiler, contrairement au C++. Si MCw10 lague moin c'est juste que ils font tourner un programme prévu pour arm avec 1-2go de RAM sur une config bien mieux...
Par contre comme mcpe, les mods sont presque impossible ( j'ai essayé pendant des années de modder mon mcpe sans jailbreak, impossible... ). Sur mcpe et MCW10 mojang tarde à ajouter les textures pack qui pourrait permettre des semblant des mods... Et puis le Java pour les versions cracké c'est plus facile, et en plus universel sur toutes les architectures.
 

lipki

Architecte en herbe
27 Mars 2011
933
30
146
Si on prend Minetest comme exemple, il est codé en C, les mods sont en lua.

De base il rame moins (quoique c'est pas flagrant), monde réellement infinie dans 3 directions
Mais dés que l'on ajoute les mobs Minetest ram encore plus.

Il ni a pas de miracle, java ou autre ce qui importe c'est l'optimisation .. et la stabilité.
Minecraft évolue beaucoup trop souvent pour être optimisé.

---

edit : oui bon d'accord, pas vraiment infinie .......
 
Dernière édition:

Paraplégique

Retardo Milos
Ancien
13 Avril 2015
2 625
1 173
298
AOP
Du futur... Des mises a jour tout les deux mois... C'est chaud...
c'est pas une mauvaise chose, 'nfin de mon point de vue.
Comme ça, on pourra juger graduellement le contenu des mises à jours.
Mais bon vue que microsoft c'est les pires fdp du monde, moi j'en retiens qu'une chose.
17123251389_9f5db13fec_o_d.jpg
 

Excentrique pas Fou

Jeune vieux con, excentrique mais pas fou.
1 Janvier 2015
2 775
259
247
c'est pas une mauvaise chose, 'nfin de mon point de vue.
Comme ça, on pourra juger graduellement le contenu des mises à jours.
Mais bon vue que microsoft c'est les pires fdp du monde, moi j'en retiens qu'une chose.
NAn mais pour les serveurs et mods, ca prends du temps de se mettre a jour a chaque fois... En deux mois ya pas le temps...