That's awesome! It made me a bit nostalgic, thinking back to the first program I ever wrote. It was a WoW bot that walked between the mailbox and the auction house, manipulating auction prices. The bot would drive the glyph prices to the bottom by lowering the lowest price by just 1 bronze to always be the cheapest when sorted by price. Then, it would buy up the entire market stock and offer everything for 50 gold each, starting the cycle again. It was glue code between Lua extensions and xdotool, all written in Bash, running WoW under Wine on Linux. The bot was pulling in about 20K gold per day on a single account.
The fun part is, I was 14 years old and had zero programming knowledge at the time—just a feeling that this process could be automated and access to Google. The bot was reading the game state by capturing specific parts of the screen and comparing MD5 checksums of where the buttons were supposed to appear. I used xdotool for mouse and keyboard input, along with in-game settings like Lua command execution inside the game console to target specific NPCs or mailboxes and click to move. It probably pushed me toward pursuing a career in this industry.
This was a good read. As a former WoW addict, I barely stopped myself from undertaking implementing one for myself.
This is not an area I'm familiar with and I always assumed this kind of work would involve concepts that are foreign to me, but upon reading it seems it was not that magical.
Which I feel is a wild take. WoW private servers wouldn't be where they are now without things like ManGOS. Especially with all the infighting and competition between servers and servers being shutdown. It's what holds back private servers the most. You can never build on what's already been done by others. They're all spinning their wheels and reinventing shit people did years ago.
I was interested in contributing to one of these projects but when I realized they were all just keeping everything to themselves, I gave up on that idea.
The Covid lockdown period coincided quite nicely with WoW Classic.
But the experience of Classic WoW now is nothing like its early months (now 20 years ago!). It's a 'solved' game now, everything is known, documented, data mined, and optimized.
Players rush to max level using optimized routes to then join guilds of like-minded players to speed-run the raids. Little tolerance for 'noobs'. The sense of adventure and exploration is long-gone.
I can't agree enough with this. WoW back in the day was a little wild west, you could go to Wowhead or was it Thottbot (?) for information but it wasn't great. You could really explore and forge your own path. I rejoined for WoW Classic and to be honest playing without all my old friends was just quite sad.
I had the same experience with CoD Warzone. It took off during Covid and I could play with a bunch of mates and people could run different loadouts and strategies. By the time Warzone 2 came out, everything is, like you said, optimized and little room for error.
I honestly think streamers have ruined games with progression. There's too much drive to be at the top and too little focus on just enjoying the game.
You’re free to join any guild full of noobs and just ignore guides and material that you deem too optimized for you.
I’m the exact opposite from you, always rushing to the end game content and competing on the leaderboards. I dislike nothing more than updates that dismiss serious end game players because the noobs (99% of the player base in all honesty) dictate the difficulty and rewards of the content.
Every online game with RPG elements devolves into this it seems. The community min-maxes the fun out of it.
Destiny is like this now. There is a cottage industry of Destiny scientists who make YouTube videos that fill in the knowledge gap intentionally created by Bungie's vague descriptions of class abilities and traits. For instance, Bungie might write a description for a class trait like "while you have an elemental buff, your class ability regenerates more quickly". Then the scientists conduct experiments in the game to answer questions like how quickly? Is there a cap on the maximum amount of ability regen? how long does the buff last? does it stack with other class regen buffs, etc. Then the build theory crafting happens based on these findings and the community settles on a few meta builds.
Of course, Bungie will nerf or buff things at will. And so with every new patch, comes a new round of experiments, theorycrafting, and meta builds. The community has little tolerance for those not using meta builds and you'll sometimes be kicked out of LFG if your gear is non meta. Have a build that is fun to play but slightly less efficient at damage output? Too bad, you're kicked.
And because of the super vague descriptions, you can't just reason about builds with only in game knowledge. It requires you to spend a bunch of time on YouTube, reddit, discord, etc and to keep up to date with patches. It's like a part time job.
In a group you could theoretically run an ssf mode where your group is isolated from the rest of the world, and your enjoyment isn’t spoiled by people who have more experience than you.
That's a cultural issue though. All (multiplayer/online) games can be considered "solved" as the practice of min maxing has become the norm.
Sure, there are always a few days to weeks while the min/maxers are figuring things out, but that's generally not enough time for someone that's not a streamer to experience the content before a "solution" is provided.
The future is real time random ai generated worlds requiring quick thinking by variously skilled folks. The environment could respond to the skill level of the folks to give them rewards based on the skill level observed.
I used to play wow a lot, and it was fun… when I was young. When you have few responsibilities, and all of your friends also have few responsibilities you can invest a lot of time into leisure activities like this without giving much up.
The problem I see with games in general is that so many of them are now designed to dominate your time the way wow does. I somewhat recently used to play Warzone once a week (or once every other week) with a group of friends, and that’s a game that you should be able to pick up, play for a couple of hours, and come back whenever you want and play for a few more hours. But it’s not. New content comes out all the time, and a whole new game comes out once a year. If you don’t stay on top of it, you just don’t get the proper experience of the game. So once my casual level of interest drops below the level of time the game demands from you, I just give up playing it.
This trend of a constant demand for grinding and micro transactions has creeped into way too many products imo, and the conclusion I’ve come to is that most of these games are just not made for people like me any more.
I used to feel that way. I recently (well, 2 or 3 years ago..) started playing Final Fantasy XIV. I think a lot of MMOs these days have quality-of-life improvements so that you no longer have to “nolife” the game if you don’t want to.
For example, I knew people who played WoW who joined a guild and then had to keep their weekend evenings open so they could raid with the guild. Nowadays, these games come with matchmaking so you can find a group of players to complete a dungeon with (the only exception is the hardest content, where you are unlikely to find 7 other random players who are prepared enough to play them). It turns out playing an MMO is a lot more manageable now.
I think for a casual player who doesn't want another job to raid in WoW, FF XIV is really nice go your own pace alternative. Plus the 10-year long story arc is really good. You can go as fast or as slow as you want, you don't need to worry about gearing to get into dungeons or raids. There's a ton of content.
WoW has better core gameplay (more fun to click buttons and kill simple mobs), more responsive, much more active open world, better quality of life. Final Fantasy has better boss fights, much more immersive and coherent storyline, no need for alts to try different classes.
Blizzard sometimes launches new classic progress from scratch, right now bit wowed out but in 5-10 years I could go one more round - hopefully this is still a thing in 20-30 years, seems like a good retirement hobby instead of bingo
It's been well over a decade since I played EVE Online, and man, there's so many really compelling gaming-with-other-oeiple experiences I would love to be having there.
But I feel like I'd need some real world friends to be interested, and it's been a significant chunk of time.
That's a lovely vision. If by the same miracle I retire around the same time, I'm in - haven't played since college, so I'm sure its hardly the same game I knew.
> but now it just feels like manipulating a database with extra steps
Well, realistically that is most of software development at this point. Sometimes I get depressed about that, but other times it fades away when an app brings delight to its users or solves a problem - it's a bit more humanizing and inspiring
Sure, after all most of us work jobs to manipulate the number in a database that represents our account balance, but I don't want to do that in video games anymore.
As a s'kiddie who used to host gameservers (Q3, IRCd, RTCW) and which is now a dying art, I give many kudos to anyone developing home-brew projects to emulate any sort of game server.
I loved Habbo Hotel as a teen, and the fact there are still folk developing a "retro hotels", self hosted, really sparks a little bit of joy.
I just don't have the fanbase, time nor power of influence to get folk to join but I check around now and then.
A pipe dream of mine is an open source WoW 1.12 client implementation. I wonder if anyone has ever attempted that. Bonus point if it compiles to javascript :)
I am not aware of an open source client, I am not aware of any clients that are not based on the original client for that matter.
Recently the turtle wow (a private server) team announced that they are working on a completely new Unreal Engine 5 client which sounds quit exiting. https://turtle-wow.org/turtle-wow-2
Probably, but honestly servers are sort of in the same boat.
I think Blizzard hasn't bothered going against the open source servers because even if there's just a 1% risk that a court would rule agains them, it would open the flood gates to much more professional teams to come in and do it because "it's legal".
They do go against server operators sometimes, though they don't seem very determined there, and some servers have resisted successfully (hosting in Russia and identity hiding I think). I think they mostly use "you're using copyrighted assets" as a line of attack, precisely to avoid the risk that losing that would put them at risk. But IANAL.
Also note that in both cases the projects need the assets from a real client and don't ship with them, expecting you to provide them.
Out of curiosity have people figured out a way to extract detailed character data from the official WoW servers to import into their private servers as a starting point should the commercial servers some day not be viable for whatever reason?
Not sure what you mean by "detailed character data"?
AFAIK the graphical assets are all in the client. The status data is for the most part available through (web)api and even more is available through client side interfaces.
Not sure what you mean by "detailed character data"?
Character and bank inventory including battle pets, achievements including dates, character stats, transformation unlocks such as different druid forms. Basically everything that would be required to 100% restore all the characters in a persons account exactly as they were on the commercial servers. A Full Backup of everything in ones account in a format the server can import so to speak.
They don't — they just rewrite from scratch, usually using the original art assets from the game.
You could decompile the game client if you wanted to, but that's probably more trouble than it's worth in most cases. Most of the business logic is in the server anyway, the client is just to initiate actions and render the world state.
(And similarly servers did not have the code, just assets + wire format between client and server, and they reversed engineered things from there, pretty successfully.)
It has been attempted — I know of two efforts. One was in C++ and I don't remember the name or have the link handy, I'm pretty sure it's abandoned.
The other is here: https://github.com/wowserhq/wowser, runs in the browser with WebGL, as you can see, it hasn't seen meaningful progress in almost a decade, but it is already impressive.
I was active in the WoW server emulation scene somewhere around 2008 to 2012 and fondly look back on that time.
Especially the German forum darkwow.de (and later mmonerds.de) is one of the reasons I got into computer science and I'm still in touch with some of the former members.
Ten years later I got an MSc degree in computer science and programming is one of my most profound hobbies.
I was drunk the other night asking genAI to make me an overengineered encrypted messaging system using extensive steganography involving WoW. Got me deep into WoW add-on development.
The fun part is, I was 14 years old and had zero programming knowledge at the time—just a feeling that this process could be automated and access to Google. The bot was reading the game state by capturing specific parts of the screen and comparing MD5 checksums of where the buttons were supposed to appear. I used xdotool for mouse and keyboard input, along with in-game settings like Lua command execution inside the game console to target specific NPCs or mailboxes and click to move. It probably pushed me toward pursuing a career in this industry.