[HN Gopher] Database "sharding" came from Ultima Online?
___________________________________________________________________
Database "sharding" came from Ultima Online?
Author : Dx5IQ
Score : 177 points
Date : 2023-04-07 08:36 UTC (14 hours ago)
(HTM) web link (www.raphkoster.com)
(TXT) w3m dump (www.raphkoster.com)
| ChancyChance wrote:
| Garriott explains all of this in the documentary "Get Lamp".
| marzell wrote:
| I was unaware that Game Neverending was the origin of Flickr.
| Interesting as Glitch[0] was also the origin of Slack. Seems to
| be an interesting theme in Stoot's career.
|
| [0] https://www.glitchthegame.com/
| ibnbutlAn wrote:
| Sorry for nitpick but its called "Ultima Online" without the t
| Widdershin wrote:
| Yeah I though this was about Smash Ultimate and was very
| confused for a second
| Dx5IQ wrote:
| Fixed the typo, sorry!
| canadiantim wrote:
| Anyone recommend a UO-like experience these days?
| axus wrote:
| Haven and Hearth has all the player-killing, house-building,
| and crafting. Takes a lot of work to travel to a player-built
| town and set up a "bank", though.
| BryantD wrote:
| Project: Gorgon, from two of the Asheron's Call developers.
| It's got that offbeat "we can do whatever we want" feel, no
| classes, and it's fun.
|
| https://projectgorgon.com/
| WorldMaker wrote:
| Shards Online was _trying_ to be that and in what little of it
| I played seem to capture some of the experience, but I
| uninstalled and stopped following them when they pivoted into
| cryptocurrency and NFTs. It 's maybe too bad they didn't feel
| confident enough in the original direction of the game.
| outworlder wrote:
| That's... pretty difficult.
|
| UO had quite a few things going for it.
|
| 1) Nowhere was safe(although many places specially remote ones
| in the wilderness were totally chill). Cities had guards, but
| you (or someone else) would have to call them. This enabled all
| sorts of gameplay, including theft. But this was ok because...
|
| 2) Items were not too powerful. Classic UO you could get a +9
| Sword of Vanquishing or whatever. While it did give you a nice
| edge (pun intended), it wasn't really worth walking around with
| it in your normal activities, because of (1) and also...
|
| 3) Items stayed in your corpse when you died(until the
| 'insurance system' that is). So even if you had better gear,
| you would normally walk around with gear that was easier to
| replace. And you didn't have to necessarily pay for that
| because there was...
|
| 4) Lots of crafting skills. One could train
| blacksmithing/mining and mine away. There was a risk involved
| in these activities, as usual. But other than time, you could
| have a character that could build any gear you would need -
| they would be plain boring non-magical, but good enough for any
| foe in the world, if you knew what you were doing. You would
| probably do this with another character because...
|
| 5) 700 skill cap. So you could grandmaster 7 skills, or spread
| this across more skills(some characters would get just enough
| magery to use recall runes). Which also meant that characters
| would not get exponentially powerful. As long as you had
| trained the skills you wanted to use, it didn't really matter
| if your character was one month old or 5 years old. The field
| was pretty level pretty quick, no one-shotting newbies (really
| [young] characters were protected) and one could not just spam
| magic due to...
|
| 6) Reagent requirements. Spells were really powerful but really
| expensive. They took mana and physical reagents that you had to
| buy in order to cast them. Ran out of reagents? Too bad, time
| to use that stick. Someone stole them from you? If you survive
| you are walking home today. If you died, you won't respawn
| somewhere else, you still need to walk home. But that's fine as
| you had...
|
| 7) Items. Items galore. The land itself had resources. Want
| some arrows? If you have the skills, go kill some birds and
| chop trees. Want bandages? Cut up the ressurrection robe (after
| you found a wandering healer or a friendly player to ressurrect
| you). Saw a horse? If you have taming, go tame it. I remember
| dying in the middle of nowhere and returning home fully
| equipped - bow, arrows, leather armor, horseback. This was
| revolutionary at that time - and kinda still is in massively
| multiplayer games. This also leads to memorable moments. Like
| the time when people got fed up at some 'player killer' and a
| group stood outside their house. Dude wouldn't come out, so
| people started bringing tables, chairs, food, and they had a
| whole picnic in front of his house.
|
| I could go on and on. I am not even touching on the lore, which
| had many previous games to draw from.
|
| There are games that are harsh(nowhere is safe, dying has
| stakes, etc), have no classes, player created items, no
| 'respawns', lots of items to play with, but the exact interplay
| of gameplay elements is difficult to find. I've considered EVE
| Online as 'UO in space'. Being a corporate space dystopia it
| does not have the same "cozy" vibe that even the harshest
| Ultima Online environments had. Dying was actually fun a lot of
| the time. Valheim has the closest "vibe" but it's still a
| little bit on the soft side, and is not an MMO (A MMORPG
| Valheim, if properly done, would be phenomenal). Rust was
| mentioned but I do not think it hits the same spot.
|
| Kal Vas Xen Corp!
| nottorp wrote:
| So UO was also about griefing your fellow player, like Eve?
| mter wrote:
| For some players, yes.
|
| For most players, no. It was pve and role playing. Once
| they split the realms to pvp and non-pvp, the pvp realm had
| a much lower player base because it was pks, thieves, and
| old timers who put a house down before the split.
|
| If the game didn't have full looting of dead bodies and
| stealing there probably could have been much better
| interactions between the 2 groups of people but getting
| pk'd and losing all items was so annoying for casual
| players.
| hbrn wrote:
| Mortal Online 2 is probably your best bet. Darkfall was also a
| good option, but it seems dead now.
| devin wrote:
| Honestly, I think it's impossible to recreate. Being able to
| use real-time voice makes a lot of group combat scenarios easy
| to coordinate, and those giant good vs evil battles were a real
| highlight of early UO to me. You'd have to coordinate with
| voice, or follow someone who was typing out the next target's
| name. Once you could hop in a group voice chat, there's someone
| who could say "target: Bob -- load up. 3, 2, 1, drop". The
| target can't heal through a coordinated scenario like this, and
| I think effectively killed group PvP. Of course you could do
| this if you were all in the same room back in the day, but that
| was uncommon.
| Spastche wrote:
| Rust matches the hardcore harshness of it
|
| I wish I could find a game more on the "numbers go up" /
| programming side of things. I think I enjoyed macroing in UO
| more than anything about it, just writing my own scripts to
| raise skills. I automate webgames sometimes when I'm bored, but
| even that's not quite the same.
|
| Maybe I'll reinstall UO this weekend and play a player server.
| ultimafan wrote:
| UO Outlands is probably the biggest/healthiest free shard out
| there right now, peak hours hover around 3,000 characters
| online.
| wellthisisgreat wrote:
| Albion Online is the closest I've seen in a decade.
| marmee wrote:
| This is discussed here in detail (the entire series is highly
| recommended)
|
| https://www.youtube.com/watch?v=KFNxJVTJleE
| NegatioN wrote:
| In a similar vein to the "War Stories"-clips, (even though I
| never played Ultima,) their Ultima post-mortem from GDC is a
| great watch too. https://youtu.be/lnnsDi7Sxq0
| simonw wrote:
| That was great! Ultima creator Richard Garriott talking about
| how they tried to include a "virtual ecology" system in the
| game with prey animals and predator animals... but the players
| just wiped out every living creature. It mentions "sharding" as
| a term they invented too.
| [deleted]
| sublinear wrote:
| [flagged]
| elif wrote:
| EasyUO scripting was my introduction to programming at age 14. By
| the time I got to college I was already a professional coder and
| I was able to enjoy CS as a recapitulation or reinterpretation of
| my foundational understanding instead of a dogmatic prescribed
| methodology as I saw in my object oriented/relational database
| bound peers. UO really sparked my whole life's passion
| accidentally by leaving the memory and registers
| readable/writable and the server requests unencrypted.
|
| It is a shame that the cheat vs anti-cheat war has escalated to
| the point where kids today would rather pay $100 per month for
| access to a closed binary (with who-knows-what malware) which is
| able to bypass anti-cheat mechanisms rather than freely play with
| a live application that they are already invested in.
| shultays wrote:
| I had a similar experience in past with MUDs. I mean it
| provides an incentive to learn programming but cheating is
| cheating. Popular competitive games would be dead if they
| didn't fight against cheating. I consider anti-cheat measures a
| necessary evil
|
| Scripting menial tasks is probably lowest form of cheating but
| still cheating. Would it be ok if someone made a bot that plays
| perfect PVP?
|
| There are plenty of games that allows modding. Or games that
| are focused on programming. Plenty of opportunities to learn
| scripting in more legit ways.
| elif wrote:
| scripting for high level pvp was actually my favorite task.
| Things like automatic potions at X health, trapped pouch
| management and execution, teleport target timing, fast
| looting, etc.
|
| UO pvp was not about being perfect, it was about selfishly
| manipulating a mass of fighting to loot stuff while not
| losing your loot. 3 people precasting flamestrike is more
| broken than anything an individual or bot can ever do.
| instant trapped pouches were the only way to escape that and
| the only way to activate the right one is to script it or to
| stop moving, mouse over to your inventory, and double click
| it. scripting became THE BALANCE in that regard.
| Operyl wrote:
| There are places for this kind of play, but I suppose they
| don't give the same kind of thrill. Bot vs Bot scripting
| challenges online, like Battlecode https://battlecode.org/
| m463 wrote:
| I think scripting is a wonderful way to learn to program, and
| do useful things too.
|
| Amazing that you can't script your most-used computer - your
| phone.
|
| (seriously, why can't we write an automated script to handle
| new phone calls?)
| fshbbdssbbgdd wrote:
| There are a lot of kids learning to code in Lua on Roblox,
| maybe it'll be the dominant language for backend programming in
| 20 years.
| Operyl wrote:
| And there's more competition coming in this space with Epic's
| Unreal Engine for Fortnite (UEFN) and Verse (which is going
| to land into the base UE5 engine soon according to their
| talks, so useful outside of Fortnite!)
| flangola7 wrote:
| >20 years
|
| I got bad news
| klodolph wrote:
| Tons of people learned using BASIC, but that never really
| took off for serious programming outside of a couple niches
| (like frontends / desktop apps made in Visual Basic).
| snozolli wrote:
| If you're counting VB, it was _huge_ , just not cool.
| Nobody ever talked about it, but people built tons of
| really effective custom software for banks and the like.
| Maybe you don't consider that serious programming, but it
| was probably the most successful product of the RAD desktop
| era.
|
| I vaguely recall a Joel Spolsky (?) podcast years ago
| mentioning that everyone thought it was dead, but a survey
| showed something crazy like 30k active developers
| worldwide. And that was classic VB, not VB.Net.
| msla wrote:
| BASIC as it was and VisualBasic are mostly not the same
| language, like how you can't say C is going strong in
| business because C# is so popular. Even Classic
| VisualBasic is more like Object Pascal than the line-
| numbered BASIC dialects people who learned on eight-bit
| micros and MS-DOS used.
| mysticllama wrote:
| +1 for another CS student jump-started by UO :D
| ferminaut wrote:
| Learning how to install ShowEQ to cheat in everquest got me my
| first real exposure to linux...then trying to build a emulator
| for it took me down a rabbit hole. Was probably 12 at the time
| debaserab2 wrote:
| Exact same here. Coding a script for my miner to automatically
| hit the high value ore spots and detect if any PK was in the
| area (and recall to safety) was one of my first major
| programming achievements!
|
| I recall making a similar comment to Raph Koster in a hacker
| news thread a few years ago. He didn't seem all that pleased
| about it, lol.
| jahsome wrote:
| Me too! Ain't no way I had time at 14 to train taming. Ended
| up taking an equivalent amount of time learning to script it
| anyway though...
|
| Led me to a lifelong obsession with automation, although I
| never quite picked up the pure cs fundamentals. I guess I'll
| always be a script kiddie at heart.
| jaredhallen wrote:
| PK or GM. I actually still have a lot of my scripts in
| storage.
| elif wrote:
| exactly!! PK's are the best anti-cheat. just make your game
| full loot and competitive, you dont need anti-cheat.
| chongli wrote:
| PK's in UO were never very effective at deterring
| unattended resource-gathering (the main 'cheat' the staff
| fought so hard against). I recall having my group of
| friends all make fishermen at the same time and we reached
| grandmaster fishing skill in a week or two of 24/7 fishing.
|
| Once we had those characters, there was no stopping us from
| quickly amassing enough wealth to buy our own castle. It
| was rather ridiculous. We also ended up with vast numbers
| of magic weapons and armour, magical reagents, gems,
| scrolls, and furniture. It ruins the entire economy of the
| game.
|
| EasyUO was a big part of that. Someone had written a MIB
| (message in a bottle) script which would decode the
| coordinates from a bag full of MIBs and allow you to sail
| to the nearest one to begin fishing it up. It greatlyy
| streamlined the process of fishing up hundreds of those
| shipwreck treasure chests!
| devin wrote:
| +1 on learning to program via UO scripting -- I learned a
| couple of ways (AutoHotkey was one IIRC) to macro before there
| were programs devoted to UO. One of them was pretty primitive
| and I'd actually check the color of a pixel at X,Y to see if I
| needed to heal.
| Havelock wrote:
| Same. Wrote scripts to level up skills, set up runes to
| different stores to perform automated shopping rounds. Had one
| script for sparring that would recall to a bank or an Inn and
| log out if a staff appeared in the journal; since it was
| illegal to macro offline on some servers. It was all good fun
| and I always enjoyed having it running on my PC as some sort of
| Tamagotchi.
|
| Me and my brother also ran our own servers for a while. Believe
| the last server I played on was one of the Zuluhotel ones.
| jabroni_salad wrote:
| This is actually one of the more interesting things happening
| in Minecraft. The only form of anticheat is in server mods, so
| both sides of the coin are pretty observable.
|
| I was a little put off initially when LiveOverflow (youtube)
| switched to being a minecraft channel but the material ended up
| being pretty good.
| havblue wrote:
| Fun semi-related video from DefCon regarding hacking Ultima
| online.
|
| https://youtu.be/ZAUf_ygqsDo
| mysticllama wrote:
| as i recall, they devised their own scripting language, and they
| relied solely on flatfiles to track world-state... then every day
| at a given time, each server would have an off-hours save where
| the flatfiles would be persisted. players caught on to this, and
| would take advantage by having "server wars" during these save
| windows, when changes wouldn't be persisted, and would all equip
| their best kit and battle at certain locations. all that said,
| it's not too surprising lots of creativity and ingenuity was
| required, given in 1997 the world had really seen nothing like
| it.
|
| i remember getting it right after it came out -- i had just
| turned 11. when i tried to explain to people that it was a
| massive, detailed fantasy world where you could go on adventures
| with people in real-time, they'd look at me like i had two heads.
|
| this got me into scripting and mods and was a big influence on
| why i became interested in software and hacking, and have had a
| career in it since.
| beebmam wrote:
| Oh this brings back so many good memories. The Britain
| graveyard was where shit went DOWN during these non-persistence
| windows. I remember there was a large Japanese player base on
| my server and there were Japan vs USA fights every day.
| gabereiser wrote:
| UO:Renaissance was the best era of UO. Two worlds separated by
| moonstones to separate open-pvp with non-pvp. My younger
| brother and I would hang out in Briton in Felucia (open-pvp)
| and kill anyone trying to cross over with loot or anyone coming
| over with gear.
| xwdv wrote:
| No, the best time period was before this, when there was only
| one unified open-pvp world and people could kill you and even
| burglarize your house if they stole the key and knew where
| you lived, or even just killed you right at your front
| doorstep before you get a chance to close the door and lock
| it.
|
| Casual players forced to live in a truly dangerous world with
| thieves and blood thirsty killers, we'll never see these
| dynamics in an MMO again.
|
| When Renaissance was introduced, what happened was most
| people lived purely in the non-pvp world and horded massive
| wealth and resources safely (which would have made you a big
| target in the old world), while the pvp side just became an
| arena for people to fight all the time. Boring.
| wwilim wrote:
| You could try playing Tibia, it has exactly what you're
| describing, save for being able to enter other player's
| houses uninvited. It's kinda dead though
| jghn wrote:
| In my experience most of the people who say this were
| exactly the sort of people that ruined it for everyone else
| by taking things too far. Turns out people didn't find it
| fun to be slaughtered by a horde of 15 teenagers with names
| like "frogsmasha"
| gabereiser wrote:
| I was there for that. While the gameplay was indeed more
| fun, the separation and "hoarding of wealth" made it
| popular. I had a castle on either side. My feluca
| stronghold was only to stash ill gotten goods until I could
| move them to trammel. I had more fun playing dodge the pain
| train and get to bank than I ever did pre-separation. Pre-
| separation was more natural feeling but the split gave a
| risk vs reward buff.
| dathinab wrote:
| Database sharding existed in book form in the pre computation era
| ;=)
|
| Through using the term sharding might have come from there (which
| is what the article claims).
| agentultra wrote:
| I wish I still had my original box and cloth map. I have such
| good memories of that game. It's still running to this day!
| jghn wrote:
| I recently tried to resurrect my account. They were able to
| dust off my secondary account but couldn't track down my main
| account. It's weird as I was able to dig up old emails from
| Origin to the email address I told them I used, but they said
| there was no record of an account with that email. Alas.
| npsomaratna wrote:
| Fond memories of hours on hours of Ultima VII, back in the
| '90s.
|
| In fact, the first time I saw the intro[1], I thought my
| monitor had an issue.
|
| [1] https://www.youtube.com/watch?v=JfqOZlNxbfI -- about 32
| seconds in.
| EarthLaunch wrote:
| I still have the map! https://i.imgur.com/hDQulgr.jpeg
|
| Games have always been at the forefront of software innovation.
| I love working with them.
| pottertheotter wrote:
| My mom sent me a box of random things of mine that had been in
| a cupboard forever and one of the items was my UO cloth map.
| Great memories for sure.
| tibbon wrote:
| I got my UO maps framed recently
| NelsonMinar wrote:
| I remember joining Google in 2001 and being struck they were
| using the term "sharding" for the ads databases (MySQL) instead
| of "partitions". I understood it at the time to be referring to
| Ultima Online.
|
| Raph's memory dates to 1996, the blog post he references seems to
| be from 1999. I imagine the idea of database partitioning goes
| back at least to the 80s, anyone know what earlier terms were
| used? Other than "partition", of course.
| 29athrowaway wrote:
| Ultima Online is a game of great detail and there is an
| incredibly high number of actions available to the player. Truly
| an immersive experience. Kudos to those guys.
| brianaker wrote:
| By the year 1998 I was using the term "shard" in slides for
| MySQL, and I believe mSQL as well. The term might be found in
| Slashdot's source code. I am pretty sure I gave a talk on
| sharding at the open database summit in 2001.
|
| I had previously used the term shard for an app I wrote and
| distributed for VMS around '92, but that app only ever had a
| handful of users. It was available via FTP.
|
| FWIW I took the term from the movie "The Dark Crystal".
| intellix wrote:
| I worked on a private sphere server and dropped my toes in
| programming there which helped later in life. I remember really
| struggling and not understanding the concept of arrays... All I
| could muster was static variables and needed help creating a
| paginated list of heads you collected from players
| samstave wrote:
| Ultima ][ Was one of my first games, which I found on a floppy
| left in an Apple ][e in 8th grade ~1990 or so... which got me and
| my best friend into gaming (and trouble)
|
| Later, I was one of two on the Developer Relations Group (along
| with said best friend) @SC5 Intel and my cube was right next to
| Andy Grove - we had the same pee-schedule, for whatever reason
| Andy and I always seemed to only intersect in the restroom to
| pee..
|
| Anyway - UO was a huge part of us validating the Celeron CPU as
| an acceptable gaming platform, aiming for a <$1,000 PC... This is
| when NURBS dolphin was 'THEE demo' (I had gone to school for 3D
| animation in Seattle (Mesmer, which became UW's animation course
| a year after I graduated, and thus I didnt get an 'accredited'
| degree because they bought the school, on SGIs - and was when NT4
| was porting Softimage, Maya to PCs, we had the first AGP cards,
| first OpenGL ports of things and a new engine, Unreal)
|
| Anyway - we ran a bank of Intel's highest end machines at the
| time and had 6 UO accounts connected with a T3 - so we dominated
| UO PK scene because we had zero lag, and everyone else was on
| 56K...
|
| Man that was the golden era of my gaming life...
|
| We had an unlimited expense account at Frys Electronics and could
| buy anything we liked.
|
| But the best thing was how we were able to PK others with our
| bank of 6 acccounts, and we had a Canadian Pot Dealer who had a
| T1 (he shipped Cannabis via fedex to the states and made enough
| to pay $1,500/month for the T1 to his house) that played with us
| and was the 3rd member in our guild...
|
| We had two accounts which were 'Snoop' and 'Sneak' and we would
| follow our Great Lords and Dread Lords ; all with 100 Hide
| Skill... so we would hide our Great Lords next to our Dread Lords
| with the same name...
|
| We would taunt folks, with Dread - then hide right next to the
| Great Lord as the attacked and they would attack and kill the
| Great Lord, lose reputation, and then our hidden Snoop and Sneak
| chars would loot our Great Lords so that the enemy wouldnt get
| any loot... and only after the battle did they realize how duped
| they were...
|
| Later, after Intel, I ran IT for the company that published
| (physically manufactured) Everquest and had same early beta
| access to everquest... but that game was not the same as UO.
|
| I was there when Lord British was assassinated.
|
| (dont get me started on Lag Death when playing against one of the
| top Quake players on a T3 at Intel (MyM)
| devin wrote:
| I had the very unusual situation of having a T1 to my house
| when I was ~13. I could run circles around everyone in UO
| (until cable modems started to become more widespread). I was
| decent at the game, but the difference in lag definitely made a
| big difference. One additional trick was to have macros that
| would spam text before casting a spell. This would cause even
| more lag for people on the receiving end of an explosion +
| ebolt combo.
| rsync wrote:
| Not to flex, but ...
|
| In 1998 I had a pc co-located in a yahoo data center that was
| running UO 24/7 on 100mb.
|
| Ping times were low single digit.
|
| I used pcanywhere to remotely control the client and the rest
| of the time It was macroing. Never disconnected and never had
| a power outage.
| samstave wrote:
| FblQ00Ho
|
| That was my 1998 password to dialup in seattle for Diablo.
|
| I have a shitty mem, but I can recall every single password
| I have ever used...
| jghn wrote:
| When UO came out I had a ~5ms ping to LS server on a
| substantial university connection. I thought I was amazing at
| PvP until several months later when I was downgraded to a 56K
| modem :(
|
| But for a while it was awesome being able to outrun people
| who were riding horses.
| clemailacct1 wrote:
| This is such a wholesome, nostalgic post. It makes me wish I
| could take a time machine back to the 90's and do it all over
| again.
| samstave wrote:
| Thanks. my buddy from that story is an EVP today at
| blizzard..
|
| Gaming and 3D and Architecture formed my career... I was a
| design eng for Lucas Film's Presidio, and I worked with Frank
| Gehry on MPKW (FBs HQ) and designed shit for Namco.
|
| A confluence of all three.
| BryantD wrote:
| Ha! I love that Presidio campus, it's nicely integrated
| with the environment.
| samstave wrote:
| The imagination for the campus was nuts. I put in for a
| lot more...
|
| The idea was to avoid Big Rock, such that we didnt have a
| flooded DC... as the initial design req was to avoid the
| DC flooding...
|
| But what ended up happening was that the DC was raided
| and all the DC 10G switches were stolen ($40 million) and
| the design had to be redone...
|
| But Raliegh went on to be the head of Goog networking
| ilyt wrote:
| Man describes how they were utterly horrible to other players
| in multiplayer game, using $$$ advantage
|
| _wholesome_ fucking indeed
| samstave wrote:
| Indeed!
|
| but such is the way.
|
| We _invented that shit_ as others tried hard trying.
| samstave wrote:
| you are lit the best reply I have ever had. <3
|
| -
|
| I am guilty
| simonhamp wrote:
| Please add "(2009)" to the title
___________________________________________________________________
(page generated 2023-04-07 23:01 UTC)