We Burned Down Players’ Houses in Ultima Online
blog.cotten.io
blog.cotten.io
"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...
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)
But I remember telling our DPS "THE GREEN FIRE DOES NOT HEAL YOU" in some boss fight...
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.
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
Maybe Star Wars Galaxies was the one who came closer.
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 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.
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.
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.
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.
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.)
>>"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.
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...]
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!
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...
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.
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.
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.
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've never used this but I heard it runs well)
> 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...
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.
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/
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.
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.
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).
"People doing their own moderation" includes a community of people who get together, appoint moderators, and enforce their own rules.
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.
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.
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'd be happy for some moderation to silence all of those people.
If you played 20 years and today, you can surely notice the difference in the community?
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!
> 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.
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.
It does not feel like all this is prevented by trivial analysis, is it?
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)?
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.
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.
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.
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.
If there is the potential of internal employees being malicious, then maybe trust isn't guaranteed.
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.
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.
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)
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.
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.
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.
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".
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.
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.
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?
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.
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.
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.
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.
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.
I don't necessarily personally disagree with this, but this counter argument is worth watching:
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.
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.
Started playing MMOs in 2001 and it wasn't until this day that I learned why they were called mobs. Wow.
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.
There were four games I played at EA Redwood Shores: UO, Battlefield 2, EVE Online, and Microsoft Excel (because EVE).
Really is a shame what happened to that franchise.
Haven't played since, though. What happened?
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 first game had something like 10 weapons and 10 maps if I recall correctly, but is considered a wildly successful game despite that.
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.
https://gaming.stackexchange.com/questions/22688/why-did-sto...
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.
Stardew Valley and other games - Death's Door, A Short Hike, Toem, etc - figured this out.
Why haven't any MMOs done it?
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.
"sup, u gm angler?/" https://web.archive.org/web/20030731200633/http://spla.sh/bp...
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.
It is still as fun today as it was back then.
As a younger guy than these players, this story reminded me of the Disk of returning and Thordur's black hole from RuneScape.
https://darknetdiaries.com/episode/7/ https://darknetdiaries.com/episode/8/
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.
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.
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...
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.
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.
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!
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.
EDIT: looks like it changed hands a number of times, very unlikely its as good as it once was, I imagine
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 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.
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.
Great demo btw!
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!
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
https://web.archive.org/web/20040802021732/http://uo-mcro.tk...
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
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.
Oh man, thanks for the nostalgia trip!
> 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)
I recall it being a very laggy experience back in the days of 28.8k modems.
Because OSI UO turned into care-bear themepark, which is unplayable.
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?
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.
Yes.
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.
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/).
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.
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.
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…
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.
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.
It's all about programmer skill. You can write bloated C++ just as easily as bloated C# and bloated Java.
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.
Lots of samples if you google.
Yeah, but not UUIDs. Those go back to the 80s.
> 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?