Bonjour,
Simplement pour une chose c'est l'API intégré dans minecraft bedrock, ce n'est encore que le début de celle-ci mais in fine va fournir des outils bien plus performants au créateurs de contenu que la version Java.
La performance de la version Bedrock vient justement du fait qu'elle n'est pas modable.
Supposons
f(
x) et
g(
x) deux fonctions. De manière générale, l'on ne peut pas dire quoi que ce soit sur
f(
g(
x)).
En revanche, si
f(
x) =
x + 1 et
g(
x) =
x - 1, on peut dire que
f(
g(
x)) =
x.
Le compilateur C++ remplacera tous les
f(
g(
x)) par
x dans le jeu final, vu que c'est équivalent et que ça économise deux opérations.
En revanche, c'est désormais impossible pour un mod de modifier les fonctions
f(
x) et
g(
x) vu que le compilateur les a supprimés du jeu final.
C'est là l'avantage de Java, le code est compilé en un code intermédiaire (le bytecode contenu dans les
.jar
) et les optimisations sont faites pendant l'exécution, donc c'est possible pour des mods de modifier des fonctions avant les quelques étapes d'optimisation.
Le C++ est optimisé beaucoup plus agressivement à la compilation, et charger des mods demandera de réduire ces optimisations, ce qui fera chuter les performances. La solution serait de mettre le code OpenSource et de compiler le jeu sur l'ordinateur du joueur, ou de demander que les mods soient fait dans une autre langage (les fameux datapacks) que le C++, mais du coup impossible de faire ce que l'API ne propose pas, et les performances seront moins bonnes.
Donc le défi pour Microsoft est de faire quelque chose d'au moins équivalent à Forge qui est déjà l'équivalent d'une dizaine d'années de réflexion, et d'arriver à faire migrer les joueurs Java vers l'édition Bedrock avec micro-transactions et des mods qui seront sans doute payants.
Cordialement,
ShE3py