I remember about 20 years ago there was a (IIRC) Java Applet-based multiplayer clone of Zelda: A Link to the Past that was sort of a forerunner the to MMORPGs we see today. It changed names to Graal Online because of the lawyers.<p>Thinking back to it, it was really ahead of its time, not only because it was massively multiplayer, but it had a great level editor and was doing user-created content in the late '90s.<p>--edit--<p>Oldest I could find on the wayback machine is from 1999, but that's a later version that was a standalone exe. <a href="http://web.archive.org/web/19991012175711/http://graalonline.com/index.htm" rel="nofollow">http://web.archive.org/web/19991012175711/http://graalonline...</a><p>--edit 2--<p>Here's a nice writeup: <a href="https://graal.in/t/graal-zelda-online-historical-thread/14203" rel="nofollow">https://graal.in/t/graal-zelda-online-historical-thread/1420...</a>
Zelda Classic holds a special place in my heart.<p>My older brother downloaded it thinking it was just a Zelda 1 clone. I discovered it had a quest editor. And it was a very magical moment for me.<p>I spent hundreds of hours never completing any of my projects. It was the first online community I ever joined and actively participated in.<p>Eventually I yearned for for power and discovered Dark Basic. Now I’m a software dev.<p>Zelda Classic was a major spark in my life. And it’s a really cool piece of software. 100% original code, (obviously the default assets are lifted… from another project). It’s got to be a 20 year old project at this point.
TIL about Zelda Classic which has apparently been around a long time <a href="https://www.zeldaclassic.com/development-history/" rel="nofollow">https://www.zeldaclassic.com/development-history/</a><p>Very cool port, I like that it tries to integrate it into the browser features instead of calling it a day after compiling. The lack of D-pad support is a bit jarring considering gamepads are supported but it was still very playable.
I'm ashamed I haven't heard of Zelda Classic. As a Nintendo fanboy (my github handle is kintendo), I thank you!<p>Also thank you for this work! When WASM was first announced this is the kind of project that I envisioned we'd see more of. Instead, everything has been mobile-centric and app-centric but you give me hope.
Just today I ended up giving up on HTML5 gamedev because of the Chrome extra frame of lag issue:<p><a href="https://www.vsynctester.com/" rel="nofollow">https://www.vsynctester.com/</a><p>If you have Godot or Unity or some other game engine that does web exports, try playing the native and web versions back-to-back of any game that draws a software mouse cursor, and don't hide the native hardware cursor so you can compare how much the software cursor lags the hardware cursor.<p>The cynic in me says Google deliberately adds lag to browser games to guard the multi-billions of Play Store game revenues. Web audio has 300ish millisecond latency on many (not all) Android devices.
Thank you! I had never heard of Zelda Classic before, but I'm also not much of a Windows gamer. Porting it to WASM indeed lets me play this when I wouldn't otherwise -- thank you! Awesome work!!
Wow, the link[1] to the custom games ("Quests") made using the engine shows a lot of things that look fun to play.<p>1: <a href="https://www.purezc.net/index.php?page=quests&sort=rating" rel="nofollow">https://www.purezc.net/index.php?page=quests&sort=rating</a>
Very neat to see this isn't just a re-implementation but provides some modernization by providing extra menus, and persistent storage. Great work. Helps make me feel a little less bad to download multiple MBs for what would otherwise be a small emulator + 64KB ROM :)
edit: typo
This is as awesome as it is illegal :)<p>God speed to OP.<p><a href="https://torrentfreak.com/images/storman-judgment.pdf" rel="nofollow">https://torrentfreak.com/images/storman-judgment.pdf</a><p><a href="https://www.documentcloud.org/documents/4615448-Nintendo-Loveroms.html" rel="nofollow">https://www.documentcloud.org/documents/4615448-Nintendo-Lov...</a>
It reminds me: a decade ago, I had the idea of porting Baldur's Gate 2 to the web: <a href="http://lumakey.net/labs/battleground/demo1/" rel="nofollow">http://lumakey.net/labs/battleground/demo1/</a><p>I initially played with EMSCRIPTEN as well, starting from GemRB, an open-source reimplementation of the engine. But that was boring, as I wasn't really getting any sense of how things were working under the hood.<p>So I started reverse-engineering the various file formats (a website called IESDP had most things figured out already) and converting them to PNG, JSON and other web formats. At that point I only knew PHP which made it a pain to work with binary data. Then, I started rebuilding the game from scratch: pathfinding, streaming huge maps using small tiles, animations...<p>10 years later, there's still that one single room and single character that were implemented, but it was still fun times.
This is an awesome explanation about how to port a real (and tricky) native project to WASM/Emscripten. Sadly, the game itself seems to crash in Safari after walking around for a bit.
This is amazing work.. And infact this is the first "Chrome APP" I have allowed to be installed!<p>>WebGL does not support that, so the entire shader needed to be redesigned<p>I'm blown away how WebGL has come along. But then theres people like this. Great job!
Not on the web but there is a game engine dedicated to zelda-like game <a href="https://www.solarus-games.org/en/games" rel="nofollow">https://www.solarus-games.org/en/games</a>
Oh this is super exciting! I used to be on the dev team for ZC as Joe123 back when I was a teenager, I mostly worked on the scripting language. I left the community about 10 years ago and I haven't seen anything about it since then. It'll be great to have a play on this sometime
This reminds me of The Mana World<p><a href="https://www.themanaworld.org/" rel="nofollow">https://www.themanaworld.org/</a><p>An MMORPG based on the game Secret of Mana, started around 2003-2004.
Is there any work to unbundle web assembly applications from the browser? And further, break apart the monolithic web platform API bundle into something like device drivers?<p>Because let's say you just wanted a 2d game engine using SDL without shaders and using the mouse. Why do we need to drag the entire browser with 1000 APIs and features into it?<p>Just add something like a framebuffer and mouse input to web assembly. Distribute via IPFS or something.
PURE GENIUS the photo at the very end showing the gadget connecting a smartphone with an Xbox controller:<p><a href="https://hoten.cc/images/zc/gamepad.jpg" rel="nofollow">https://hoten.cc/images/zc/gamepad.jpg</a>
On sprites, the Fanwor project has some which are lookalike to the ones of the Zelda for the NES.<p><a href="https://git.tuxfamily.org/fanwor/fanwor.git" rel="nofollow">https://git.tuxfamily.org/fanwor/fanwor.git</a>
Great writeup!<p>Trying it out, it does not load in Firefox 81 (potentially due to some restrictive security setting here?) but runs great in Chromium after an update.
Awesome!<p>One very minor suggestion: Can you tell me what keys to use (in the UI)?<p>I figured out the arrow keys, but I just don't know what keys map to A & B.
The site's theme makes code unreadable when the OS color scheme is Light: <a href="https://i.imgur.com/2Sduvye.png" rel="nofollow">https://i.imgur.com/2Sduvye.png</a><p>This is happening because the CSS uses `prefers-color-scheme` media queries – you can't use those and <i>also</i> have a site theme switcher.