5 ms·
I owe my career to this game. I was totally obsessed with UO from the moment I logged in for the first time and created my character, a crafter who was primari
by nrb 8y ago
I owe my career to this game.
I was totally obsessed with UO from the moment I logged in for the first time and created my character, a crafter who was primarily a miner/blacksmith.
That’s the thing about UO... nobody was the hero, everyone was just trying to survive and thrive in their own way; whether that meant crawling the dungeons as a warrior, bard, tamed, or caster; terrorizing those same dungeons as a player-killer out to strip the dungeon crawlers of all their loot and gear; or, spending your days baking bread or running your own player shopping mall, your only limitation was your effort and imagination. The idea that you could stake out your own small part of this vibrant world, right down to building a house in the limited land space available; or making your name as an accomplished crafter who people sought out for their superior crafted equipment, it was so fascinating to me.
After a few years I found out about a project called the Ultima Offline eXperiment, they were working on a server emulator that would let you run your own worlds, with your own rules! (Their scripting engine was JavaScript, running on the server... 19 years ago) As a teenager with no prior software experience, this was incredible to me. I scoured the internet for anything I could find to learn C++ and JavaScript and started screwing around with the emulator. It was slow going at first, given the somewhat limited resources available on the internet at the time, but I stuck with it and from that point on I knew exactly what I wanted to spend my life doing. After that I moved to would become the de-facto emulator for nearly 2 decades, RunUO. Through that community I found contract work on projects that were unrelated to UO, and from that experience transitioned to a full-time career in software about 10 years ago.
This game was hugely important to me and who I became because of it, and it makes me so happy that stories about UO pop up every few years as a reminder of that.
- tobz 8y agoHeh, this is funny... I worked on an emulator for Dark Age of Camelot _and_ an emulator for World of Warcraft (WCell) and attribute experience from both projects to getting my first software gig. I also remember (fondly) going through RunUO with .NET Reflector to pick up tips and tricks. :)
- na85 8y agoI worked with runuo quite a lot and while I too have lots of fond memories, it's actually a huge mess of a codebase. It's object-oriented except when it's not. It's modular except where it isn't. It "optimizes" for $number_of_cores_on_your_box but doesn't actually use them for anything but world saves. Almost none of it is commented or documented (doxygen doesn't count as documentation). I think runuo excelled not because it was significantly better but because it was less shitty than POL and Sphere that came before it.
- nrb 8y agoI generally agree (object serialization was rough, and stop-the-word saves have been a constant issue for the entire life of the project) but the things it did well were done outstandingly better than POL, Sphere, UOX, Wolfpack, etc. I think the killer feature of RunUO was that it compiled the C# “script” files and linked them at runtime, eliminating the need to attach a scripting language that provides some limited API. It led to some extremely messy code, but it allowed you to achieve anything you wanted with minimum fuss, using the base .NET APIs that were well-documented. And the community was huge and active by UO emu standards. It doesn’t fall over with 5000+ clients connected to a single server, which is pretty astounding considering it’s TCP based and players tended to clump up pretty majorly during in-game events and such.
- uo_throwaway 8y agoIt actually falls over around 1000 clients if they're actually playing and encountering one another at any regularity. I have been contributing to a new RunUO based shard (http://www.uooutlands.com http://www.uooutlands.com) that has become extremely popular and hit 2k clients online. The lag was pretty extreme at first, but after a few weeks of studying CPU profiles I rewrote a lot of the map search algorithms, plus a few other things, and it's scaling easily now. I plan to push the rewrites upstream soon. The emulator still has legs!
- nrb 8y ago
- supernintendo 8y agoSame! Never used UOX but ran a few small private servers back in the day using SphereServer and eventually RunUO. While it didn't lead to any professional connections in my case, it was my first foray into programming. Ultima Online in its early iterations was truly a magical game and helped to define a lot of the core design patterns of MMORPGs. The lead designer of UO, Raph Koster, has a lot of great insight when it comes to game design. I recommend his 2014 GDC talk, "Practical Creativity" [1], even to developers who are not interested in game development. [1] https://www.youtube.com/watch?v=zyVTxGpEO30 https://www.youtube.com/watch?v=zyVTxGpEO30
- deleted 8y ago[deleted]
- Bockit 8y agoI have a very similar story. I spent many many evenings in my teens learning to “script” with Taran’s Sphere Scripting For Dummies website and .chm file for the Sphere Server UO emulator. Best part is I didn’t even realise I was programming. In my mind I was just making the game do what I wanted.
- marak830 8y agoSurprisingly similar for me, I even released my first piece of software on the runuo forms (maraks script creator haha). Never translated to working in software (couldn't afford college lol), but it did leave me with a hobbie I still do today, and love.
- nrb 8y agoI didn’t go to college either, never too late to make the transition if you want it.
- wallace_f 8y agoI wish I never went to college. Giant waste of time and money.
- dmix 8y agoCollege isn't a requirement for a career in software... at least not in North America. Although I'm sure you know that by now.
- uo_throwaway 8y agoFYI there has actually been several attempts to also rewrite the client from scratch. One is still active. See https://github.com/andreakarasho/classicuo https://github.com/andreakarasho/classicuo. Pretty cool stuff.
- andrepd 8y ago>That’s the thing about UO... nobody was the hero, everyone was just trying to survive and thrive in their own way; whether that meant crawling the dungeons as a warrior, bard, tamed, or caster; terrorizing those same dungeons as a player-killer out to strip the dungeon crawlers of all their loot and gear; or, spending your days baking bread or running your own player shopping mall, your only limitation was your effort and imagination. The idea that you could stake out your own small part of this vibrant world, right down to building a house in the limited land space available; or making your name as an accomplished crafter who people sought out for their superior crafted equipment, it was so fascinating to me. This is absolute magic to me. Wow. It sounds like an absolute dream. It is my opinion that the possibilities of a shared, persistent, virtual world were never fully realised. The description you make: of a fantasy world, persistent, vast, "real" (as in, internally consistent and fair), a world you can live in... modern MMOs offer absolutely none of that. It's a shame. It speaks volumes that probably the best realisations of the MMO were... Ultima Online, Star Wars Galaxies, maybe Everquest? Maybe even some primitive MUDs and, oddly enough, a couple Minecraft servers. Instead we're stuck with WoW (and its clones), which was an excellent game in its own right, but it wasn't a true MMO in the sense above described.
- jghn 8y agoIt's interesting that you mention EQ in that statement. EQ was viewed as a direct rejection of the virtual world concept of UO. I only played it for 5-6 months so perhaps it changed over time.
- chii 8y ago> we're stuck with WoW (and its clones), which was an excellent game in its own right, but it wasn't a true MMO because most companies didn't realize what they were copying when they copied WoW. True MMO - aka, a sandbox game. See this very indepth critique, if you want more about this topic https://www.youtube.com/watch?v=nvK8fua6O64 https://www.youtube.com/watch?v=nvK8fua6O64
- firekvz 8y agoLet me tell you this, but.. WoW was the clone, it tried to copy already existings MMOs, the only reason WoW was sucessfull was because all the advertising it got Asia (KR/JP) had already huge mmo games before WoW
- bredren 8y agoThat’s cool. I think Minecraft mods did this for a younger gen as well.
- erichurkman 8y agoI think a fair number of us owe our careers to UO; I'm in a similar boat to you, dabbled with UOX, POL, spent a good deal of time with Sphere (my first foray into 'large' C++ projects and, also my first real Linux exposure sshing into the servers to run `sphere &` when it inevitably crashed), and later with RunUO. It also is what made me learn data structures, in working with tools and programs to read/write (and distribute) changes to UO data files to create your server's own maps, art assets, etc. (Or, as I used it for, replacing the tree art assets to be smaller, making it easier to see through the 2D isometric trees.) My favorite tidbit about UO is around the technical term 'shard'. It comes from lore from Ultima I, where the wizard fractures the gem that contains the world into shards, and each shard contains a copy of the world. Ultima Online needed a word to describe multiple servers, they picked a term from the lore.. and now 20 years onward, we talk about database sharding.
- stepanhruda 8y agoMe too! I bought a book about C# and read each chapter over and over until I understood what was going on, because I wanted to join work on a RunUO project. Which I did and it was my first experience with working on a team, using source control etc.