When I was in fourth grade, I'd take the half a mile walk to the library almost daily which always made my parents happy because they assumed I was going to read, but instead I was hopping onto their computers, going to http://minecraft.net , and playing minecraft on IE :) Thanks for the nostalgia
The longevity of Minecraft blows my mind. I was always aware of its existence but never looked into it. Now my kid is getting into it. So many generations of kids! It's incredible really. That said, it has been a little sad digging into the current state of Java vs Bedrock, Bedrock iPad vs Bedrock Switch. The platform ubiquity is wonderful and the tradeoffs are what they are. But if folks were able to create a touch-…
Browsercraft: Java Minecraft in the browser
71–80 of 107 posts
Re: Browsercraft: Java Minecraft in the browser
#72The fact I'm playing this at 20 FPS on Firefox with a RX 7600 shows how much web browsers have regressed in 10 years, not how much they've advanced.
Minecraft back in the day was a Java applet, so the game was running in a native JVM. This demo is running the game in a WebAssembly JVM, so performance is absolutely going to suffer. If the game were actually written for the web platform, it would perform significantly better.
Re: Browsercraft: Java Minecraft in the browser
#73Re: Browsercraft: Java Minecraft in the browser
#74I used to love Minecraft as a kid until my kid ruined it for me. This 5-year-old loves to be in Creative mode and put me in Survival mode and set up traps and rounds of enemies for me to fight my way out. Not relaxing at all anymore.
Like you say, not very relaxing.
Re: Browsercraft: Java Minecraft in the browser
#75We have come full circle #applets Twenty years ago running java in the browser would have just been called "using the internet"
An example of full circle would be if wasm apps needed a browser extension so that they could access APIs not allowed by the browser.
Re: Browsercraft: Java Minecraft in the browser
#76It's too bad that this kind of thing is using x86 as the actually-pseudocode for this. I understand why -- ease of porting, etc. -- but using either WASM (w/WALI?) directly with a kernel compiled to WASM (there are efforts to do this) or something open like RISC-V would be better long term.
This is actually running on top of a WebAssembly-based Java Virtual Machine (CheerpJ). You are probably thinking about our independent x86 virtualization product CheerpX ( https://cheerpx.io )
https://wasmlinux-demo.pages.dev
In other words, using WASM as if it were the CPU architecture in the VM.
Re: Browsercraft: Java Minecraft in the browser
#77There's also Eaglercraft, which achieves the same result, but it has functioning multiplayer, and runs up to version 1.8.9, though you'll need a beefy computer.
Re: Browsercraft: Java Minecraft in the browser
#78Earlier quoted context omitted.
The longevity of Minecraft blows my mind. I was always aware of its existence but never looked into it. Now my kid is getting into it. So many generations of kids! It's incredible really. That said, it has been a little sad digging into the current state of Java vs Bedrock, Bedrock iPad vs Bedrock Switch. The platform ubiquity is wonderful and the tradeoffs are what they are. But if folks were able to create a touch-…
An interesting fact about Minecraft is that when it came out, storing the block IDs for the loaded area used up a big chunk of your computer's RAM and had to be optimized as much as possible. So it was 8 bits per block space, and when they expanded to 12 bits, they added on another array with 8 bits per 2 spaces. Now, it doesn't even use block IDs any more. It uses one whole object per block type, one pointer to one…
Re: Browsercraft: Java Minecraft in the browser
#79Earlier quoted context omitted.
An interesting fact about Minecraft is that when it came out, storing the block IDs for the loaded area used up a big chunk of your computer's RAM and had to be optimized as much as possible. So it was 8 bits per block space, and when they expanded to 12 bits, they added on another array with 8 bits per 2 spaces. Now, it doesn't even use block IDs any more. It uses one whole object per block type, one pointer to one…
Got any resources on this? As a kid I never thought about it but as a programmer, I always wondered how you scaled up these kind of problems.
It's fundamentally just a big array of one entry per block space. It was never too big for an average computer to handle - otherwise Minecraft wouldn't have been able to exist yet (maybe that's why it didn't exist until the time that it did) but they've gotten a lot less efficient since then, in the name of flexibility.
Before Minecraft existed I played Cube 2 on "coop edit" mode. Its world structure is an optimization you might be interested in: it represents the whole game world (of fixed size) as an octree. So the map starts as a node with 8 child slots (one for each corner of a cube); each is either completely solid, completely empty, or another node, recursively down to some maximum depth. Therefore Large empty areas and large solid areas are stored in about the same amount of space as small empty areas and small solid areas.
Re: Browsercraft: Java Minecraft in the browser
#80Earlier quoted context omitted.
Java Applets weren't some magical "workaround" for distributing without publishers, lots (well, subjective) of indie developers were distributing binaries via websites at the point of the first alphas of Minecraft. Of course, way more popular nowadays as there are dedicated platforms for it.
the initial scope of minecraft was also in line with the java applet games of ~2005, like the ski simulator. minecraft came well after the applet era, almost to the end of the flash. huh. Minecraft is the taylor swift of video games. the last big star before big tech took over discovery and access for an industry.