Porting Zelda Classic to the web(hoten.cc) |
Porting Zelda Classic to the web(hoten.cc) |
This is happening because the CSS uses `prefers-color-scheme` media queries – you can't use those and also have a site theme switcher.
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.
--edit--
Oldest I could find on the wayback machine is from 1999, but that's a later version that was a standalone exe. http://web.archive.org/web/19991012175711/http://graalonline...
--edit 2--
Here's a nice writeup: https://graal.in/t/graal-zelda-online-historical-thread/1420...
Half related fun fact: I was also behind the very first leak of the SNES Starfox 2 ROM onto the web. One of the devs, which I prob shouldn’t name (though I think it is common knowledge now) was a fan of the site. He got in touch and we did an exclusive interview and ROM release.
It's sad to see it go. I really wish we could have a game experience that had the community graal did. There's not much with that level of involvement for players anymore; it's all now downstream of ivory towers and extremely restricted.
It was my first real social experience online, and inspired in part the hobby projects that led me into software as a career. Thanks so much :)
Random memory: using infinite gold hacks and the suicide dagger (which would the drop gold for other players) over and over hour hours inside the throne room or the castle west of Burger Refuge.
Also when you went to sleep in a bed, your body disappeared and only your head remained visible, floating above the pillow. I found it pretty funny for some reason.
Edit: this was the Java version's homepage: http://web.archive.org/web/19990423103617/http://www.cyberjo...
Although I’d probably get bored of such a game these days, I’d probably have a lot of fun building it out and watching a community grow from playing it.
I sometimes wondered about the developers who built this game. Maybe they were the age I am now when they wrote it. Is it my turn now to build a game like this for some new younger generation? A circle of life? Eh, I don’t know, I feel like kids these days just don’t play these kind of games anymore on a PC.
In fact, developing new content for the game became the fun itself.
Codein here btw (ignore the icky nickname - is what it is).
OP of the writeup: "Goatse" Ah that takes me back.
I guess it's like looking up your ex every now and then. You insensitive clod.
But I didn't realize its main website had been taken down, as I was literally on it a few months ago. Did it die completely? I am no longer able to login with the client.
That's too bad. It really was ahead of its time technologically; it's where my programming life got started and I was intimately familiar with graalscript and GS2.
I owe my career to that game!
Stefan Knorr inspired me to get into development and is a legend in my mind, I recall staying up at 4am walking around in early builds of Graal2K with him and seeing the infancy of "GANIs" (Graal Animations). Unixmad on the other hand...
If anyone knows what happened to Birdbird let me know, he was the most naturally talented level designer ever!
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.
I spent hundreds of hours never completing any of my projects. It was the first online community I ever joined and actively participated in.
Eventually I yearned for for power and discovered Dark Basic. Now I’m a software dev.
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.
My developer career also started with gaming.
The StarCraft map/script editor was my entry drug.
Good times.
Almost as instrumental as my dad's Ti 83 Plus in my eventual career path
I remember getting the Ti83+ in High School and trying to make a Snake game. I followed a tutorial, and I barely knew what I was doing. But man, was it fun!
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.
Might make sense to have dpad be the default.
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.
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.
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.
And while I understand your cynicism, I don't think it's deliberate as much as it's complacency, given that it's latency issues all the way down when it comes to modern user interfaces.
A literal decade ago Microsoft Research uploaded a video highlighting how much of an effect minimizing latency for touchscreens had on the user experience[0]. The vast majority of tablets still utterly suck in this regard a decade later, and I wonder if any manage to get below the 10ms barrier.
And of course there is Dan Luu's famous 2017 article on computer latency in general[1].
Zelda Classic is a very open ended game engine that happens to have Zelda 1 assets baked in
I recall people making entire Metroidvanias with it
God speed to OP.
https://torrentfreak.com/images/storman-judgment.pdf
https://www.documentcloud.org/documents/4615448-Nintendo-Lov...
A similar case is when the PS3 Slim was released without OtherOS support and later removed from existing consoles with a firmware-update that really incited research and development into the PS3 console security, which led to a full break around late 2010 and Sony attempting to retaliate with smear-campaign and prosecution(s) for copyright infringement across the USA and Europe. Some of those were more successful than others.
There have been public emulators for recent consoles from Nintendo and Sony and they've managed to stay up without any cease-and-desist or lawsuits so one would imagine they are doing something correctly to protect themselves (such as not being associated with piracy and some of the shady monetisation involved with that).
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.
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...
10 years later, there's still that one single room and single character that were implemented, but it was still fun times.
I got pretty far but there would have been years and years of tweaks to get it just right, so I gave up.
Apple users need to ask Apple to use a tiny bit of their fortune to make it possible for developers to test Safari and Safari Beta on their preferred OS/device, otherwise small projects can't support it.
>WebGL does not support that, so the entire shader needed to be redesigned
I'm blown away how WebGL has come along. But then theres people like this. Great job!
I am 52 years old.
An MMORPG based on the game Secret of Mana, started around 2003-2004.
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?
Just add something like a framebuffer and mouse input to web assembly. Distribute via IPFS or something.
But yes, Wasm is not just for the browser, you can run it in Node. Or a custom runtime: https://wasmer.io/
The idea that web assembly is not meant to be the platform to run primitives on stems from the political and technical approach initially used to get web assembly inserted into browsers. The basic concept is that it was much easier for people to accept if it was "only the compute part" and also practically speaking only made sense to leverage the extensive UI and other functionality of the browser. Which made it very easy to say it's just for compute.
It's amazing that people are still stuck on that. That just goes to the power of PR and poor adaptability of the average brain. Even Brendan Eich was in a web assembly issue wondering when they were going to add some kind of minimal UI functionality.
Look at for example the web assembly shell and WASI to see how input / out has reluctantly been added to make it so these systems can have some utility on the server.
The only real reason that there hasn't been something like a serious extension to WASI for UI things is because people accept the status quo. We will forever ship a large monolithic overlay operating system controlled by a single megacorp and everyone will use that.
Except for one "competitor" which actually is also mostly controlled by the same megacorp.
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.
One very minor suggestion: Can you tell me what keys to use (in the UI)?
I figured out the arrow keys, but I just don't know what keys map to A & B.
And your solution is... start bundling Other APIs (mouse, keyboard, presumbly touch, a frame buffer) into wasm runtimes?
Then I guess later people will also want, midi, serial/pipes, audio, simple GUI, shaders, opengl, accessibility, screen readers, sockets, account sign in, webcam acess, notifications ... All in a nice cross platform bundle
Then the rest of the features should not be one monolothic bundle. Because what that does it make it so that you have to implement every API in order to be compatible with the platform. Which is impossible unless you are a large corporation.
The platform should be carefully explicitly designed to allow subsets of functionality to be implemented and distributed.
Again, starting with the very most basic UI stuff as one common chunk. Without all of the other features and devices.
The point of this is to make it feasible to have many implementations of different types of browsers or subsets of functionality. This prevents us from being locked into a single dominant vendor or two.
The information browsing can actually be the first subset of functionality. Very simple small vector images and a relatively small amount of RST or markdown. Many different groups can make information browsers.
Then you have the next level up / type of functionality which is basically web assembly SDL. This would be used separately but in conjunction with the information browsers.
You could standardize on another set of functionality with shaders and networking support. Or, if you do it right, it may be possible to create a common web assembly interface for each feature, and package up the additional features into something like device drivers which could be shared across "extended" browser implementations. This would allow for diversity of extended media browser implementations as well as alternative "drivers" to be available.
Graal Online doesn't even have a Wikipedia article. Like there ought to be a tomb stone.
[0] - https://de.wikipedia.org/wiki/Graal_Online
[1] - https://archive.ph/77B1o
For the classic quests that remake original games, they are made in the ZQuest engine so I'm not distributing any ROMs. However, there are some videogame music files which may be ripped from the ROMs (not sure on their origination). And the graphics are obviously taken from the games too.
Although, pretty much every quest uses some sort of copyrighted material (these are fan games after all). Not sure if any of this falls under fair-use.
I think in many way Neverwinter Nights' persistent worlds is another noteworthy entry. They weren't massively multiplayer, but I think more like a cross between Baldur's Gate and a MUD.
I wouldn't call WoW the first that defined it, or even the first wildly successful one that did. I never played any of them, but EverQuest was huge back in the day. If we are willing to lower the bar of success, there's predecessors to EverQuest as well.
Then again, maybe there's something very different than WoW and EverQuest that I'm not aware of? They seemed pretty similar from the outside.
The concept of 'shards' which many MMO games embraced (sometimes not even supporting as many players). Only Eve Online really rejected the idea.
The in-game 'economy', by having player craftable items, done in a way that IMHO was way better than what WoW came up with. It wasn't restricted to crafting. Mages could charge for portals, ditto for healers. There was robbery - you could either demand money or pickpocket people.
Law enforcement was limited to cities and had to be called.
Housing! That was actually in world, not another instance. There was actually a real state market. And scouting for empty spots was a viable 'profession', even if informal.
Full PVP - in fact, I'd say that the non-PVP servers actually caused its demise.
One concept that was not embraced by later MMO games was 'no levels'. Only had skills and attributes. And items were not a big deal. Sure, you could yield a very rare magical sword, but are you really going to risk losing it? Most people would fight with cheap weapons and armor and only take out the special stuff in limited circumstances.
I could go on.
I think there's a modern 'Ultima' game that could be birthed from what Origin came up with decades ago.
Before WoW, there were a lot of different multiplayer games. After WoW, there was almost only WoW and WoW-clones (often down to mimicking the art style).
WoW IMO killed Star Wars: Galaxies, which was exploring a more "open world" style of game; subsequent expansions progressively dialled back the classless system and player generated content.
More traditional repetitive grind MMOs remain popular in some parts of the world, but it's either EverQuest style or WoW style MMOs now.
> Then again, maybe there's something very different than WoW and EverQuest that I'm not aware of?
Agreed that WoW did not define what an MMO was, a lot of the perception has to do with timing. More people had access to a decent computer and reliable internet when WoW came out than in the mid-late 90's. I think of BBS door games and MUDs I played as a teenager as what defined MMOs (personally, not generally). To me those were huge, playing games with random people I would never meet at a time when the other options were 1.) passing a controller around or 2.) literally carrying computer equipment to random LAN parties.
But it was UO that made the big commercial splash, the marketing was on point. It was this new thing called a Massively Multiplayer Online RPG. This new world where you could be someone else. A place you could just log in to go fishing, or save up to buy a boat to find better places to fish, hunt and mine ore. And placing your first home, which was probably the smallest most useless building in the game, was yours. Your little safe haven in this new crazy virtual wild west that didn't stop evolving just because you had to go do homework. I was obsessed with MMO's after that, and obsessed with being one of the first to play. Luckily I ended up in one of the first areas to offer cable internet in the late 90's as these MMO's were doing beta test sign ups - having cable internet usually got you in early.
EverQuest was the game changer (for the more mainstream gamers, Meridian 59 was the first 3D MMO and it came out before UO). I remember the first day in EQ, standing outside in the noob area and the chat was full of people in complete awe. There was nothing even close. I ran around with a couple other people trying to see as many locations we could get to without dying and not even trying to level.
Shortly after EQ, was AC - Asheron's Call, which gave us the beautiful 3D world without the annoying (loading)zones of EQ and others, freedom atleast. I probably played AC the most while mixing in others I had missed or got beta invites. When WoW came out I refused to play it (still haven't), I was a big fan of Warcraft. I thought what they did to it was sacrilege and viewed it as the place for the new gamer-generation to pick up their participation trophy cause they couldn't handle the grind of a real MMO. They should suffer as I suffered.
As for MMO's that I found different, EVE for sure.
Project Entropia - was/is? the only one I know of that used real money for the in-game economy. You could literally play for free and make money from selling stuff from hunting, crafting, mining. I had about $200 I never cashed out (earned, not deposited) and I think my account got purged from not logging in for 2+ years at one point, or so an old email said would happen.
World War II Online - this game was def for people who would do cosplay US Civil war reenactments, but for WWII. Was a little much for me, but it was the foundation of my love of Battlefield games.
A Tale in the Desert - this one was fun when I played, I loved the concept. Its played in 1+ year long episodes where society has to pass test and challenges and work together or not. If you like crafting with a large side of real social politics that will determine if this years episode is "won", this is the game for you.
Hattrick Football Manager - browser MMO that is unlike any browser game I have played since (I played in the early aughts), if you like manager type games it was addicting. So much so I am right now trying to not make a new team and get sucked down that rabbit-hole again: https://www.hattrick.org/en-us/
Mortal Online - this was the last one I was actively engaged with, as I was trying to re-live the first days of UO, I went back to UO many times and nothing else ever felt the same. MO was trying to re-live it as well. No levels, huge crafting, hunting, exploring taking over cities. You could collect other people heads as trophies. It was ambitious and promising during beta - then completely unplayable after launch. MO2 came out recently, not sure how it is.