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..."
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)
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.
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.
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.
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.)
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.
>>"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 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.
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!)
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:
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...
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]
> 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.
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.
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.
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
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.
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.
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.
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).
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.
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.
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.
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.
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?
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.
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).
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.
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.
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?
> 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)?
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.
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 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?
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.
> 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).
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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
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
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.
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.
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?
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.
> 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.
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.
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.
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).
"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...