Alors que 2017 vient de commencer, il convient, après avoir fait l’inventaire de l’année terminée, de se projeter dans cette nouvelle année pour voir ce qu’elle nous réserve. Pour Mojang en tout cas, l’année 2017 sera chargée. Confronté à de nombreux dossiers, le studio suédois devra statuer et faire connaître sa position sur un certain nombre de points.
L’alignement des versions console et mobile sur la version Java
C’est sans doute l’une des tendances les plus marquantes pour qui s’intéresse aux mises à jours sur consoles et mobile. Celles-ci ont été publiées à rythme particulièrement soutenu et au fur et à mesure, ces versions rattrapent petit à petit la version Java. Entre l’End, les Shulkers et les nouveaux Villageois, les contenus ajoutés à Minecraft PC sont intégrés de plus en plus rapidement dans les autres versions, à tel point qu’on peut se demander si Mojang ne pourrait pas terminer d’aligner toutes les plateformes en 2017.
Toutefois, la version de Minecraft pour ordinateur et celles sur consoles et mobile diffèrent fondamentalement en ceci que la première est codée en Java et les secondes en C++. Aussi, intégrer des ajouts codés en Java dans un environnement C++ demande un certain temps d’adaptation. Le principal obstacle à cet alignement reste l’intégration des command blocks, incroyablement difficile dans un environnement C++ par la complexité acquise par ces blocs au cours des différentes mises à jour.
Aussi, si on peut espérer un rapprochement toujours plus grand entre ces deux versions, la question des command blocks demeure. Par ailleurs, maintenant que les similitudes l’emportent sur les différences, Minecraft Java et Minecraft console pourraient désormais être développés en parallèle. On pourrait ainsi imaginer une 1.12 sortant simultanément sur ordinateur et sur consoles. Reste à savoir si cela ralentirait ou non la vitesse de sortie des mises à jour.
Le jeu en cross-plateforme
Cet alignement toujours plus poussé observé ces derniers mois fait écho à une promesse de Microsoft, formulée lors d’une conférence, annonçant qu’il serait bientôt possible de jouer sur un même serveur depuis des plateformes différentes. Dans ces conditions, nous devrions en entendre de nouveau parler dans les mois à venir.
Et, si la compatibilité entre Minecraft Playstation et Minecraft Xbox ne semble pas compliquée, celle entre une console et un appareil mobile l’est déjà plus. Quant à la version Java, elle semble actuellement peu adaptée pour se mêler à toutes ces versions de Minecraft C++. Aussi, quand le cross-plateforme sera disponible, englobera-t-il Minecraft Java ? Dans tous les cas, cela implique normalement un alignement parfait entre les versions concernées.
Toutefois, on peut imaginer que le cross-plateforme serait sur une plateforme externe aux joueurs comme Realms, ce qui pourrait faciliter les choses. En effet, une telle plateforme pourrait arrondir les angles et faciliter le cross-plateforme sans que les joueurs aient à héberger les serveurs. Concernant la possibilité de la version PC d’en faire partie, elle n’est pas farfelue et plusieurs pistes sont envisageables pour la concrétiser : créer une version de Minecraft « rétrogradée » au contenu amputé, mais aligné sur les autres versions, ou bien basculer en C++.
L’avenir de la version Java
Évoquer la possibilité susmentionnée, c’est assurément s’embarquer dans un des débats les plus violents de la communauté Minecraft, opposant partisans du C++ et adeptes du Java. Les deux camps ont tous deux de bons arguments, qu’il serait bon de passer en revue.
Tout d’abord, comme on l’a vu, passer en C++ faciliterait énormément le jeu cross-plateforme, mais pourrait également améliorer la stabilité globale du jeu. Nombreux sont les bugs de Minecraft imputés au Java, jugé obsolète par ses détracteurs. Par ailleurs, un passage en C++ permettrait de faire table rase et de reconstruire Minecraft sur des bases saines, le code du jeu étant vieillissant par endroits.
Toutefois, un passage en C++ compromet les command blocks, actuellement non-développés dans ce langage. Par ailleurs, la communauté modding est habituée à développer des mods pour Minecraft Java depuis des années. Basculer en C++ impliquerait de ré-écrire complètement les mods et rendrait plus ou moins caduques les compétences en Java des moddeurs.
Dans une interview au Time, Jeb_ évoque ce dilemme et avance des arguments en faveur des deux camps. Il donne un avis peu tranché, souhaitant passer en C++ tout en s’y refusant. Une position ambiguë qui devra être clarifiée dans les mois à venir.
L’API modding
Parlons des mods, justement. Depuis des années désormais, Mojang fait miroiter la possibilité d’une modding API. Autrement dit, d’une plateforme officielle qui se substituerait à Forge pour l’installation facile de mods. Et jusque-là, Mojang n’a guère communiqué sur le sujet. L’acquisition de CraftBukkit par Mojang il y a un peu plus de deux ans avait semblé être un pas dans ce cas, mais elle n’avait pas été suivie d’effets.
Pourtant, la création d’une modding API officielle n’est pas dénuée d’intérêt. Tout d’abord, il permettrait à Mojang de ne plus dépendre du projet Forge qui, bien que très performant, reste indépendant vis-à-vis de Mojang. Le studio suédois s’est déjà brûlé les ailes en se reposant sur CraftBukkit, qui a fini par lui faire défaut. L’intérêt d’un modding API officielle, c’est donc surtout d’avoir le contrôle dessus. Par ailleurs, cela permettrait à Mojang d’avoir une API entièrement fondue dans leur jeu, encore plus simple d’utilisation, et de pouvoir agir sur les problèmes rencontrés par les joueurs lors de leurs aventures moddées.
Le rythme des mises à jour
Continuons avec un point qui n’a sans doute pas manqué d’étonner les joueurs PC : la cadence de publication des mises à jour s’accélère. Alors que 2014 avait vu l’apparition de la seule 1.8, 2015 n’a reçu aucune mise à jour, les joueurs n’ayant droit qu’à des snapshots lors de la seconde moitié de l’année. 2016, de son côté, a vu l’avènement de trois mises à jour : 1.9, 1.10 et 1.11. 2016 compte ainsi à elle seule autant de mises à jour que les années 2013, 2014 et 2015 réunies.
Naturellement, ces mises à jour ne sont pas aussi fournies que les précédentes. Si la 1.8 présentait une véritable révolution et offrait un contenu extrêmement dense, les versions 1.10 et 1.11 semblent, à première vue, plus légères. Ce serait passer trop rapidement sur leur changelog. Outre les ours polaires et les lamas, dont les apparitions respectives ont fait beaucoup de bruit, les manoirs, les nouveaux villageois hostiles, les vides de structure, les blocs de magma, mais surtout la rénovation de l’End et les observateurs sont autant d’ajouts majeurs dont la portée ne doit pas être négligée et qui ont contribué à redonner véritablement un second souffle à Minecraft.
Mais plus que le contenu de ces mises à jour, c’est leur intervalle de publication qui importe. En effet, Minecraft n’ayant toujours pas d’API (un point que nous avons déjà évoqué plus haut), chaque nouvelle version nécessite une adaptation de la part des moddeurs. Ladite adaptation n’a pas pris beaucoup de temps pour ces dernières mises à jour, contrairement à la 1.8, qui avait marqué une claire rupture, à la telle point que la 1.7.10 reste encore une version de référence pour le jeu moddé.
Toutefois, si Mojang venait à maintenir une telle cadence sans implémenter d’API, les moddeurs pourraient s’essouffler. Par ailleurs, à force de multiplier les mises à jour au contenu hétéroclite, Mojang risque de plonger dans la confusion une partie de ses joueurs, qui pourrait ne plus comprendre la politique de Mojang, voire ne plus être au courant de l’entièreté des ajouts majeurs de chaque mise à jour. N’avez-vous, par exemple, jamais été surpris de rencontrer une fonctionnalité nouvellement ajoutée dont vous aviez oublié l’existence ou tout simplement pas entendu parler ?
Mojang et l’EULA de Minecraft
Encore un sujet d’actualité. Depuis que Mojang a décidé de mettre en application les clauses de son EULA (Ou CLUF, Contrat de Licence Utilisateur Final en français), nombreux sont les serveurs ayant dû se plier à des règles qu’ils ne connaissaient alors pas. Le Pay-to-Win était la première pratique visée par Mojang à travers cette décision. Plusieurs mastodontes, dont Hypixel et Epicube, ont donc dû s’adapter. À ce moment-là, courant 2014, Mojang comptait surtout sur le bon vouloir des gros serveurs, qu’il visait en priorité.
Mais plus récemment, la possibilité pour un joueur de signaler des serveurs ne respectant pas l’EULA a fait son apparition. De même, Mojang a blacklisté plusieurs serveurs et contacté plusieurs autres. Epicube a par exemple reçu, en septembre, un mail d’employés de Mojang leur demandant de se mettre en conformité avec l’EULA. Et, outre les avertissements relatifs aux grades, une nouvelle demande a fait son apparition : la suppression de toute image utilisant les textures du jeu. Les images faites avec C4D sont donc bannies (les screenshots restant tolérés) à la demande de Mojang.
Aussi, alors que le graphisme Minecraft repose essentiellement sur les textures du jeu et que cette discipline occupe toute une partie de la communauté, cette nouvelle interprétation de l’EULA pourrait le mettre à mal. Toutefois, cette demande reste isolée et n’a pas été généralisée. Mojang doit donc faire preuve de clarté quant à ce qu’il considère comme contraire à l’EULA, alors que le débat sur ce texte est ouvert depuis plus de deux ans. Et s’il est louable de protéger les joueurs des abus, Mojang devra prendre garde à ne pas brider les joueurs et les serveurs, qui pourraient péricliter si leur source de revenus se tarissait.
Les problématiques auxquelles est confronté le studio suédois sont donc nombreuses, mais très liées : le cross-plateforme pose la question d’un passage en C++ et entraîne un alignement des différentes versions. De son côté, la cadence effrénée de sortie des mises à jour renvoie à la nécessité d’une API officielle pour ne pas faire s’essouffler la communauté modding. Ces sujets devront être abordés par Mojang, car ils concernent des projets déjà entamés, des attentes des joueurs, des annonces faites par le studio… Ils sont autant de points à éclaircir, des points sur lesquels se joue l’avenir de Minecraft.
Pour aller plus loin
Sur l’alignement des différentes versions :
Sur le jeu en cross-plateforme :
- Annonce du cross-plateforme par Microsoft à l’E3
Sur l’API modding :
- Site de Forge
- Site de CraftBukkit
- L’affaire Bukkit
Sur le rythme des mises à jour :
Sur l’EULA :
- Le texte officiel de l’EULA, sur le site de Mojang
- Notre article sur l’EULA alors que l’intérêt autour de ce texte croissait
- Questions/Réponses de Mojang sur l’EULA
- La refonte de l’EULA en 2014
- Modification en 2016
- Communiqué d’Epicube sur l’EULA
Super article merci ! <3 (Et oui des fois j'oublie les ajouts de la 1.10 ou de la 1.11 tellement qu'elles sont rapprochés !)
Après avant 2017, avant l’API de modding!
@wekles Ils font toute les deux versions pour gagner du temps ^^
@francois_9576 : Minecraft Windows 10 (tout comme Minecraft console) est encore suffisamment éloigné des versions de Minecraft PC pour ne pas la rattacher à cette catégorie. Par ailleurs, je ne nie pas que Minecraft Java soit une mauvaise chose et je ne prends pas parti dans cet article : tout ce que je constate, c’est que le débat est ouvert. Je donne des arguments des deux camps, et ceux que tu avances y sont d’ailleurs présents. Concernant les dires de Searge, il a beau dire que Java n’est pas mauvais, Jeb_ a tout de même dit lors de cette interview qu’il considérait le C++ comme un langage sur lequel ils ont le contrôle et sur lequel ils sont plus à l’aise. Et non, cette déclaration date d’après l’arrivée de la version W10.
Pour épiloguer sur ce point, je le répète encore une fois : mon but n’est pas de me positionner sur ce débat. Je constate simplement qu’il est ouvert.
Concernant l’API, je constate également que le débat est ouvert. Encore une fois, mon but n’est pas de dire que Mojang va le faire. Je dis simplement que cette plateforme aurait son utilité et que c’est une fonctionnalité très demandée par la communauté. Et, ne jouant jamais en moddé, ce point de vue est loin d’être personnel. Je constate simplement que la modding API est promise par Mojang depuis des lustres (il me semble qu’ils y avaient fait référence pour la dernière fois en 2016) et très demandée par les joueurs. À tel point que ça devient un running gag, « quand Mojang développera une modding API » devenant synonyme de « Quand les poules auront des dents » (ou « quand Valve sortira HL3, selon tes références :D).
@spookypowa euh… la version C++ existe déjà, c’est la version minecraft Windows 10. De ce fait, je vois pas du tout l’intérêt de passer l’actuelle version java en C++, car ça casserait tous les mods existants, et les moddeurs ne sauraient du coup pas quoi faire entre modder la dernière version en java, la nouvelle version C++ ou MCPE Windows 10. D’autre part, searge a posté sur twitter relativement récemment des éléments comme quoi java n’était pas une mauvaise plateforme en terme de développement. D’autre part, depuis la 1.11, des messages sont affichés sur les clients utilisant java 7 comme quoi minecraft passera bientôt à java 8. Preuve que minecraft java restera en java. Donc peut-être que jeb envisageait de passer au C++, mais ça devait être avant l’arrivée de minecraft Windows 10.
Concernant l’API, je suis d’accord que ce serait bien pour la version java qu’il y en ait une, mais il est prouvé que la stratégie de mojang est surtout de développer le modding sur MCPE, et le fait que les plugins et addons de MCPE n’arriveront pas sur la version java est selon moi un signe que ça n’arrivera pas. Ce que je reproche à cette partie de ton article, c’est que c’est un point de vue personnel qui ne représente absolument pas une réalité du côté de mojang (comme je l’ai dit, ils ont eux même dit qu’ils laissaient le champ libre à forge). A l’inverse, le PVP 1.9 semble de plus en plus être un dilemme pour jeb et ses équipes: il a clairement avoué que si ce PVP n’était pas présent sur les versions Pocket et console, c’est justement car il a eu un mauvais accueil sur la version java. Voilà pourquoi je trouvais ça plus pertinent de parler de ça.
@francois_9576 : Diantre, tu as tout à fait raison à propos des addons. Je comptais faire un paragraphe à ce sujet, mais, la fatigue aidant, j’ai finalement oublié de l’insérer dans l’article. Je le mettrai cet après-midi.
Concernant le débat Java/C++, Jeb_ n’a pas été aussi tranché. Il dit adhérer aux arguments des pro-C++ (un langage sur lequel il estime avoir le contrôle) mais a un peu peur de se lancer, notamment en raison de la communauté. Pour autant, selon les progrès de la version C++, celle-ci pourrait, à terme, s’aligner parfaitement sur la version Java. Et à partir de là, l’utilité de cette version pourrait être remise en cause. Dans tous les cas, Jeb_ n’a pas clôturé le sujet.
À propos de la modding API. Searge développe peut-être le MCP, mais c’est seulement la base de Forge. Le projet lui-même reste indépendant de Mojang, sauf si le studio agit en sous-marin sans que nous le sachions (coucou CraftBukkit). Dans tous les cas, il pourrait être bon que Minecraft se dote d’une API officielle, même si c’était en rachetant Forge. Aussi, je ne considère pas ce point comme hors-sujet.
Le PVP 1.9 est également un sujet intéressant, mais j’estimais avoir trop peu de matière pour faire une partie bien remplie dessus. Mais cela pourrait faire l’objet d’un article-débat. Toujours est-il que, s’il peut y avoir des « oublis », c’est tout simplement parce que j’ai sélectionné les points qui me semblaient les plus importants. En effet, ce ne sont pas les seuls sujets importants pour 2017, mais l’article fait déjà 1800 mots. Trop l’étoffer pourrait décourager les lecteurs.
@benlog : Effectivement. Dans l’article, le terme « version PC » désignait surtout les versions PC/Mac/Linux, mais Windows 10 doit également être pris en compte.
Il y a des point de l’article qui sont intéressants, mais certains qui sont hors sujet ainsi que certains points qui sont a mon sens important et qui manquent.
Commençons par le hors sujet: l’avenir de la version java. Jeb a déjà dit que la version java sera toujours mise a jour du fait que ce soit la version privilégiée par les serveurs, les moddeurs, les mapmakers ou encore les youtubers. Il me semble donc logique que même lorsque la version java aura atteins une similitude presque parfaite avec MCPE, elle ne sera pas abandonnée auprès de cette dernière. En plus, on sait déjà quels seront les éléments qui resteront différents entre les version: le fonctionnement de la redstone, les addons et les plugins, reservé à MCPE, et une incertitude sur les command blocks.
D’autre part, tout ce qui est dit dans l’article sur la modding API est totalement hors sujet: mojang a déjà dit que forge était meilleur que tout ce qu’ils auraient pu faire eux-même. Et puis forge est quand même bien associé à mojang: searge et lexmanos développent ensemble le MCP (minecraft coder pack) qui sert de base à l’élaboration de forge. A l’inverse, vous ne faites pas du tout allusion aux addons et aux plugins qui arriveront sur MCPE qui seront pour le coup une vrai modding API et qui pourraient rebattre les cartes de la distribution des joueurs sur toute les éditions du jeu.
Dans ce qu’il manque, vous oubliez également l’avenir du PVP: jeb avait confié à la minecon que les mécaniques mises en place en 1.9 étaient en sursis vu le faible engouement suscité, et il l’a réannoncé sur twitter récemment en disant qu’il lisait attentivement le reddit consacré au PVP 1.9.
Sinon, sur tout ce qui est dit sur les EULA et le cross Platform, je suis d’accord.
Merci aux rédacteurs
Pour le dilemme entre C++ et Java , ils ne serait pas possible de laisser une version en C++ et une autre en java ?
C’est pas vraiment le sujet de l’article, mais c’est dingue, maintenant la version conseillée pour les mods est la dernière sortie depuis la 1.9!
C’est un changement de système de Mojang ou les modeurs qui sont hyper productifs?
Il ne faut pas oublier qu’il existe une version minecraft C++ sur PC, c’est Minecraft: Windows 10 Edition. Cet version pourrait, à terme, être la version la plus soutenue par microsoft. Cet version permet un plus grand contrôle sur les éléments du jeu (comme les skins ou les packs de texture) et la monétisation. Cela pourrais être finalement cette version qui bénéficierait du multi cross-platform et de l’API de modding.