7 ms·
Scripting API now in public beta
- phodo 8y agoKudos to Microsoft. This can also open up new opportunities for AI simulations, especially reinforcement learning. Similar to OpenAI. It should unleash a new playground for progress.
- benbristow 8y agoLooks like the JavaScript API is ES5. Wonder if they've any plans to support ES6+?
- brink 8y agoProbably won't be long before a minecraft babel plugin exists.
- danShumway 8y agoAny existing babel setup will already work, you don't need to wait. That being said, I'd be kind of surprised if this doesn't actually support ES6. How likely is it that the Minecraft team built their own Javascript interpreter rather than setting up bindings to an existing one?
- stjo 8y agoI nearly got a stroke
- yoklov 8y agoMight use Rhino or something, since it’s on the JVM
- knownunown 8y agoIt uses V8.
- SquareWheel 8y agoBedrock edition is in C++, isn't it?
- pjmlp 8y agoYes, they ported it to C++ due to game consoles and mobiles support. Creating a couple of Java AOT compilers from scratch wasn't properly part of their idea how to best make use of resources.
- solarkraft 8y agoI wonder whether the landscape looks different today, with Oracle's Graal efforts.
- pjmlp 8y agoNot really. Java AOT compilers to native code have been available since early 2000's, as long as companies are willing to pay for them. However there have been very little attempts to support Java on game consoles, apart from ajile's attempt [0]. Targeting game consoles is similar to bare metal programming, even when a thin OS is present and doesn't bound well with a programming model that abstracts what the hardware is capable of. As for iOS support, there are a couple of options like CodenameOne, GluonVM and RoboVM. And for UWP only CodenameOne. So there isn't really an option that would make sense from business point of view. Hence why porting the game engine into a programming language that is available out of the box in all SDKs was a much more pragmatic option. [0] https://www.geek.com/games/new-development-kit-brings-java-to-the-gba-553040/ https://www.geek.com/games/new-development-kit-brings-java-t...
- snek 8y agoThey're using ChakraCore, with support for ES6+. you can use all your favourite `const` and `let` and `function*` etc.
- solarkraft 8y agoOh, just after it was announced obsolete?
- edwinyzh 8y agoGlad to hear that!
- brink 8y agoVery exciting, should put a fresh breath of life into Minecraft for sure. It looks like it's only available for Bedrock edition currently. What about Java edition? Is this Microsoft making an attempt to make the Java edition obsolete?
- ergothus 8y ago> should put a fresh breath of life into Minecraft for sure If you mean "new options from a different group", then yes. If you mean "Minecraft has gotten stale and this will pep it up", then no. Minecraft has a very health and active modding community that has really been exploring new directions lately, and the non-modded Minecraft has been continuing to push new options and directions for some time. > Is this Microsoft making an attempt to make the Java edition obsolete? I expect they don't have to "attempt" so much as just let it decay because they'll have a lot more non-Java resources. As much as I've trashed MS in the past and as much as I thought the Minecraft buyout would be bad for Minecraft, MS has really been a decently-behaved corp citizen in software of late and developments like this mean that while they might under-support the Java Edition, they'll continue to support Minecraft in some form as we've come to expect.
- rrrttrrr 8y agoJava has a massive inertia advantage in modding, which is pretty important in my opinion because modders are the largest playerbase that will stick with your game for a very, very long time. Additionally, modders have been known to stick to old versions of minecraft for a long time, so new features/tooling likely won't sway them. I expect the java edition to remain the most popular version for a very long time.
- calibas 8y agoThat whole system is really a mess, and I speak from experience as a modder. All the changes between MC releases makes updating an enormous pain in the butt, so there's still mods stuck at version 1.6.4 and every version in between. I think most modders would be ecstatic at some kind of official mod support, assuming it offers at least what forge does already.
- subless 8y agoAs soon as I think Minecraft is old news something like this pops up. Seems very interesting.
- pdyck 8y agoTrying to write mods for Minecraft is what got me into programming as a teenager, this looks really cool!
- 3jckd 8y agoFully-fledged DnD session in Minecraft anyone?
- carlosdp 8y agoOh this is actually really cool, especially because the lightweight nature of JS and the way this is designed means plugin experiences are more plug-and-play when you join a modded server, rather than having to have a plugin pre-installed or having a download time when joining the server.
- danShumway 8y agoThis is very cool, and very exciting. My niece is really into Minecraft and has a huge interest in stuff like robotics and programming, I think in no small part because of Minecraft's influence. But because she's on the Windows 10 version it's difficult for me to help her with anything. Better, more open modding tools for Bedrock means that it's easier for me to show her stuff and pique her interest towards developing more interesting customizations. Now if only I didn't have to set up a Windows VM to run Bedrock...
- destruc7i0n 8y agoThere's a GitHub project which uses the Android version of Bedrock and runs it "natively" on Linux/Mac/etc. systems, works pretty well too https://github.com/minecraft-linux/mcpelauncher-manifest/wiki https://github.com/minecraft-linux/mcpelauncher-manifest/wik... While the scripting API isn't yet available for Android, I found it much faster personally than running with Parallels and the like
- shostack 8y agoWhy not make DevOps part of the fun with setting up their own environment? In all seriousness, while I'm an adult, when I started learning to code I got a major sense of accomplishment from getting my Ubuntu virtual environment setup.
- qwerty9876 8y agoThis will get way more young kids interested in programming than all the subsidized school programs combined, by the way
- aviv 8y agoI don't understand what drives parents to want their kids to become code monkeys. I would rather my kids be financially savvy and have business skills. It sure doesn't hurt to know how to code, but getting them to program in Python from age 10 does not make them entrepreneurs or creators of business opportunities, it just makes them the labor workers of tomorrow.
- deleted 8y ago[deleted]
- always_good 8y agoThere's nothing you can do to guarantee they are successful. What you can do is expose your kid to a lot of things and help them find something they're passionate about. Ideally something they can use to pay their bills too when their business fails. I don't see why some programming/tech exposure can't be one of those things. I work fewer hours and have more lateral mobility than pretty much all my friends that make as much money as I do. Software engineering is a good field. Nobody is saying you have to force it down anyone's throat, and that's not what a Minecraft scripting API is doing. What a great creative opportunity though for kids out there to dabble in programming due to a game they love. That doesn't preclude them from being financially savvy in the future. They're kids.
- texuf 8y agoThat’s kind of like saying, “Teaching them to write just makes them the scribes and court officials of tomorrow,” or, “Teaching them to add and subtract makes them the bookkeepers and tax collectors of tomorrow.”
- aviv 8y agoMy issue is not with the act of programming, just as I don't have an issue with the act of writing something on a paper. The issue is that the parents are doing this in order to set the kids up to a career in programming, which IMO is going to be the blue collar work of their future. There is no glory in being a code monkey 10 years from now... just a decently paid blue collar worker making someone else rich. Teach them the business skills that will enable them to properly hire and evaluate 20 programmers for their business venture, not simply be one of those 20 programmers.
- tails4e 8y agoDoes anyone know of a good guide to the Minecraft versions? My daughter wants to get mods and maybe venture into scripting, but it seems confusing as to what each version is capable of. We have it on Xbox and android but it seems none of this works on those. It seemd java edition is best; except this has now been replaced by win10 edition, but that does not support most mods or so it seems. It's quite confusing so if anyone has a magic decoder ring for versions/platforms/compatability I'd really appreciate the info!
- detaro 8y agoJava is the original and I don't think it's fair to say that is has been "replaced" yet. Mods basically only exist for this one. The Windows 10 one (which as here announced just got scripting beta), the XBox one and Android/iOS versions are all based on the same code base and labeled "Bedrock Edition". There's a bunch of other variants for other consoles etc, but less relevant. The Raspberry Pi one also had a (I think Python?) scripting interface, not sure if they still maintain it.
- giancarlostoro 8y agoI was about to comment to say this is the source of the confusion. The Java based one is the original. Microsoft doesn't have the best history with Java, so my best guess is that eventually Bedrock may indeed replace the original in constant development, but it doesn't appear to be too soon. It doesn't hurt to just invest some time into the Java edition of Minecraft until the Windows 10 catches up with the new mod system. The Raspberry Pi has a minimalist rendition of Minecraft that let's you script it with Python. Just downloading (or getting n00bs) the official Rapsberry Pi distro Raspbian includes Minecraft with it.
- idle_zealot 8y agoThe Java version is the most moddable and featureful among the versions. The console/mobile/Win10 versions are collectively called Bedrock Edition. The Bedrock versions allow for (limited) crossplay between one another. The Java and Bedrock versions are incompatible. Bedrock versions have had essentially no moddability, though this announcement seems to be hinting that official Bedrock modding support may be in the works. In short, Windows 10 Edition has not replaced the Java Edition, and IMO the Java version on PC remains the best way to play, especially if modding or server communities are desired.
- orf 8y agoThis kind of thing changes lives. I used to play a lot of counter strike source. One day I found a server mod called EventScripts, and suddenly I could make all kinds of crazy game modes on Python. I found I picked up this programming thing pretty naturally, and without that mod I doubt I would have even dabbled. The feedback loop is phenomenal and is something you simply do not get with other forms of learning. I really can't think of a better method and I'm so excited the younger generation will be exposed to this. Kudos Microsoft, I only wish it was done a bit quicker. Edit: For anyone interested some tutorials are archived here: https://web.archive.org/web/20140810191103/http://python.eventscripts.com/pages/My_Second_Addon https://web.archive.org/web/20140810191103/http://python.eve.... Good times :)
- 20years 8y agoI feel the same way. I am so excited about this. I hope it is not too late though. Seems as though a lot of the popular around Minecraft has faded a bit.
- Permit 8y agoI was surprised to learn that it's actually the opposite: Minecraft recently reached a new peak with over 90 million active players. https://www.gamesindustry.biz/articles/2018-10-02-minecraft-exceeds-90-million-monthly-active-users https://www.gamesindustry.biz/articles/2018-10-02-minecraft-...
- 20years 8y agoWow! Good to know. Thanks for sharing this!
- blattimwind 8y agoWay back there used to be Metamod (which IIRC circumvented some limitation of the Half-Life engine regarding how it loaded DLLs into the game), and then AMX Mod layered on top of that, which was later replaced by AMX Mod X. This in turn used a little programming language called "Pawn". You could then write mods in Pawn, compile that to bytecode and dynamically load it into the game server. Later there was Sourcepawn. These enabled a lot of complex mods, and required relatively little knowledge about the messy details of the engines, however it was still relatively involved. First you had to setup the various base mods to get it to work, then you needed to compile your mods, restart the game server for most changes etc.
- Waterluvian 8y agoAre there typescript typings anywhere? Might be a great toy to play with this Christmas and get more experience with TS.
- russellbeattie 8y agoI looked briefly but didn't see it - does Minecraft scripting have a way to save state and reset to that state instantly, how about stepping through code in real time? If not, most programs are just macros - they simply mimic user-actions, and if somewhere along the script something doesn't go as planned, it's just a mess. It's really hard teaching 10 year olds how to do anything more than the basics if every time they run the program, their entire world is messed up, and there's no way to undo the script they just ran, or understand why it went wrong. This has been true in Minecraft for years now, it'd be great if it were addressed.
- Scaevolus 8y agoThey have in-game error messages and log files, or you can attach Visual Studio's debugger. https://minecraft.gamepedia.com/Bedrock_Beta_Script_Documentation#Debugging https://minecraft.gamepedia.com/Bedrock_Beta_Script_Document...
- solarkraft 8y agoOh. Hello Windows lock-in.
- ilaksh 8y agoIt would be interesting to see a comparison between this API and what Java mods are capable of doing.
- danielvf 8y agoNote that release only gives you an API to some UI elements and to entities (animals, monsters). This is not yet a full Bedrock API and the number of things you can do is currently quite limited. Nice to see a start though!
- rauhl 8y agoWell, it definitely sounds neat, and although I really wish it weren’t JavaScript, that’s actually a pretty good choice based on popularity. Pity it couldn’t have been TCL, Lisp, or even Scheme or Python. I can’t wait until the modding community picks this up and figures out how to integrate it. Gonna be fun times ahead, no doubt! As an aside, this was a bit of a surprise to me: > you can learn more about how to sign up for that beta by clicking this line of green text Link. Link. Doesn’t everyone know what a link is, these days?
- vtesucks 8y agoI like your list but its missing the one language that I feel is most suited- Lua.
- umvi 8y agoDo we really want kids' first experience with programming to be a language with 1-indexed arrays? That's just going to set them up for failure ;)
- why_only_15 8y agoYeah sure I saw him with Zelda in this game
- ru999gol 8y agofar too limited and around 5 years to late https://minecraft.gamepedia.com/Mods/Forge https://minecraft.gamepedia.com/Mods/Forge
- Scaur 8y agoI got my start in programming basically via Minecraft. Multiplayer servers taught me DNS, ports, & bash... modding on Mac OSX & configuring a server to work with the same mod (Flan's Mod) taught me basic client-server principles... hell, even Buycraft fuelled my interest in Bitcoin and web development. I don't know if I'd even have been a serious developer at all if it wasn't for Minecraft. And now kids have access to learning JS directly. This is 100x as powerful as learning how to web inspector pages. I look forward to watching my little cousins surpass me.
- VanHallman 8y agoThe very first mod for this should be someone to convince Mr Crayfish to donate his Furniture Mod to the public domain (if it isnt there already) so that it can be ported to the Bedrock editions!