Scripting API now in public beta
minecraft.net
minecraft.net
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.eve.... Good times :)
https://www.gamesindustry.biz/articles/2018-10-02-minecraft-...
Hacky as hell but you could do some neat stuff with it like respawning players and adjusting all kinds of 'untouchable' attributes.
I remember coding with it, to manage fixtures between teams. I looked it up and found a source on my hard drive, last modified 04/10/2001 apparently.
https://gist.github.com/conradfr/a20e9c9598b7b65ad94b8a8605f...
You couldn't create such an inspirational game, or even an accidental ecosystem, by actually planning for it.
Besides Redstone Minecraft also got me into Java (both by writing mods and something [Forge Mod Loader?] requiring recompilation of the jar), Lua through ComputerCraft and Sysadmining with Bukkit and PermissionsEx.
Of course it didn't only lay the foundation for my current, largely useful technical knowledge, but through playing on servers and participating in the administration (at 12) learned a lot of social skills I probably would've taken way longer to acquire otherwise.
Yeah, I like that this game exists.
Coming off of a BA in the Humanities and studying programming for economic necessity (i.e. getting skills that would help me get a job), this is what hooked me. It felt refreshing to enter a world where my creation worked or didn’t (runtime bugs aside) and I knew it right away.
This isn’t to degrade my Humanities studies. I’ve gotten a lot of value out of them, too.
I still have my eventscripts release T shirt somewhere :)
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.
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.
This isn't a rare path - just look on sites like SpigotMC and you'll see literally thousands of developers turning to the business side of things. The business skills that your kids would gain from this would be 1000x more valuable than whatever you can teach.
As it turns out he was wrong, my son's enjoying a great career as a programmer, his son has left psychology and is doing some kind of creative arts) music/digital career.
I think ultimately no one really knows what the future will hold, but it seems that it can't be a bad thing having a strong familiarity with the modern day building blocks of business, i.e software.
But i totally agree about arming them with business skills as well, so they can step up to whatever the next step is.
- I want them to be confident in interacting with technology. To understand that none of this is magic, and that it can be bent to one's will given enough (usually not much) knowledge.
- I want them to learn that they can, and should, automate their tasks on the fly - whatever those tasks are. I want them to know it doesn't require (though can involve) buying ready-made single-purpose solutions, but a little bit of thinking and (sometimes) skills. This conceptual block is what I see in most of non-computer people around me.
- I want them to acquire the ultimate tool in learning and communication: trying to make a machine to do something. There's no better way to realize what you don't know than trying to model it as a computer program.[0][1]
I don't necessarily want them to be a programmer in the future[2]. I want them to find their own career, but I also want them to go through life confident in their ability to truly understand whatever they're curious about, and to shape the increasingly digital world around them.
--
[0] - I used to use this approach as a teenager to verify my understanding of physics. The act of trying to write a simulation quickly revealed which parts of the topic I only thought I knew.
[1] - Incidentally, that's the primary source of frustration in job - a lot (often most) of time is spent debugging and fixing lack of understanding of stakeholders. Most people aren't aware how imprecise (and in a way, wishful) their thinking is.
[2] - Honestly, I doubt that in 20 years, this will be a well-paid job, due to sheer scale of mass-manufacturing of "programmers" that universities are now engaged in. I expect the supply to exceed demand in 5-10 years.
Didn't understand why they imply that being a code monkey means you know nothing about anything else... Must not be a code monkey themselves. Working with programmers you see people of all backgrounds who have a wealth of knowledge in all sorts of topics, some even have financial backgrounds, others business and military, and so on.
From another comment: https://www.gamesindustry.biz/articles/2018-10-02-minecraft-...
I'm 21. I first learned programming through Roblox when I was like 15. I don't play anymore, and haven't for years, but I have a giant friend group that also got introduced to programming through Roblox. A lot of them have gone on to work there now, and they've been making it better and better over the years.
Minecraft is giant, and there are tons of mods for it, but also the barrier to entry for making those mods is extremely high. You have to open a command line, decompile a jar and deobfuscate the bytecode and then use Java, which historically isn't the best first language to pick up for a kid. More kids have probably been introduced to coding through ComputerCraft than have gotten a mod building correctly.
But I was already on Linux then.
I find it funny people think Roblox is a new thing when I played it a few years prior to Minecraft coming out.
This has been true in Minecraft for years now, it'd be great if it were addressed.
https://minecraft.gamepedia.com/Bedrock_Beta_Script_Document...
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.
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.
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.
I would recommend starting with a premade mod pack and a YouTube series that's currently using it. Direwolf20 authors his own packs and creates videos using those packs. The twitch client allows you to install various modpacks for Minecraft, including Direwolf20's
However, (this may not be true any more, but I think it is) you get a free version of the win10 store version of minecraft with a java edition purchase. So just buy the java version, and you get both (and the prices are pretty close last I checked)
Look into Minecraft Forge.
Not sure how relevant all of this is now but we got it up and running on an older iMac pretty easily.
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...
While the scripting API isn't yet available for Android, I found it much faster personally than running with Parallels and the like
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.
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?
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.
I think most modders would be ecstatic at some kind of official mod support, assuming it offers at least what forge does already.
Nice to see a start though!
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.
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?
How likely is it that the Minecraft team built their own Javascript interpreter rather than setting up bindings to an existing one?
Creating a couple of Java AOT compilers from scratch wasn't properly part of their idea how to best make use of resources.
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-t...