Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
We Burned Down Players’ Houses in Ultima Online (cotten.io)
564 points by yreg on Oct 3, 2022 | hide | past | favorite | 258 comments


This reminds me of the assassination of Lord British: [1]

"Lord British was a player character created by Richard Garriott, the producer of Ultima Online. Using this character, Richard acted as Ultima’s King and would sometimes interact with other players. Lord British had considerable protection from an entourage of bodyguards and was even explicitly coded to be invulnerable to virtually any attack. During the game’s online beta test, Lord British gave an address to fellow players at his Castle Britannia. But while British was giving his address, a player character known as Rainz cast a spell scroll that set the Lord on fire, killing him instantly.

"It turns out that shortly before this event, the server had crashed and needed to be restarted. Garriott forgot to reimplement his invulnerability flag, leaving him open to being killed. If that wasn’t shocking enough for the attendees, a fellow developer of the game known as Starr Long, with his in-game character Lord Blackthorn, summoned a horde of demons to kill the assassin. Not only did the assassin manage to escape, but the demons had killed nearly every player attending the address..."

[1] - https://www.cbr.com/ultima-online-lord-british-assassination...


I think Garriot said originally he stepped out of the fire instinctively. Then remembered "Wait I'm invincible I can stand in fire." Then proceeded to stand in the fire and die.

Which is kinda funny as it's become a meme about WoW players standing in fire and dying when they couldn't just moved. (To much frustration to healers)

https://wowpedia.fandom.com/wiki/Stay_out_of_the_fire


Don't think it's related in any way to wow thing aside from a fact you can stand in fire in both games...

But I remember telling our DPS "THE GREEN FIRE DOES NOT HEAL YOU" in some boss fight...


That’s mostly just poor game design as players don’t worry about standing in fire when leveling up. MMO’s tend to add such arbitrary new gameplay mechanics in raids and nowhere else. Then everyone gets annoyed because players can only really practice in raids.


In UO standing in fire walls was a method people used to skill up. UO was skill based, not level based. And you gained skill points by doing those actions. A good way to have a group build up spell resistance was to cast fire field, everyone stands in the fire, and have someone cast heals. Casting the field and the heals also improved casting abilities


Rainz was allegedly was banned from Ultima Online and all other OSI games for life.

Rainz had used a Fire Field scroll on Lord British without any real hope that his assassination attempt would be successful. When Lord British died Rainz admitted he was in complete shock and even burst out in laughter. Rainz faced immediate repercussions from Ultima Online programmers and was summarily banished from the game. The official reason for his banning was said to be because of the sheer number of complaints other players had filed against him due to his playstyle. He was also banned from all future OSI games, however Rainz refused to rule out that he might continue to play under another alias.

https://clanet.io/wiki/Ultima_Online/Beta_Pacific/Rainz


Rule #1: Do not embarrass the dictator.


Yeah, that was shit, when someone beats you with the rules you yourself wrote, don't be angry.


Wow, talk about a train wreck lol.


Thus continuing the time-honored tradition of the entire Ultima series: trying to find a way to kill Lord British. Garriot's self-insert is the king of the land of Britannia in pretty much every one of the games, and there's some way to kill him in just about all of them.

https://ultima.fandom.com/wiki/Killing_Lord_British


It was incredible marketing for the game. I remember all the gaming press wrote about it. It would just inspire you to try to play the game.

If someone made an MMO today, it would make sense to stage similar events to get some nice viral marketing. The 'corrupted blood' incident in World of Warcraft gave the game a lot of free marketing even in normal press - who loved to write about it. From what I understand (many?) players enjoyed the few days of chaos too. https://en.wikipedia.org/wiki/Corrupted_Blood_incident


It really wasnt fun in the event the fun part was how it spread all over so fast afterwards and peoples reactions, the ingame experience for most was just dying over and over again :)


Ultima Online was an absolutely amazing game and it's pretty telling that despite all the technological advances since, no game whatsoever came as close as Ultima Online to fulfilling the promise of the Computer MMO: a virtual, shared, persistent world.

Maybe Star Wars Galaxies was the one who came closer.


Playable Worlds is working on an MMORPG that should come pretty close to the original idea. Raph Koster - one of the designers of SWG - is heavily involved.


Wow, I didn't know that! Gonna check it out.

Making an MMO true to the name is probably my dream lifetime project. If I had f-u money it's absolutely what I would be doing.


I remember when MMO's were fun like this :(


Maybe we just grew old. I recently paid real money just to support a private server of my favorite childhood mmorpg. After playing a couple of days I got bored and never played again.


To be fair it does feel like something changed, online games used to feel a lot more social. As a kid you could just jump into an MMO and make new friends, that seems to have gone away now.

I guess they served as a proxy for what we now have with Discord, and now that we have "the real thing", its kind of naturally gone away. Which is a shame, because meeting people over Discord is much more difficult imo, or at very least not as beginner friendly.


> As a kid you could just jump into an MMO and make new friends

Some of us were past "kid" when UO came out :)

But I do think the key phrase here is "as a kid". I was in university when UO came out, and it became my life. I had some strong social interactions with a bunch of people, although they tended to skew my age or older. However there was an obvious pattern. These were mostly people who did not have to take care children, either they hadn't had them yet for one reason or another, or their kids were already older.

There was a bunch of us who stayed in touch and played other games, but as the main pack of late 20-something & early 30-somethings started to have kids, they faded off. This wasn't the only reason, other types of responsibilities pulled people away, but it was the big one.

It's easy to sink time into things when you don't have huge time sink responsibilities in your life. And when you sink lots of time into social things, you tend to make strong connections.


The problem with re-playing an old game I think is that it's already "solved". There's no sense of adventure or mystery any more, and it just becomes a race to accomplish whatever objectives the player base comes up with. WoW Classic is a great example of this - people had Ragnaros down in like 48 days after launch or something ridiculous.

Even though it's not an MMO, I caught a brief glimpse of that same feeling earlier this year playing through Elden Ring. No one really knew anything and the world was huge and inscrutable at first, it was a lot of fun to explore and sort-of interact with people doing the same thing through messages, ghosts etc.


Same thing happened with me and WoW Classic. I was hoping that classic would recapture the magic I felt playing the game a decade ago but after a few days I was just bored and cancelled my subscription. I guess that feeling is just a moment frozen in time now.


I was hyped for Classic for YEARS and when the release date got announced I booked a full week off work (and with the missus lol) so I could no-life it just like old times.

If the community could have had their memory wiped of Vanilla on launch day it would have been a different experience. But instead we just ended up with a bunch of seasoned veterans min/maxing everything to the extreme and burning through content they'd already solved more than a decade ago.

I still re-visit Classic every now and then, maybe just to level another character up to level 15 or so and re-experience the starting zones I like so much. But it doesn't have the same allure as when it was brand new and that's kind of sad.


The game could return to what it was but the community couldn't. You can't recapture the past like that. Everything has moved on. The game is known, not new again.


Playing "solved" games is not as exiting. The effect is most clear with boardgames I think. Also if you were a kid at the time way more things are exciting in gemeral.


> Playing "solved" games is not as exiting. The effect is most clear with boardgames I think.

While this is probably usually true, a good counter example is Go, which actually become more fun after computers surpassed the abilities of humans. (Because, as it turns out, the boring parts of the game don't actually matter that much in terms of points.)


To be fair WoW is a completely different beast from Ultima. They might as well be different genres.


IMHO the fun drained away when MMO publishers decided to refocus on making money. Ironically this caused most of them to go to a Free 2 Play model (F2P), which requires the developers to implement ever increasing amounts of grind to create a market that can be monetized. To spend creative energy on building elaborate gambling systems to lock away as much of the content as they can get away with from the majority of the playerbase.


Which server and game was that?


Asheron's Call?


Ultima online just seems to have so many awesome stories.


I was there that day.

>>"It turns out that shortly before this event, the server had crashed and needed to be restarted. Garriott forgot to reimplement his invulnerability flag"

I never believed this...

it was a fn PK game.

I doubt he had such a flag.


I worked for Origin at the time as a UO Admin using the handle GM Snarf, we had a control console on our standard installs which allowed us to toggle "god mode", "smite", cast spell, create item, create gold, summon monster, etc. If you forgot to toggle god mode after logging into your avatar stupid things would happen and the players would screen shot it to spread the fun. I remember forgetting to toggle it before responding to a customer call and getting insta-killed by a dragon.


So you are personaLLY to blame?


Of course GMs and staff had invuln flags... the Lord British character didn't play the game normally, he appeared for events.


Reminds me of the "TROLL-FLAG!-FLAG" in Zork!

https://news.ycombinator.com/item?id=31846457

DonHopkins 3 months ago | parent | context | favorite | on: Random Ultima Online anecdote #2 – Horses inside p...

My favorite object containment related ZORK bug (which I discovered in the origin ZORK on MIT-DM, but which persisted in the InfoCom version), involves the troll holding an axe, blocking the door to the depths of the dungeon, who eats anything you give to him:

    >GIVE AXE TO TROLL

    The troll, who is not overly proud, graciously accepts the gift 
    and not having the most discriminating tastes, gleefully eats it.

    The troll, disarmed, cowers in terror, pleading for 
    his life in the guttural tongue of the trolls.
To have killed him in cold blood then would have been cruel, so I tried something else:

    >GIVE TROLL TO TROLL

    The troll, who is not overly proud, graciously accepts the gift 
    and not having the most discriminating tastes, gleefully eats it.
POOF! No more troll!

(I've actually been able to successfully apply this technique of giving HN trolls their own weapons (quoting their own words back to them), then giving them to themselves (pointing them back to their previous posts), to make them disappear from HN!)

https://news.ycombinator.com/threads?id=anticodon

https://news.ycombinator.com/item?id=33070863

But giving the troll to itself triggered another bug, because apparently it forgot to clear the TROLL flag, so you could still not leave the room, because when you tried to go through the exit the troll previously blocked, it said that "The troll fends you off with a menacing gesture." even though there was no troll in the room.

Decades later I finally found the Zork source code, and it turns out there was actually a troll flag called "TROLL-FLAG!-FLAG" that it forgot to clear, which the exit depended on.

I wrote up the bug in more details, with links to the source code:

https://news.ycombinator.com/item?id=19672436

[...MDL Zork source code and analysis at the link...]

https://news.ycombinator.com/item?id=31846457


Thats fine, im just saying as one of the most prolifics (we were the 24/7 testers at intel) etc... and being there that day - no way this wasnt lit on by default, if exist...


So spend man-hours on developing a feature for one player in the game.

or just tell them to type that command once in 2 weeks when he logs on

Yeah good fucking idea, let's waste dev time on that!


Yeah this death was lit dev / corp communication


Yeah, they could have caught this with even the most basic Github Actions workflow.


I don't know if you're joking but Ultima online was obviously released 20 years before GitHub actions existed


Good point. Still, this could have been caught by fuzzing, which is a term coined in 1988.


Kids these days... ;)


Easy to imagine that it existed, probably very useful during development


As someone who got involved in an open-source version of the Ultima Online server, this is a fun read

Instead of `areaserv` like the article talks about, RunUO had the concept of sectors within a region[1]. Sidenote: To this day RunUO is one of the easiest codebases to understand i've ever come across

We too had a pretty bad item duping bug, around how banks allowed you to create checks with money, and an overflow bug leading to people being trivially able to print money — this led to runway inflation in some servers.

UO economies themselves being matter of study, for a Really interesting article, see [2]

[1]: https://github.com/runuo/runuo/blob/master/Server/Region.cs

[2]: https://static1.squarespace.com/static/5bf1bc95506fbe3baadb7...


> As someone who got involved in an open-source version of the Ultima Online server, this is a fun read

Ultima Online emulators were what took small interest for me and blew it up into a career. But for me, it was pre-RunUO: SphereServer (aka GrayServer, I think) and UOX3. C++, with its own scripting engine built in. It wasn't exactly closed or open source. It also got me into Linux: while some emulation servers were run on home PCs, others were run on hosted machines. Debugging often meant the server administrators would give you root access to debug their running server. New Ultima Online releases meant being late for school to try and debug the client code changes to be able to quickly update the server, otherwise no one could log in.

It was incredibly buggy and never, to my knowledge, reached feature parity with the full game. The workarounds individual servers made through the rudimentary scripting language was impressive (many of these hacks were then copied into the core emulation scripts).

For trips down memory lane, these sites are still live -- and being updated? Wow.

https://www.sphereserver.com/

https://www.uox3.org/


There was another server software prior to SphereServer, which I just cannot remember the name of. Despite running a server off it for 2 years.

Probe is one of the developers of Sphere who was admin to NOS (Novus Opiate Seclorum)

I believe he rebuilt NOS on POL which ultimately died :(

After NOS died I was admin for a shard which I think was called UOX, and built a server called Alphanine which we had ~250-450 players on. That's what got me into programming, at the time I believe I built the first in-game capture the flag (unaware of any other shard doing it, but got the idea from Team Fortress)

I really miss UO and the feeling I got playing as a kid. Nothing to date gives me that same feeling.

https://www.polserver.com/


I was like 10 years old when I started playing on free shards - was even GM on one that had about 100 players and I remember putting an event together with giants invading a town and I had made a whole mini town out of little model houses in the mountains...

There really was something about it...I used to play with my brothers and we were just the absolute worst griefers but man did we have fun. For us, it was the lawlessness of it all. That you could actually steal from other players and it was a valid part of the game with skills like hiding and stealth to make it easier... My favorite was filling a pack llama with greater explosion potions, "all drop" and then magic missile-ing it in the middle of a crowded bank to kill everyone nearby.


Can you imagine that there are servers which is running on sphere to this day? It will be like 23years of runtime for this one server in CZ. Czechs had a lot of servers, I remember time when there was like 15 different server running, each with own lore and everything. Great times.


There's also now an open source recreation of the original client, all written in C# that actually uses a GPU so it renders 4k at 250fps instead of 800x600 at 12.5fps. It's a very mature and stable reproduction at this point.

https://github.com/classicuo/ClassicUO


Now if they could just eliminate the grind, and get a thriving player base again!


https://uooutlands.com/

Over 2k active players daily (edit: by active I mean there are over 2k players logged in and playing at any given time). The devs are incredibly active, and there is a lot more to do here than original UO.


I tried playing uo outlands, but what really struck me was the lack of bugs. Tbh my favourite part of playing uo back in the day was exploiting bugs so uo outlands isn't really for me


As an alternative, may I offer you a wasm port? https://play.classicuo.org/

(I've never used this but I heard it runs well)


f. on a monday.. come one i gotta get work done. now i gotta go afk for the week a nd blame it on pg&e


It's Tuesday man


UOForever is quite active.


That's an amazing paper. Non-PDF version is available too [1]. It's quite a laugh and really makes you think. A lot seems obvious to me as a sometime-MMO player, but this was written almost 10 years before I started playing MMOs! I think my favourite bit is this:

> Indulgences. Services such as ‘red hair dye’ which players are willing to pay for but which don’t cost server resources. Extreme examples might be titles; for example, 10,000 gold buys a character the title "lord".

I think I'm going to call such features "indulgences" in the future.

> At first, the designers attempted to solve the deflation problem by pumping more resources into the world – they simply increased the total quantity of resources in the bank. But, no matter how much they added, the resources always flowed into inventory and just sat there. The problem, they concluded, was the lack of drains – not enough stuff was flowing out. However, players are (understandably) extremely resistant to rule changes which take things away from them. Thus, significantly increasing the decay or degradation rates is politically unfeasible. New drains were proposed: taxes, maintenance fees on housing, etc. Unfortunately, many of these drains feel too much like real world "work" and are therefore politically unacceptable. [...]

> Many may argue that this economy is not real; that it is merely a simulation. However, this misses the point. UO players are engaging in this commerce voluntarily; in fact, they are paying real money for the privilege! Proof of the reality of the economy can be obtained by observing the real-world prices fetched by players who auction off existing UO characters and property on the electronic auction house ebay.com. As of this writing, one character sold for $2000! It is this economic reality which makes UO a potentially very interesting research platform.

[1] https://web.archive.org/web/20150709101636/http://www.mine-c...


> UO economies themselves being matter of study

More than that, in regard to MMOs in general: both Cory Doctorow and Neil Stephenson wrote books involving exchange of money in MMOs, remarking that bringing a bag of gold to another dude in the game is an actual method of transferring money cross-border without oversight, used by mobs. I vaguely heard (and again mentioned by Doctorow) that the size of economy of larger games like WoW can dwarf not-so-small countries.


Though the latter bit about the ‘size of economy’ is doubtful to me: the populations of top MMOs are in millions each, but surely the players don't spend the sums of their monthly rent and food bills in the games. This report from January 2021 puts the daily volume of transactions in WoW at about two million USD: https://massivelyop.com/2021/01/21/world-of-warcraft-players...

I eyeballed the rate for late-ish 2021 from this hastily found site, at 20 bucks per 200k gold—seemed to change little in the past year, so hopefully holds true for January 2021 as well: https://www.playerauctions.com/market-price-tracker/wow/


ModernUO is the most advanced implementation of RunUO/ServUO, worth checking out if you're starting a new project that isn't based on the newest UO content.

https://github.com/modernuo/ModernUO


So I can fire up a TOL server today?


Hey I learned to code thanks to RunUO!


I learned C# and landed my first coding job thanks to it too


> Not that I’m saying MMOs need blockchains;

I would hope not! Lots of MMOs exist, for example.

> but it turns out Proof-of-Work ledger technology had a use case here!

Right, blockchain and more narrowly Proof-of-Work have loads of use cases. They're just the worst solution available for almost all of them.


Yeah this seems like another "how is that better than a centralized database" situation


Pretty much every MMO has implemented some type of censorship/shitty rules, so no company can be trusted to run a game


Few people actually enjoy being in a community without moderation though.


Not to speak for a whole community but I think the decentralization idealist would say that people can do their own moderation, instead of relying on a central entity which makes the same broad rules for everyone


That's how Second Life works. Landowners can eject or ban people from their land. This is entirely at the discretion of the landowner. People are always complaining about having been banned from clubs, but there are hundreds of clubs, run by hundreds of people.

This is far, far better than having "moderators". In practice, social media moderators come from the same pool of people that staff low-end call centers. Arming them with ban hammers while giving them anonymity and lack of accountability creates major headaches of its own.

Second Life does have a few paid moderators. A user has to file an abuse report to make anything happen, and in a few days, someone will process the trouble ticket. Policy is not to attempt to intervene in resident to resident disputes at all.

What makes this work is that it's a big, sparsely populated world. A user's radius of annoyance is about 100 meters, and the whole world is about the size of Los Angeles. So, jerks are local, even with over 50,000 people logged in.

The metaverse crowd, if and when they actually create big virtual worlds with large numbers of users, needs to understand this.


Isn't everyone doing their own moderation exactly the same as no moderation?


Not really. Take Minecraft for example – before the acquisition by Microsoft, servers were entirely run by individuals/groups who set their own moderation policies. Some servers were entirely PG-rated, some allowed cursing/sex stuff/etc. Mojang technically still had some level of control over things like skins (which were centrally managed), but otherwise it was choose-your-own-moderation for each individual server.

However recently (and widely discussed on HN[1]) Microsoft has started censoring the entire ecosystem, to the point where you can get banned from all servers for chat behavior in one server, because your MC account is now your MSFT account. So they can just ban the latter to block you from all of MC (except for cracked servers).

[1] https://news.ycombinator.com/item?id=32772810


But the point of an MMO is to share a space with thousands of people so individual servers with differing rules don’t really work in that context. And individual servers doing moderation is the same as individual server based games doing moderation, it’s just a difference in scale. I’m sure there are loads of other games people can play. For example Rust is infamous for a lack of moderation and has all the racist and otherwise edgey content in it your heart desires.


Ultima had plenty independent (pirate) servers with vastly different cultures and even game mechanics. Even WoW, I think, has servers with different moderation - those that require roleplay and those that don't. Unified experience IMO would be a detriment for most games.


Those servers still had moderation. Very different from "no moderation".


There's no difference between a Minecraft server implementing moderation policies and an MMO implementing them. The self-moderation we're talking about would be on an individual level.


a minecraft server yes, but this is forcing same set of rules to every server


That's not what we're talking about though.


Yes it is, we're discussing moderation coming from a single source vs moderation from many different sources.


We are not. We are discussing moderation vs no moderation (i.e. where you need to block every troll yourself).


> people can do their own moderation, instead of relying on a central entity which makes the same broad rules for everyone

"People doing their own moderation" includes a community of people who get together, appoint moderators, and enforce their own rules.


Moderation on Minecraft servers are done by admins, just as it's done on MMOs. Both controlled by a central entity. What is the difference?

The people appointing moderators are part of the central entity, unless you mean that the trolls being muted also have a say in it. Show me one such server that is not a tiny one with just a bunch of friends, where moderation is not needed anyway.


You still have centralised moderation there - moderation is centralised on the server admins.


Yes, the world is not black and white, there are levels of decentralized.


Not at all. Doing your own moderation depends on having the tools available to mute/censor/block people you don't want to hear from.

For example, I used to play Rocket League. I played either solo or teamed exclusively with a few friends and mutual acquaintances. They have various settings to mute the chat and comments from other people. I'm not interested in all in hearing flames or nonsense chatting from random people I'm playing against, so I have all chat muted except for team chat (people I know and choose to team with). This is doing your "own moderation", and is the ideal circumstance is far as I'm concerned.

Unfortunately, however, Rocket League doesn't allow you do your own moderation, despite the proper tools being available. One time, someone I was teamed with (who similarly had all non-team chat muted), typed something in team chat that ran afoul of Rocket Leagues sensibilities, and they subsequently received a week-long ban. Nobody could see this chat except our team (myself and this other person). We had already engaged in our "own moderation" by muting everyone else. This was an overreach as far as I'm concerned, and would far prefer to have the power to see and hear what I choose, and not what the platform chooses.


Rocket League is a bad comparison. You only have at max, what 5 other players, that you need to block if necessary. In an MMO without moderation you wouldn't be able to keep up with blocking every troll spamming even if that was all you did.


An MMO without central moderation would mean a chat with 99% trolls spamming and even if you spent all time blocking people instead of playing you wouldn't be able to keep up.


To welshwelsh's point, he wasn't advocating for no moderation, but rather good and limited moderation. For example, I doubt most would have an issue with something like moderation over cheating.


Most cheaters do — but they’ll represent their viewpoint in terms that claim a “greater cause”, such as individual liberties or rights or whatever, so that they can try to rabble-rouse the crowd against enforcement in order to continue cheating. (This occurs with kernel anti-cheat drivers, for example, but there’s no way to measure what percentage of folks that is.)


Christ, if a game needs access to my operating system runtime to function, I think I'll just play a different game. Might as well just give them every file on your computer and a list of every connected device at that point.


Kernel anti-cheat drivers??? You mean the game is hooking into the OS kernel, with privileged access? That's not okay in any case whatsoever.


No need to act surprised, and a rabble-rousing post isn’t necessary here. This is HN. We go around the same circular warpath about kernel anti-cheat drivers every few months for the past five years, and your argument is a poorly-presented rehash of a common viewpoint from those many, many discussions.


Eh, we are talking about games hooking into OS kernels, "rabble rousing", if that's what you want to call it, absolutely is necessary. Do the games even notify the users that this is happening and what exactly it means to the security of their computer - the tool they (or their parents) probably use to manage their entire life on? I really don't think so.

Regardless of what you might think, since I'm not a gamer (the isometric Ultima Online was about the last game I was interested in, more than a decade or two ago) this is the first time I heard about it - and it's completely insane. How can we - the industry, the software engineers - allow it? Why do we even turn on the protected mode?


https://hn.algolia.com/?q=anticheat

The first post shown, and the first couple pages of results, will help you catch up on the discussions around these methods. I don’t have anything new to offer you that isn’t already hashed out extensively therein. Good luck with the reading, and welcome to HN.


Welcome to 2022, this is the new normal


I think there's a bright line between "content moderation" where speech and behavior is being moderated, and spam and/or bug abuse which has nothing to do with content of speech whatsoever. Rate limiting inputs is not the same as picking and choosing who is allowed to say what based on arbitrary standards of speech content.


Communities on MMOs these days aren't like they were 20 years ago. They're FULL of racists, bigots, and morons spewing their shitty political opinions in the different world chats. Way more than there used to be.

I'd be happy for some moderation to silence all of those people.


Um, 20 years ago MMOs were also full of racists, misogynists, and others engaging in harassment and “spewing their shitty political opinions” both in-game and out (e.g. guild sites).


>Way more than there used to be

If you played 20 years and today, you can surely notice the difference in the community?


Not really, proportionally it seems about the same to me. Or did as of last year when I stopped playing MMOs again.


There's just more players which means more bad apples.


And how the fuck would blockchain help here ?


Couldn't they just use a Merkle tree, like git does, to keep track of the history? I think that's what he's referring to here. They don't need proof of work if the code that can modify the history is trusted.


As a huge fan and experienced implementer of merkle trees in my modern work I really wish I had known what they were at the time :)

Merkle trees don’t solve the forgeability issue, just the unbroken chain of what you currently have. So, if you have control over the server you can just create a set of events with your “+5 billion gold” event injected in it, recalculate the tree and root and voila: forgery.

PoW doesn’t prevent this, it just adds computational time provably spent between the events so that if you DID try to inject a false record a year ago you’d have to spend that same amount of time calculating the resulting merkle tree.

Merkle trees all the way down!


Yeah, If it has a single authority to consult, there is no need of inefficient proof-of-work bullshit. Just like explained in the article, UUID and simple KVS can detect the dupes.


I think that pitch was inevitable given the author's tagline:

> Building interactive digital assets for the Metaverse.

Of course the joke is that the use case is as easily solved by a database, which he even explicitly says UO didn't have. The "double spend problem" has been solved by any database that supports cluster-wide transactions and there are a number of pieces of software that implement only this aspect of a database as a part of "turning the database inside-out" (usually with only a promise of eventual consistency, e.g. implementing only a write-ahead log).

Sure, a "proof of work ledger technology" could have been used but it would also have been the wrong tool for the job given that proof of work (or proof of stake for that matter) adds nothing to the solution but makes everything slower and more expensive. The only valid use cases I've heard of are interfaces between different companies and even in those cases I'm not convinced blockchain is a good solution, let alone the best one, rather than a buzzword someone used to get a raise by wooing upper management.


They are actually pretty damn good for some criminal use-cases...


Not even. Everything except Monero makes money-laundering analysis trivially easy.


Ironically I gave an interview to VICE News about exactly this during the Mueller investigation and they had to cut my Monero comments out for time.


ok so to restate.

proof of work blockchain use case:

you want to invent a money transfer system that will attract criminals to use it, and they will think it is anonymous, but its not really anonymous.


Money laundering is one. What about ransomware? What about malware mining cryptocurrencies? Also I think North Korea is using cryptocurrencies to get money out of cyberattacks.

It does not feel like all this is prevented by trivial analysis, is it?


If the funds are sent to mixers?


I would bet the FBI operates and controls a non-zero amount of mixing services.


> Not that I’m saying MMOs need blockchains; but it turns out Proof-of-Work ledger technology had a use case here!

Do you need a proof-of-work ledger, or just a central sequentially-consistent transactional ledger shared between all servers (without burning energy for rare SHA checksums)?


Since only the server is authoring the entries, just a ledger.


also known as database


The article strictly points out the need for a shared concurrency models required in the functioning of a online game thats massively parrelled across both clients and various individual 'servers'.

Unique, hash based, 'stacked' items that are non-fungible with a decentralized shared state across clients.... yes, technically that's 'Just a database' but a highly complex one.

I get people hate the hype and 'uselessness' of crypto and even the term 'Blockchain' is loaded, but dismissing the technology out of hand is uncalled for. Especially when the author gave a very clear use case for a very real problem in shared state computing.


All of the server nodes are run by the same entity (the game developer). Blockchain is a good solution when the nodes are not necessarily trusted (thus the need to prove that you did the work). If all the nodes are trusted you can accomplish the whole decentralized thing much more easily.

As a super simplified example, if you want your distributed database to generate unique identifiers, partition the id space so each node is guaranteed not to overlap. You trust to nodes so you don’t need blockchain.


Yeah, my point was that an internal PoW ledger (not decentralized but still technically a blockchain) would’ve been useful because: A) stack tracking per stackable type is trivial with UXTO, and B) adding a few seconds of PoW makes the resulting chain so hard to forge for crime-of-opportunity style attacks (preventing internal employees from making untraceable gold) that it could’ve prevented a few firings/calls to the authorities during my time. Oh, and C) it might’ve resolved the duping issues with cross-server character transfer exploits (a different beast than areaservs), and D) heh, maybe conned an engineer into making a block explorer dashboard so we could see the global state of currency/stackable amounts

Like you said: most of these except B) could’ve been done with traditional techniques and relational databases, but I maintain A) might’ve been easier than the message passing code required to synchronize and emulate it.


You still don't need PoW here, though. All the servers are presumably trusted. You perhaps have a trust issue with your employees, but that is what access controls (limit the number of people who can create items) and audit logs (after an item is created, you know exactly who did it and when) are for.

And yes sometimes an employee that you've trusted with item creation access will turn out to be a bad actor, but you have the audit log to prove that, and you fire them. That's... just life. Hopefully the fact that there are audit trails dissuades most of the borderline-sketchy employees that it's not worth the risk.

> adding a few seconds of PoW makes the resulting chain so hard to forge for crime-of-opportunity style attacks (preventing internal employees from making untraceable gold

I just don't get why this needs a blockchain. Internal access controls! Don't just let random employees make arbitrary, untraceable changes to game state! Of course you're going to have problems if you allow this, blockchain or no.

Obviously you are much more knowledgeable about the issues around transferring state across server boundaries. But I still have not seen anything (in general) that suggests that inherently centralized systems (like an MMO run by a single corporation) meaningfully benefit from PoW systems. PoW is just there to ensure that people can't forge things. But when your ledger is centralized, if you implement the proper access controls and audit trails -- which you should be doing no matter what -- then PoW/blockchain is just not necessary or useful.


You don’t need the proof part if all the server nodes are trusted. Just the hashes is enough. I think that’s the part the author was pointing out in the article and we’re reading a bit too far into it.


cottenio is the author in this case.

If there is the potential of internal employees being malicious, then maybe trust isn't guaranteed.


The question then is the additional cost worth it. Employee tampering is rare and already dealt with in other ways. Also putting things on chain doesn’t prevent it because there are still employees making the game and thus can still add back doors that will be legit transactions.


I can’t believe I missed that.

I still don’t think the proof part is necessary even with the potential for internal employee tampering. With sufficient system authorization and security auditing catching someone tampering would be enough than wasting all that compute resource to prevent it for such a rare case.

Cool story though. I really like UO back in the day.


I 100% agree - I don't think that I would ever reach for a PoW blockchain to solve this problem, but it has certainly generated some interesting discussion


I think employee trust is not something you solve with a blockchain. This is like that section of the "why your idea won't work" checklists, where you have "you are attempting to solve a social problem with technology, which does not work". Access controls and audit logs are the way to go. Employees who know that they can't behave badly without the system recording all their bad actions are much less likely to do bad things. And when they inevitably do bad things (which would still be the case in a blockchain system), you have the audit trail to prove it, and you fire them and/or involve law enforcement.


Okay? What makes you think this would stop them from just running some GPU in the corner and generating a bunch of expensive items to peddle ? They'd have all the access to make it look legit ?


Are there ready-to-use blockchain libraries to simply create such a blockchain or does everything have to be custom-written and tested manually -> requiring the developer be an expert?


Apparently it was a valuable enough idea to Amazon that they spun it up as a service in AWS: QLDB.


Note: valuable as in "people are willing to pay for it", not as "it is solving a use-case better than alternatives"


Oh, and a good aside: thanks to player exploits the nodes themselves weren’t necessarily trustworthy (such as duping exploits across shards, not just areaservs).

Like I said, not saying we “needed blockchain”, but when AWS released QLDB I was like “ohhhh, that would’ve been useful” since, you know, forging log files is a thing.


> if you want your distributed database to generate unique identifiers, partition the id space so each node is guaranteed not to overlap. You trust to nodes so you don’t need blockchain.

You can also generate unique IDs by giving each server/node a unique hash and then use (node_id,1), (node_id,2), ... etc. Its more complex this way but this approach compresses way better if you have a lot of IDs. (Thanks Martin Kleppmann for this trick)


>The article strictly points out the need for a shared concurrency models required in the functioning of a online game thats massively parrelled across both clients and various individual 'servers'.

Uh, no. The servers are essentially independent. Each server have maybe few thousand clients at once.

The data most clients change is independent of eachother. Hell *you don't need to store most of them*.

All you need to store is basically some world state data (nobody GAF that non-boss monster just respawns after server restart ,no need to store that data in the database) and player possesion

>Unique, hash based, 'stacked' items that are non-fungible with a decentralized shared state across clients.... yes, technically that's 'Just a database' but a highly complex one.

Uh, no.

<server-id>:<item-id>:<account-id> + a server signature to signify it was actually generated by that server.

Any change of ownership within a server is server changing account ID item belongs to + signing the transaction and resulting record. Alert on fraud if someone has same <server-id>:<item-id> pair.

You reduce the problem space to "do I trust the other server" which is much easier to solve. And even if you say allow malicious server with tons of accounts having cheated in items transfer to yours.... each item has that server's ID so you can trivially fix it by removing them from yours.

All that would need to be tracked above that are account transfers.


If I understand correctly this can be solved with much less complexity via something like snowflake to guarantee ordering consistency. There are of course dozens of ways to achieve consistency across nodes, and a blockchain is one such solution. The reality is if blockchain were an optimal distributed store it would be used for that purpose in more places. Instead what we have is a bunch of buzzword shoehorning (which frankly today sounds a bit overplayed/stale).


Can you describe how a snowflake ID would help? Imagine the data contains two Rare Items, when it should only contain one instance. They both have different snowflake IDs. How do you determine which is authentic? The timestamp on the duplicated item could have been spoofed.

I think the real solution to this problem is just to trust a centralized actor and single large database that is shared across all servers. Not what the author wants to hear, but most games don't need the level of decentralization of PoW or PoS for all of their game assets. But a fully decentralized MMO would be cool in theory.


Yep. I think the one place where blockchain shines is cryptocurrencies. If it's not a cryptocurrency, then there is a better alternative.


> Especially when the author gave a very clear use case for a very real problem in shared state computing.

He did not. One server can just keep track of a player's items then pass that state on when he moves to the next adjacent server. I don't even see the issue here except the codebase is described as something very messy with weird OO/hooking style non-abstractions that just cause bugs.


No, a ledger and a database are different. The ledger is a transaction log. The database holds the current state.

Basic bookkeeping concept: every once in a while (usually daily) you take a snapshot of the current state and mark that point in the ledger. Then you take the previous snapshot, re-run the day's transactions, and you should get the current snapshot. If you don't, something has gone wrong. This is called "reconciliation".


A database can hold state but it can also easily hold a ledger/transaction log. Or both. Most of the databases I have built or worked on end up organically evolving to have both "state tables" and "event tables" where event tables record state transitions broadly speaking. That's just a very natural way to model systems where you need to capture information about the state changes (eg when they happen etc).


So, an append-only database.


Is there any efficiency benefit to blockchain vs just storing a unique ID for every item, so that even a stack of coins has a stack of UIDs?


Consider the sheer scale: people sell 200 million UO gold for $10. Can you imagine every gold piece having a unique UUID? Even if you didn’t use 256 bit hashes, even at 64 bits you’d be talking about 1.6gb per $10 worth of UO gold.

UXTO would’ve been a neat technology to have to experiment with at least.

Memory was at enough of a premium that even in the tagging system we made in the article it was just for the rarest items.


Could you mux the data of the coins?

If you have a stack of gold containing 5 uuid and mix it with another stack of 3 uuid but only support 5 uuid per stack. Then calculate proportional weightings which 5 you store.

You could probably find a way to try and wash the money but I think it could be done with right heuristics to catch a good majority of use cases but maybe not all.


I just want to note that I only started paying attention to cryptography after I left UO and got into Bitcoin, which sounds like an NFT-grifting MMO supervillain origin story - I know - but I sure did learn a lot about merkle trees and solving interesting social problems.


Are 1 UO gold coins even individually addressable?


No, stacks are stacks. They’re an object id with a quantity counter. Each stack, however, was capable of holding its own separate script and objvars; there were event triggers to handle special cases like “onStackAdd” and such.


> Not that I’m saying MMOs need blockchains; but it turns out Proof-of-Work ledger technology had a use case here! (No wonder Amazon now offers a similar service: QLDB).

For one, QLDB isn't proof of work. It's centralized: if you think you need a blockchain within your own data center to establish consensus, you don't.

Blockchains are only useful when there is no central authority, which isn't the case with (all?) MMOs. Badly written blockchains have double spend issues. Video games with race conditions and no locking controls have duping problems. Blockchains only manage to eliminate the centralization (in theory), not the bugs.


I continue to be burdened and mystified by a memory from an article circa early-mid 2000s, about UO or a similar game, if there was one: that in the game, when one was being robbed or beaten, they could summon some wunderpolice, whose representative immediately teleported to the scene and instantly killed the culprit. However, if the alarm was false, then the supernatural officer killed the player instead. The implication, as I understood it, was that the divine entity was operated automatically by the game.

It's possible that the story went through a bad case of ‘broken telephone’—and my few feeble attempts of finding the truth in more recent years were unsuccessful. Still I wonder: was there such a thing as described above? Did it work? Was the ‘police’ really an NPC?


Yeah it worked like that. Saying "guards" would instantly summon the guards if any criminal was present and subsequently murder the criminal(s). Nothing about incorrect summoning though.

Most people had a macro invoking "guards" "bank" abd "vendor buy" all at the same time. The interface was mud like and the first (?) command in a statement that was valid would execute.


Thanks, I now found a wiki describing these mechanics, and it turns out that UO had an entire system of markings for players who committed illegal activities. This clears things up a bit.

Idk where the ‘killing the player’ part came from—though local game journalism at that time was quite, uh, idiosyncratic. But, as the workings of these guards were somewhat hazy in my mind, they gained an ominous air.


I think I know why you have this hazy memory! Oftentimes these robber groups patrolled around the edges of the "safe zones" where it's possible to call guards. When there were battles, it was often chaotic with multiple characters moving and mauling each other. Sometimes an innocent player would be attacked near the border, they would defend themselves and accidentally do some action which marks them as a criminal (for example, moving inside the border of the safe zone and defend against an attacker who is outside the safe zone and not marked as criminal). The innocent player defending themselves might call "guards", but because they've accidentally made some particular action, the guards would treat them as the criminal and kill them.


Though at the beginning the guards didn't teleport and instakill you, instead they would have to chase you - I don't remember if their hit was an instakill but I do remember a before/after of when suddenly you could not escape the guards.


Originally they were just standard NPCs. They did not instakill. And while quite tough, they could be defeated. So a strong enough group could go in and clear out the guards until they respawned. At which point the town became lawless. I think the shift towards effectively being deities smiting criminals was complete by the end of Beta test though.


As an avid player I can confirm that all commands would execute. So if you were next to a vendor, you'd see the buy menu, but also if a criminal was nearby they'd have the guards summoned on them at the same time.


In ultima online players were split into 3 categories:

Blue Gray Red

and later Orange

Blue = "good". If you are in a "guard protected zone" and you attack someone "blue" guards will come and murder you instantly. As long as someone says "guards"

Gray = "criminal". You commit a criminal action, you are gray. If you attack someone gray, no consequences will be made against you. Only thing is if I am gray, and you are blue, and you attack me, you turn gray _only to me_. Gray expires in 5 minutes.

Actions that cause this: stealing, healing someone gray / red, attacking someone blue but not yet killing them.

Red = "permanent criminal". You are red as long as you have any player kills registered to you (they decay 1 kill per 8 hours I believe. A PK is only counted if you kill a blue player or participated in killing a blue player.

There were a few fun exploits:

You can transform into a creature. This meant you turned gray without any crime. Well if someone attacks you, you can attack back. So it was a scam we used to pull where there would be occasional attacks against the town, I'd run around screaming that I'm a noob and need someone to get a monster off me, and the monster would be a friend.

Well the friend had a nearby tamed dragon that can now freely attack the guy who flagged himself against my friend without consequences. And anyone who assists now has a dragon to fight (killable, but lots of resources spent, and usually would take a few people to do, AND my friend was a competent mage, so now you also have a mage gunning for you). We didn't always succeed but it was fun. I think we got suspended a few times for it. lol.

There were some tricks to getting people to attack the wrong target and thus flag themselves in town and get the guards to kill them. But it wasn't commonplace. Maybe during beta there were problems.

Oh yeah, orange. Orange were players participating in guild wars. Orange players can attack other orange players. It is basically permitted criminal activity among those participating in a guild war. And in Order vs Chaos you also got the best shield in the game for free for being on either side.


It sounds like it could be the guards, inside the cities, of UO.


Ultima Online is the only MMO that felt like a true virtual world and not just a grindy RPG game played with a lot of people. It occurred at a unique time in history that is unlikely to be replicated again. You could build the same game but players have largely moved on from this style of MMO. A shame.


Yeah UO only worked because it was basically the only game in town.

The sheep were playing alongside the wolves. Once there was more choice in the market the more casually and cooperatively minded players self-selected into games catered to them.

Everyone who wants 'the next UO' has got to realise it's never going to happen.


> Yeah UO only worked because it was basically the only game in town.

As someone who was deeply involved with UO for a number of years, this explains a lot of it I think.

Once there was a choice of optional PvP in UO itself the players OVERWHELMINGLY voted against non-consent PvP by fleeing to Trammel.

That said, even after Renaissance the game and community itself was still in good shape before they caught the WoW bug and destroyed what they built trying to capture that audience.


> It occurred at a unique time in history that is unlikely to be replicated again. You could build the same game but players have largely moved on from this style of MMO.

I don't necessarily personally disagree with this, but this counter argument is worth watching:

https://www.youtube.com/watch?v=1H4j-5YFKK4


I largely agree with the perspective of that video.

Specifically thinking of the difference between EQ and WoW, I do think there's one objective difference though: downtime. It wasn't uncommon to spend minutes recovering from a fight, or wait 20+ minutes between spawns if you were camping a particular spot. At the time we moaned about it, so WoW came along, and "solved" the complaint.

In hindsight, the downtime was the best part of the game. Chatting with strangers in a pickup group. Gambling. Friendly duels. Dumb feats of strength. Mutual grumbling about waiting for the boat. My fondest memories were all the things around the gameplay, but that doesn't make the game irrelevant. It was an excuse and a reason, but also a setting. The combination was intoxicating.


> In hindsight, the downtime was the best part of the game.

There's a lot of this in baseball spectation as well, maybe american football too. The game is there to bring you together and hang out.


I would strongly strongly suggest investigating MUDs if that's your bag. They're non-graphical so they can be built and maintained by small numbers of people with low programming skills and they tend to be almost entirely about community experiences. I'll just leave http://www.middle-earth.us/ here because it's where I met my now SO and it's an absolutely wonderful community - but there are hundreds of them out there. They do take a serious time commitment though, since they're all about building up that interesting social world.


>And it wasn’t just players: autonomous mobile objects (mobs) like monsters, animals, and NPCs could cross them as well.

Started playing MMOs in 2001 and it wasn't until this day that I learned why they were called mobs. Wow.


I missed UO's hayday, but when I've played the big modern MMOs I find myself instead attracted to the idea that individual characters shouldn't be able to do everything. I feel like forcing players to interact if they want to gather specific resources or craft vital items would really help a game feel "massively multiplayer".

Are there any modern MMOs with mechanics like this, e.g. life-skill limits or some other source of dependence on other players?


> Are there any modern MMOs with mechanics like this, e.g. life-skill limits or some other source of dependence on other players?

I think Eve Online is the classic example. It's not technically true that players are limited in the sense that you mean. Rather, the limits are emergent.

The areas with the most valuable resources also have the least game provided security, so players are forced to band together into large organizations to protect themselves - essentially true virtual countries.


In addition, in Eve nearly all items (ships, modules, ammo, even starbases) are player-manufactured, player-hauled, and player-sold.


EVE is my favorite example.

There were four games I played at EA Redwood Shores: UO, Battlefield 2, EVE Online, and Microsoft Excel (because EVE).


> Battlefield 2

Really is a shame what happened to that franchise.


I spent a bajillion hours flying helicopters. Really loved 3 & 4.

Haven't played since, though. What happened?


It’s hardly even battlefield anymore

It’s like some unholy amalgamation of every shooter genre that’s been popular with kids in the past few years. It’s like hero shooter meets battle royale meets call of duty meets the battered corpse of what used to be Battlefield. It really feels like some out of touch suits said “see what kids like these days and rip it off”.

The previous game had its own controversies, and many veteran developers apparently left due to the stifling of creative control.

If you don’t mind a shitpost-ey video, I saw this the other day and it probably explains everything better than I can in an HN comment: https://youtu.be/d0lXNq2jrG8

It’s spends a lot of time on performance issues and bugs, but those are usually forgivable to me, at least as long as things get patched.

Also there’s a complete lack of content. Twenty something guns if I recall correctly, and lack of content can kill games, even otherwise good ones.


> Also there’s a complete lack of content. Twenty something guns if I recall correctly, and lack of content can kill games, even otherwise good ones.

The first game had something like 10 weapons and 10 maps if I recall correctly, but is considered a wildly successful game despite that.


Just an addendum for anyone who clicks the video: the actual content starts around 2:40.


The reason UO will never be re-created is that it was the first game of it's kind and thus every player had only one option. In modern times, the gamer population is so bifurcated that I'm not sure it'll ever be possible to have such a mix of player types in a single unforgiving ecosystem.


Plus newer game generation wouldn’t like the idea of being pk’d and losing items….


MMOs are still stuck with the concept of permanently undamagable items that can be worth hundreds of in-game hours because of insanely low drop rates.

If items had a finite lifespan and you could replace them quickly like in Minecraft, then the downside of losing your items would be far more acceptable.

This is also the reason why MMO economies tend toward deflation. Players craft thousands of food items that never perish and just pile up in some auction house or automated market place.

If every player sold their items when they quit there would be more items than players.


Or towards hyperinflation when the currency generation out paces any sinks thus driving the price levels to outright stupid levels, with only limiting factor being what players can hold and trade.


Then players simply don’t trade gold. Eventually a new currency appears will facilitate the trades anyway.


This is exactly what happened in Diablo 2. You had a gold limit, and the value for gold was so low that players began using Stone of Jordan rings as currency for other item trades.

https://gaming.stackexchange.com/questions/22688/why-did-sto...


One of the challenges is finding the right proportional scale.

If the difficulty or fun of say blacksmithing nice items for the community. And you have it balanced out that you expect 20% of players be blacksmith. But then either 10 or 30% be blacksmiths either items skyrocket in price and make it unobtainable to most or the floor bottoms out making it not viable for most to engage in a market.

I think its solvable but itd require a lot of dynamic based systems to scale properly based upon number of players in each categories of life skill limits.

With that said, check out a game called Eco. They have life skill limits and force cooperation on small scale (30 day per server wipe). I think you can reasonably have 2 or 3 professions of 12 and people buy and sell from each other.


I don't understand why MMOs could never figure out how to make resource gathering as fun (or more fun) than hack & slashing.

Stardew Valley and other games - Death's Door, A Short Hike, Toem, etc - figured this out.

Why haven't any MMOs done it?


I play Conan Exiles which isn't exactly an MMO, but has the same sort of resource gathering grind. While my character is new, I don't actually mind it, but once I'm no longer just surviving, but thriving as a character, the basic resource gathering becomes mind-numbing due to the shear amount of stuff I need. There's no way to automate any of it.


Dunno, RuneScape seems fun? There's lots of types of materials, lots of ways to gather? True, most of the mechanics are just click-and-wait, but it's not like most MMOs where wood isn't any different from ore...


I'd argue that New World made gathering and to a lesser degree crafting a lot of fun. The rest of the game was kinda crap, but I did actually enjoy doing material farms.


FFXIV has a decent gathering approach


In early UO, say Beta through the first few months of production, I knew a lot of folks who were primarily crafts folk. The town blacksmith, that sort of thing. After a while most players developed mules who had GM blacksmith skill or whatever so it became less of a thing.

But even then there were people out there. One woman I knew spent most of her time as an interior decorator for people's houses. It was a fun element that I never really saw in other games.

I do think to a large extent it came from the genre of game being new and every play style getting mushed into one game. People looking for the more pure social RP type role will congregate in a game catering to that, while the hack & slash adventure types will go elsewhere.


I've heard Ashes of Creation is trying to implement something like this (but they don't have a release date yet, just some interesting conversations with devs on their tooling and schedule)


Certain minecraft survival servers certainly, if they have the player count to make it feel "massive". Sometimes servers establish group protected towns or cities (these work like linux group permissions on files but over an arbitrary dimension of blocks in the server map) and there would be shared resources, e.g. a farm or chests full of leftover cobblestone from mining for diamonds, or even tools free for use to members of the group.


> forcing players to interact if they want to gather specific resources or craft vital items

"sup, u gm angler?/" https://web.archive.org/web/20030731200633/http://spla.sh/bp...


A Tale in the Desert.

There is no combat, just challenges of various types that range in scope from things you can do on your own to things that require the active cooperation of many people.

For example, solo player might delve into the mysteries of flax genetics just for the fun of solving a complex puzzle, but they have the alternative of buying seeds sold by other players.


https://uooutlands.com/

It is still as fun today as it was back then.


But you still can play UO in UO Outlands server, made by people who actually understands original concept, not like OSI-UO devs which turned UO, over the years, into care-bear themepark.


Old MMOs mostly were like that. FFXI and UO are probably the most famous.


Yes, Mortal Online 2 is the closest thing to UO to this day.


I get the feeling that any good, truly "massive" MMO eventually has to deal with stuff like this beyond a technical level, beyond a gameplay balance level, and straight into social ramifications.

As a younger guy than these players, this story reminded me of the Disk of returning and Thordur's black hole from RuneScape.


The solution is to make the pipeline for reporting bugs easy and lucrative enough to encourage bug reports.


Darknet Diaries does a two part episode that covers, among others exploits, this infamous (and famously entertaining) UO zero-day exploit:

https://darknetdiaries.com/episode/7/ https://darknetdiaries.com/episode/8/


I wonder if Darknet Diaries will someday become the XKCD of security stories: "there is a Darknet Diaries for that" :)


I attribute alot of my success in the professional/tech industry to MMOs. I started playing games like Asheron's Call, Everquest, and UO as young as 3rd grade. I helped organize pvp events, traded constantly, communicated on forums, participated in guild/clan events, recruited new members. Sounds silly and I can't really explain it but made me more resourceful, social, and generally comfortable in ambiguous situations.


Gosh I remember beta testing this game, was a coming of age time, the first MMORPG. Glorious times of guilds and true PvP (e.g. you leave the town you basically were on your own) these were the true days of high online adventure!


Same era - but I had a "cheat mode" ;; We ran the Intel DRG and ran this on a bank of Intels highest end machines on a T3 to our gaming lab, just when 56K got released... and were able to effecitvely MASS PK players with 6 accounts with 100 sneak, two rogues, 2 dread lords and two great lords.... we would taunt with our dreads, run, hide, and appear with our great lords of same name and get attacked ruining the reputation of others, allowing them to kill us but specifically die next to our hidden sneaks who would loot us... and run our bullshit back to our castle.

We had a 7th castle butler account who all he would do was manage keys...

our third member of our guild got wasted one night and managed to lose our rune stones... but we had a teleport mech where we had the courtyard covered in bags of wheat? and in order to tele to the courtyard, you had to have the butler acct go pick up the bag to the tele spot such that you could zap in...

Then, our guy, Draygor,,, he accidentally got whacked with the rune stone before he could make it to the bank, and the Japanese Guild spent MONTHS waiting for us to fuckup with an account that allowed them to portal into our castle... then they fn hid until we showed up...

We used to teleport dragons onto the roof such that we could trap them behind chests and practice our spells until we had 100 in every skill ...

but we went to vacation, DRAYGOR (largest pot grower in BC Canada) who had a T1 to his house

We also had a bugged weapon that was an axe/or/hammer cant recall -- but it was one-hit-one kill no matter what.

We were actually followed for a while with that bugged weapon as we would trade it back and forth... and chased by invisible mods... (they basically have a super account that their sprite was invisible and they would follow us around....

That aside from the hitman series - is my golden games.


I am very pro-NFT and pro-blockchain but disagree with the author. Blockchain is not going to replace a MMO item database. Blockchains have bottlenecks and are not needed if you and your users are OK with a centralized database to meet high performance requirements.

Now, imagine your goal was to create a distributed and decentralized MMO not owned by any single company, and permissionless so that anybody could built on top of it. For this it does make sense to use blockchain-like technology like a rollup that aggregates state deltas of many transactions, batching them into a proof that is posted to a distributed ledger.


I hope anyone who enjoyed the article will find time to listen to the original team discuss UO’s early development and the crazy design and social problems they were trying to solve.

They succeeded at some, spectacularly failed at others, but brought forward things that still impact MMO and (now) Metaverse design today.

https://www.gdcvault.com/play/1024930/Classic-Game-Postmorte...


Still hopeful that someone will make a new exciting sandbox MMO that fills the gap left by UO.


Sadly I don’t think it can be done. I mean sure, the game could be written, that’s not a problem. The trick is to get people to show up and in particular get players to play who aren’t “UO fans.”

UO was amazing because a ton of people played it who weren’t UO fans or even MMO fans because such things didn’t exist. The players were simply RPG fans wanting to try something new and what happened was magical and serendipitous.

Now any game that tries to do the same will only attract UO fans or classic MMO fans. That original audience of people who were essentially naïve but open to a new experience are gone.


It doesn't help that the majority of people who bemoan the loss of games like UO quickly reveal themselves to be the sort of psychotic players who are the exact reason games like that no longer exist. You'll hear things like "I miss being able to slaughter dozens of people and take all their stuff". Ok great, but your average player hates that sort of game. And you need a high prey/predator ratio to satiate such desires.

I say this as someone who thinks of early UO as the best game they've ever played. I didn't mind that type of player, even spent most of my time fighting with/against them. But I also recognize that this segment is why we can't have nice things.


I am one of those rare people who actually really enjoyed the thrill of playing a miner (or some other crafter) and having murderers show up and try to kill me for my valorite ingots. It felt like high stakes (in game terms, low stakes in real life terms) hide-and-seek!

Over the years I ended up wearing many different hats, of course. I had red characters and thieves and mage-thief hybrids (by far the most annoying character for people to play against). I participated in guild vs guild combat, I had a tamer, a bard, a smith, a fisherman. I loved everything there was to do in UO. On a free shard I even dabbled in programming, writing a bot to automate shearing sheep and storing the wool in the bank. That shard had a really high spawning rate for sheep so I was able to earn enough gold to purchase a keep to share with my friends in about a week of real time!


Likewise, it's just that we were a severe minority.

I spent most of my time either PvPing in some form and/or heavy RP activity including tradesperson type stuff. My main character was notoriously red-but-actually-good as he would fight against wrongdoing even if it earned criminal flagging. So I wound up with a pretty diverse set of friends no my server.

On my shard there was a cluster of PKs who were actually pretty mature/sane, many of them got into the RP side as well with one group featured in Wired. We became OOC friends and often would concoct RP reasons why my guild and those groups would band forces against the K1ll3rd00d type PKs that would roll around. And that's how I got most of my PvP enjoyment.


The skill gap issue is huge in games. When a game is popular you have plenty of people worse than you at the game to stomp. When it becomes niche its just you against the pros who play nothing but this one game for thousands of hours, and it becomes a lot more frustrating to get into a game.


I thought the reason we can't have nice things is because everyone wants a game where they can obtain things and keep them forever except for in extremely rare "fair" circumstances.


It appears to be still around?

https://uo.com/

EDIT: looks like it changed hands a number of times, very unlikely its as good as it once was, I imagine


Not really “changed hands.”

Stages:

1. EA with original Origin devs 2. EA post-Origin 3. EA, integrated into Online group (with Westwood) 4. EA Mythic (UO & DAOC) 5. Broadsword (owned by the former GM of EA Mythic under a licensing deal)

I think that’s fairly accurate. Older devs correct me if I’m wrong.


I've been working on this sort of game for awhile now. Never too seriously, though that will change in 2023. Hardly worth sharing at this point, but I will anyway.

https://hoten.cc/gridia/play/

I need to seriously think about what I want out of this game (more of a mmo game engine), but "UO-like" is definitely top of mind.


I was excited to play but I couldn't make it past the character creation screen. There's a bug preventing me from spending all of my attribute points.


Huh, that's odd. I can't figure out how to get that problem to happen. Not even selected a preset works?

By the way, if you manage to get it to work, make an account starting with '@' to get admin privileges. You could also explore the local play–it's the same server code, but running in a web worker instead of on my server.


I got the same bug when I clicked create button without filling the "character name" field.

Great demo btw!


ooooh yup that'll do it, thanks!


there with you - UO was the greatest game I ever played


A game development pair working on a kind of similar MMO for the last 10 years. "Haven and Hearth" has all the house building, player killing, crafting, and trading. No pre-made safe zones, though, and it resets every year or two.

I think all of these small, independent efforts fall under the radar without the advertising of more expensive games. I don't know if UO was well-advertised at the time, but it was certainly the only option at launch!


UO was well advertised before launch. One of my most prized possessions as a kid was a summer of 1996 (want to say June) issue of PC Games magazine that had an in depth preview of UO. It came out about a year before the game actually launched. I probably read that article about 100 times. I was never going to get my parents to pay the monthly subscription fee so that magazine and my imagination was the closest I got to UO until I was in college and could afford it myself (that was during Age of Shadows and EverQuest had already supplanted it as the most popular MMORPG)

In the late 90s, Ultima was still one of the biggest (if not the biggest) PC/Western RPG franchises. UO launched before Ultima 9 kind of killed the franchise. I'd be surprised to find anyone who was really into PC gaming during that era that hadn't heard of Ultima Online.


I miss UO.

I only played on unofficial servers but I had many hours of entertainment.

My greatest achivement is that I wrote a Macro program called UO-Mcro in VB6. It was a stepped based Macro program that didn't require coding to use. It had popular actions such has

LeftClick x Wait x seconds Set Variable If / Loop

Each action was designed using VBScript, so it was possible to extend to more advanced actions.

It has long since gone but the website is available on the wayback machine

https://web.archive.org/web/20040802021732/http://uo-mcro.tk...


This is giving me Leeeeroyyyy Jenkinssssss vibes

https://youtu.be/mLyOj_QD4a4


This is pretty specific but does anyone remember in one of the Runescape open betas back in the day there was a duping bug? I think involving a chest?

If I recall it was really easy to do and by the end of the beta like everyone had totally jacked up gear

Of course it all got reset eventually since it was just a beta but I recall it being pretty hilarious to play during that period


Not only that but diablo 2 had such a prolific duping problems of this 1 ring. The ring itself became a currency.

They eventually added a mechanic in game that consumed the rings for something else as a way to remove the rings from game without deleting at will.


I think SOJs became currency and the duping problem made them worthless and moved the currency to high runes? But what they did with the anni quest to get rid of the rest of the SOJs was clever

Oh man, thanks for the nostalgia trip!


GTA Online had a number of methods to quickly rack up unlimited money when it came out. Not really external hacks, just regular old in game glitches were around. I used it to get a bunch of money in game, and rather than breaking anything, it just made it a lot more fun being able to drive whatever car or get whatever I wanted. Calling up a tank is a blast in a game like gta online! I pretty much stopped playing the game when they patched everything and reset the in game economy and made my character broke and boring.


The part hat dupe trick!


Man, I ran across PK Ghost the other week. So many memories. Actually, looking back, it was a pretty innovative webcomic.

https://www.imanewbie.com/


UO was an awesome experience. No one has ever made a similar game, and UO doesn’t exist in its prior form. But let’s not forget that we all stopped playing UO for a reason.


What's the reason?


I remember my days playing on a likely not-so-legal role playing shard that also had a connected blog where players posted stories about their characters.


> CEO “Mmm, I don’t think deleting them all [the duped items] is a good idea, you’ll hurt too many players.”

> I wanted to chafe and say something, maybe assert that he just didn’t understand, but reined myself in and after the meeting I went back to the team and told them that we were forbidden from auto-deleting all the dupes.

No wonder many players rather switched to private shards. C-levels were out of touch pretty soon. Also this shows how different your work cultures in US is in comparison to ours in some EU country (no problem here to call CEO out on his BS)


How is it out of touch? Dealing with the cheaters who are duplicating items is one thing, but what about the victims who have bought items they thought to be perfectly legitimate? And before you say "delete the items and refund them", how are you going to get the purchase prices? Pore through game chat logs? What if the items have been sold on again? Manually find and reverse all the transactions?


I participated in the public alpha and beta testing for UO.

I recall it being a very laggy experience back in the days of 28.8k modems.


Great that you can still play very good UO servers like UO Outlands.

Because OSI UO turned into care-bear themepark, which is unplayable.


Aside from being an amazing story, my other takes are the following:

C / C++ are truly powerful and efficient languages for execution. Can you imagine doing this with Java or C# and still keeping the memory usage and speed reasonable, even in 2022? This is the late 90s (maybe early 2000s). C++ is a workhorse, warts and all.

Game development is just so different from all other types of development, but I feel like if you can game dev at this level you can develop just about any type of interactive application, but maybe I'm wrong?

The golden age of MMOs has long passed, hasn't it?


I'm a former game dev, I worked in PHP on the server side of our game and honestly - C++ is mostly just the dominant language because everyone is constantly overworked and everything has always been done in C++. Java and C# are some counter examples you offered which, if done right, should rival the performance you can get in C++ pretty trivially - Java may have a larger memory footprint for some things (it's harder to sanely get down to the bare metal within some contexts) but it's still quite fast. I honestly think that sometime soon we'll probably see Rust shoulder C++ out for game development once someone (eyes Epic) writes an engine with native language hooks in it simply because you get pretty much all of the performance characteristics along with one of the most valuable things in the world - extensive and resilient static code evaluation.

You can make things efficient in a plethora of different languages depending on the setting (PHP, similar to how I used it, is often chosen because it's extremely readable, flexible and all the expensive performance stuff you're doing is usually in SQL on the server-side anyways) but there are definitely certain languages that are better suited to some tasks. I would really suggest not focusing in on language choice that much though, since there are much more important decisions to make when discussing high performance architecture and having access to pointer arithmetic is, at this point, honestly more of a curse (since you have to deal with horribly unmaintainable crap in some library you need) than a benefit. Over a decade ago I had my first C++ job which used the Qt framework and using references by default (which Qt strong encourages but doesn't force) is simply a much more sane approach to development.


> Can you imagine doing this with Java or C# and still keeping the memory usage and speed reasonable, even in 2022?

Yes.


for example, EVE Online is mostly done via python (server side at least - not the frontend iirc).

In fact, i reckon the reason a lot of games would have crashes is because it's written in an unsafe language like C++.

And the reason there's so many successful plugins for minecraft is _because_ it's in an "easy" language like java.


Client uses a ton of Python too, mind you they have a very special interpreter. https://github.com/stackless-dev/stackless/wiki/


Great point!

Side note: you can get a lot of the power of Stackless Python without a special interpreter if you use greenlets (https://greenlet.readthedocs.io/en/latest/).


oh didnt know their client used python! Wow!


> And the reason there's so many successful plugins for minecraft is _because_ it's in an "easy" language like java.

Minecraft got mod support way after there was already a ton of mods for it. The way it got initially was basically hacking into game jars, not because it was supported in any way, it only got support later.

Granted, Java JVM did made that easier, but still the reason it got so much stuff is because it was so fucking popular first. All of the modding tools were pretty much made by community from scratch, way before Mojang moved their ass.


> hacking into game jars, not because it was supported in any way, it only got support later.

decompiling java is much easier than decompiling C++ output. Adding code to such a decompiled source is much easier and safer, and thus much more accessible.

if minecraft had been in C++, i seriously doubt the initial mods from hacking it would've been possible.


I just want to mention that the C++ code running UO was incredibly fast at what it did, and it even wrapped a custom scripting language called Wombat that ran all the gameplay logic.

Pretty sure Jason Spangler, genius, made a JIT compiler in LLVM for Wombat just to see how much code we could execute in each 250ms tick.

During one of my live events I got 500 people on-screen (in what, an 800x600 pixel screen?) thanks to how efficient the networking, gameplay, and client rendering code had become.

Well. Then the telestorming began because I forgot to disable it…


The main server emulator for UO, RunUO (and ServUO that spun out of it), is written in C# and runs worlds that are as large as UO had in its heyday.

A few of the very hot code paths in the netcode and elsewhere drop to unsafe to do pointer math and faster array walking but the vast majority of it is in managed space.


I don't know about that I'd say we're doing pretty good on the MMO scene. FF XIV really revitalized the space, but WoW is still chugging along, ESO, Star Wars, New World, Guild Wars, EVE, MMO Lite Destiny 2, etc. Basically there are a lot of MMOs with really stable populations where doing activities isn't cumbersome and you can play whatever aesthetic (fantasy, space, etc) you'd like.

It's certainly different from the age of MMO's like Ultima though and the sense of community is vastly different than it was back then by virtue of how mainstream they are now and because of all the different tools and such people use to build those communities now.

So if not golden, I'd say still pretty strong silver.

To your other points though I completely agree.


I've heard good things about Oldschool RuneScape.


I'm not sure I'd even call Destiny 2 MMO-lite at this point, it feels as much of a MMO as retail WoW or Guild Wars 1 at this point.


Yes.

RunUO

ModernUO

ServUO

JustUO

Classic UO running in the browser.

https://classicuo.org/


> Can you imagine doing this with Java or C# and still keeping the memory usage and speed reasonable, even in 2022?

It's all about programmer skill. You can write bloated C++ just as easily as bloated C# and bloated Java.


If you arena allocate (which would probably be typical in games), then GC isn't as much a problem.

Most MMOs aren't a graphics problem (usually not pushing the edge) or performance problem (high FPS for twitch isn't as big a thing), they are a database problem.


> Can you imagine doing this with Java or C# and still keeping the memory usage and speed reasonable, even in 2022?

Lots of samples if you google.


yay, you invented UUIDs (?)


Ultima Online invented a significant amount of technology we use today. The technical term "sharding" literally comes from the intro video in the game where they explain why there are multiple copies of the same world.


> Ultima Online invented a significant amount of technology we use today.

Yeah, but not UUIDs. Those go back to the 80s.


I think they were invented by Apollo Computer as part of their NCS (Network Computing System). From there, they were adopted by the OSF (later Open Group) DCE RPC system, and from there, by Microsoft (who renamed them GUIDs).


In that vein, earliest mention of UUID I could find (thanks Apollo Archives):

> 2.4 Unique Identifiers

> An important aspect of NCA is its use of universal unique identifiers (UUIDs) as the most primi-

> tive means of identifying NCA entities (e.g. objects, interfaces, operations). UUIDs are an exten-

> sion of the unique identifiers (UIDs) already used throughout Apollo’s system [Leach 82]. Both

> UIDs and UUIDs are fixed length identifiers that are guaranteed to refer to just one thing for all

> time. The principal advantages of using any kind of unique identifiers over using string names at

> the lowest level of the system include: small size, ease of embedding in data structures, location

> transparency, and the ability to layer various naming strategies on top of the primitive naming

> mechanism. Also, identifiers can be generated anywhere, without first having to contact some

> other agent (e.g. a special server on the network, or a human representative of a company that

> hands out identifiers).

https://jim.rees.org/apollo-archive/papers/ncs.pdf

The paper is not dated but probably was around 1986 or later?


But shards! lol




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: