>> La recherche se fait sur tous les élements du jeu Minecraft <<

Minecraft Bedrock 1.9.0.3: l'API de scripting

Le 06/12/2018 à 22h42

Il y a un peu moins de 8 ans, Notch, le créateur de Minecraft qu'on ne présente plus, qui était encore à l'époque développeur sur le jeu avait annoncé l'arrivée prochaine des mods sur Minecraft Java. Cette idée continua à mûrir dans son esprit durant les années suivantes, il en fit une présentation plus précise un an plus tard, et recruta même les membres fondateurs d'un projet communautaire Bukkit (dont un certain "Dinnerbone") pour l'aider dans l'implémentation de l'API sur Minecraft Java. Mais avec le temps d'autres objectifs ont pris le dessus, le jeu a été revendu à Microsoft, l'édition Pocket est sortie (puis est devenu l'édition Bedrock multiplateforme), et l'essor de Forge sur Minecraft Java Edition a rendu quasiment inutile le développement d'une API sur cette édition.

Mais le fait que le code source de la version Bedrock soit bien plus fermé a relancé le projet sur cette plateforme. L'API de scripting a été officiellement annoncée pour l'édition Bedrock lors de la Minecon 2016 de Anaheim en Californie, son fonctionnement avait été dévoilé il y a quelques semaines, elle est désormais totalement disponible, du moins en version beta, et pour le moment exclusivement sur Windows 10.

Pour le moment, l'API de scripting permet principalement d'interagir avec deux types de contenus : les entités et les interfaces. Mais pour pallier les manques actuels de l'API, il est possible d'exécuter une commande depuis le script.

Pour faire la démonstration des possibilités actuelles, Mojang propose deux maps intégrant les fameux scripts:

Turn base game demo:

Il s'agit d'un jeu de combat au tour par tour avec des interfaces graphiques. Vous possédez le lama, l'évoker et le vindicator, et vous affrontez le squelette, le blaze et l'ocelot. A tour de rôle, vous pouvez choisir soit d'attaquer une cible, soit de faire un dégat de zone sur tous les ennemis, soit de soigner une de vos troupes.

Cette démo permet principalement de montrer le fonctionnement des interfaces graphiques, lesquelles sont des fichiers... html (C'est à dire le même format que celui utilisé sur les sites webs). Ceux-ci sont inclus dans le ressource pack dans le dossier ui_experimental.
Cette technologie est basée sur la solution hummingbird, destinée à utiliser les technologies web pour faire des jeux vidéos.


Ce script est téléchargeable depuis ce lien.


Mob arena:

Il s'agit d'un beat them all ou des vagues de mobs apparaissant aléatoirement sur la map vont chercher à vous tuer. Vous devez survivre le plus longtemps possible. Il est à noter que le jeu n'a aucunement été conçu pour être jouable en tant que tel : des permissions basiques, comme autoriser le fait de placer ou casser des blocs, ou encore un effet de saturation n'ont pas été mis en place, ce qui rend le jeu pénible, mais permet de montrer des comportements intéressants de cette scripting API, comme la gestion de la répartition aléatoire des mobs.

Ce script est téléchargeable depuis ce lien.


Jeu d'échec:
Ce troisième exemple n'est pas un exemple de Mojang (et n'est donc pas téléchargeable). C'est un projet communautaire montrant les possibilités de cette API: Un jeu d'échec dans Minecraft Bedrock !


Pour obtenir l'ensemble des documentations nécessaires, Mojang renvois vers le wiki de Curse référençant l'ensemble des documentations techniques fournit par la communauté ainsi que des liens de téléchargement.

Ceci n'est que la première version de l'API, de nouvelles fonctionnalités seront ajoutées par la suite.


Bugs corrigés :
Cette version beta apporte également quelques corrections de bugs
  • Correction de crash pendant le gameplay
  • Correction d'un problème de lumière du lama lorsque son inventaire est ouvert
  • Correction des items en main qui pouvaient apparaître blanc
  • Les joueurs pouvaient se retrouver téléportés dans un bateau dans de rare cas s'ils marchent proche de l'eau
  • Correction de l'écran de reprise du jeu après une pause
  • Les joueurs étaient encore à moitié considéré comme mort si tués lorsqu'ils étaient dans un lit
  • Les joueurs pouvaient spawner dans les airs
  • La texture de la balise était bugée
  • Le fichier block.json était ignoré dans les ressource packs
  • Les chunks étaient parfois mal synchronisés avec le serveur
Cet article a été publié par franswa, le 2018-12-06 22:42:10. Source
Validé par  Tronics. Dernière modification par  Tronics le 07/12/2018 à 6:03.
Partager :
Commentaires de la news Minecraft
Minecraft Bedrock 1.9.0.3: l'API de scripting :
franswa (modérateur)
le 06/12/2018 à 22:49
Cette news était assez différente de d'habitude car la scripting API ne rajoute pas directement du contenu au jeu, elle ajoute des possibilités. Les deux démos permettent d'avoir un léger aperçu de ce qu'on peut désormais faire, mais je pense que les possibilités sont assez impressionnantes désormais. On pourrait refaire un pixelmon en ajoutant des json pour ajouter les différents pokemon et s'inspirer de la première demo pour faire un système d'attaque. On peut aussi faire un système de travelling en couplant une UI avec des mouvements de téléportation assez complexe...
Même au niveau des serveurs, j'imagine qu'on pourra utiliser les UI dans pas mal de cas. Le seul truc qui me fait peur, c'est que les UI sont tellement complètes qu'il deviendrait presque possible de faire du contenu intégralement dans l'UI sans aucun contenu minecraft (sans blocs, sans entités, sans inventaire, sans chat...) même si j'adore les possibilités de transformation du jeu, si je vais sur un serveur minecraft, c'est pour jouer à minecraft, pas à autre chose... On en est heureusement pas là.
Tronics (administrateur)
le 07/12/2018 à 06:14
Merci pour la news, vraiment génial cette API, ce n'est que le début mais ca promet du lourd, c'est vraiment ce qui manquait le plus: pouvoir installer un "mod" simplement en copiant un fichier. Il reste encore du boulot pour rendre cette API pleinement utilisable, mais ca fait déjà rêver ! Même si les chances de voir ce genre d'API sur Java sont maintenant quasi-nulle, j'aurai adoré avoir ce genre de chose malgré tout (pour pouvoir avoir des "mod" simple via script, tout en gardant les mods classique a coté pour les systèmes plus complexe).

franswa: "Les deux démos ..." ==> 3 maintenant, j'en ai ajouté une a ton article ;-) Elle n'est ni officielle ni téléchargeable, mais je la trouve encore plus imprésionnante (même si on voit dans la vidéo que les règles des échecs ne sont pas tout a fait respecté lol).

Pour ta remarque sur les GUI, ca me fait penser à un autre soucis... la sécurité... Imagine une interface en pleine écran avec un message d'erreur genre interface d'android qui te demande un login/pass quelconque pour débloquer la situation... et hop, on a le phising dans Minecraft! Ce problème existait déjà dans les navigateurs interne, c'est pour cela que quand on passe un site en pleine écran le navigateur affiche un message d'avertissement pour nous avertir que ce qui est affiché est un site et non pas notre bureau. Mais ici il n'y a aucune protection, donc ça m'inquiète un peu... Espéront que Mojang prévoit des protections contre ce genre d'attaque.

PS de troll: Utiliser Visual Studio pour éditer du JS (première image) ? On sens bien le rachat de Mojang par Microsoft ;-) Autant j'adore VS (c'est d'ailleurs mon principal outil de travail), autant pour éditer un script JS c'est selon moi loin d'être l'outil le plus adapté...
le 07/12/2018 à 10:59
@Tronics j'utilise VS pour le JS ça reste convenable malgré tout :p.

Sinon effectivement ça promet mais pas facile de se rendre compte complètement de ce qu'on peut faire comme ça. Sinon au lieu d'un système de téléport le mieux serait peut-être de pouvoir directement créer des IA qui s'intègre correctement.
Pour Java je pense qu'ils ont considéré les datapacks comme l'alternative.
CraftApple123 (anonyme)
le 07/12/2018 à 11:16
C’est une grande avancée dans Minecraft d’avoir enfin l’api tant attendu , bien sur quelque systèmes sont encore à modifier et d’autre chose arriveront au fur et à mesure . Je souhaite d’ailleurs précise à toute les personnes ici que les ajouts fait comme les entités ou les blocs seront crée avec les addons et pas lapi comme vous penser . Lapi sert juste à ajouter des comportements à des choses comme une interface et encore cela se passe dans les addons également mais vous pourrez modifier les comportements grâce au script et ses d’ailleurs ce que Mojang a utiliser pour afficher les pv au dessus des mobs
franswa (modérateur)
le 07/12/2018 à 11:18
@Tronics c'est dû au fait qu'ils ont intégré l'accès au débogueur de VS. J'en avais déjà parlé dans la précédente news, mais j'ai pas jugé utile de le remettre à nouveau dans cette news.
@TheJedi7 non, c'est clairement présenté et souhaité comme un équivalent des mods forge. C'est juste au niveau de la manière de l'installer que c'est plus proche des datapacks.

Sinon, j'ai omis une info intéressante qui n'était pas dans le changelog, la fletching table et la smithing table ont désormais un craft : un établi et une flèche pour le premier, un établi et une pierre pour le second. Comme attendu, craft très basique.

Par ailleurs, il semblerait que les interfaces en HTML remplacent petit à petit les interfaces actuelles vu qu'elles viennent s'afficher par dessus celles-ci, rendant impossible la cohabitation des éléments d'affichage, notamment le menu de pause ou le chat. J'imagine que les nouvelles interfaces arriveront avec ce changement.
Tronics (administrateur)
le 07/12/2018 à 13:17
franswa OK je comprend mieux l'utilisation de VS dans ce cas !
Faut pas hésiter a rappeller ce genre de chose, pour les personnes avec une mémoire de poisson rouge comme moi, mais aussi et surtout pour les personnes qui ne lisent pas toutes les news (si si y'en a, honte a eux !!!)

On restet encore très très loin des mods de Minecraft Java, mais c'est un changement majeur dans le jeu, aussi bien en terme de fonctionnalité que d'architecture, donc il est normal que cela prenne du temps.

Pour les interfaces effectivement tu avais poster un article qui parlé de refaire toutes les interfaces de Bedrock, donc ca semble aller dans ce sens, tout sera en html, c'est cohérent.
zzzzzzzz (anonyme)
le 07/12/2018 à 17:09
EcmaScript 6 est supporté ou non ? Même si on peut toujours se reposer sur Babel, je trouverai préférable de pouvoir directement utiliser une version récente de JS.
le 07/12/2018 à 18:16
@franswa je me suis mal exprimé, je voulais dire que sur Java les datapacks ont été créés pour (je pense) pallier au fait qu'il n'y aurait pas d'Api sur Java.
franswa (modérateur)
le 07/12/2018 à 21:07
@thejedi7 je suis à moitié d'accord, en fait je suis d'accord uniquement pour la partie structures, recettes de craft custom, etc... Pour les fonctions, ça a juste été créé pour éviter d'avoir des champs de command block planqués sur les maps.
franswa (modérateur)
le 07/12/2018 à 21:08
@zzz EcmaScript 6 je connais pas du tout, mais ce que je sais, c'est que quelqu'un a développé une intégration de typescript.
le 07/12/2018 à 23:00
c'est super tout ça ! mais pour les joieurs bedrock consoles on pourra quand même créer des scripts ou ce sera limité a w10 ?

le mieux pour nous, petits joueurs de mc bedrock ce serait qu'ils ajoutent la possibilité de partager les scripts entre joueurs …
franswa (modérateur)
le 07/12/2018 à 23:38
@NoXiD a priori, une fois que ce sera plus en beta, ce sera pour tout le monde. Et pour partager les scripts, il suffit juste d'extraire l'addon et le pack de ressource et de zipper le tout.
le 08/12/2018 à 09:46
ça m'étonnerai que l'on puisse extraire ou zipper quelque chose sur console … c'est très restrain l'univer console malheureusement, je pense qu'on recopiera bêtement les scripts qu'on trouvera sur internet ou on créera nos propres scripts … ;-(

Ajouter un commentaire


Pour ne plus poster de commentaires anonymes, connectez-vous sur le forum.