2004 RuneScape fit a multiplayer RPG into 56k dial-up
jkm.dev
jkm.dev
Find call to `SetWindowsHookEx` -> Find dword (`HHOOK`) it returns -> Inject module that calls `UnhookWindowsHookEx((HHOOK)(module_base + hhook_rva));` -> profit.
Jagex has done some interesting things, but without fail, there is a blunder accompanying each.
booting is so quick today that its hardly a friction point as it used to be.
"oh no, it's okay -- you see I was selling the hack; I wouldn't have wasted time in that game."
One such situation:
A particularly competent "scripter" writes automation programs for the most complicated content in the game. As such, they sell at a premium. It makes you and him considerable money for many months. Eventually, the community starts to develop a free version of this same automation program. You are now in a situation where you've likely built your business around the expectation of revenue from this one "scripter" and his/her products. Maybe you've even given them a more favorable revenue share model.
Another issue that can pop up from this, especially in lower pop games, is that it's very obvious from a statistics point of view. The game developer will easily take notice if the hardest content in the game is suddenly being done many times per day by players who have never showed an affinity for such content. This in turn increases ban numbers which hurts your product's reputation.
All of this is to say: Having thousands of hours in the game you are working on is a massive benefit at every turn. It is best to work on games you genuinely enjoy.
From a regular player's perspective, if they want to kill a boss for 3 hours, they must use X amount of Y resource. If the cost of Y resource is very high, or worse, the market has not enough supply, the game becomes less fun for them.
This is addressed by bots, but is better addressed by a design solution from the developer.
All of that being said, if bots exist, the reward for going and farming that boss is going to be far less than if bots didn't exist. So still, negative.
I don't have any regret for profiting from a game being bled dry by bankers. When that stopped, so did I.
I feel that's fair.
In reality since the new CEO, they have been much more strict with antibotting and they have virtually disappeared from the game. It’s been an incredible 6 months without major botfarms in the game. Botting subreddits have been on suicide watch since.
Obviously we only get the details JMods are willing to give away but some of their techniques can be seen in various reddit Smackdown posts like this one from six days ago - https://preview.redd.it/prx0s0qp2hlh1.png?width=355&format=p...
Which was added because people were already doing that on the normal crabs, but fighting over the spots. So they made a crab that any number of people can fight at the same time (combat is ordinarily one to one), and it always lives for ten minutes no matter how many people are fighting it or how hard.
Sadly, the anti-cheat is not something I'm too knowledgeable in. Half of the story is visible in the client: which data is tracked, and when (as well as some visual adjustments to defeat older colour-recognition bots such as SCAR) - as well as the data scrambling I mention in the article, though this was more likely meant to break all third-party clients and packet sniffers.
Knowing how Jagex used this data once they'd tracked it isn't something I have much of an idea about, though.
On the wink: I wrote this article by hand over a couple of weeks back in May; I used AI to provide wording review on some of the more technical sections, and to create the SVG diagrams from my specs.
I also would argue it was a more complex game.
I used to operate one of the more popular player run shards, after the peak of the mainstream game, and even that feels like a distant memory.
Edit: latest notes https://uo.com/wiki/ultima-online-wiki/publish-notes/publish...
to my knowledge, no one has released a classic UO (t2a, etc) web client, though it would be pretty easy to do these days
Most of the knowledge came from my refactor of the #317 RS2 client (https://github.com/Jameskmonger/317refactor) though I looked at some other decompiled versions while writing this blog post.
https://en.wikipedia.org/wiki/History_of_massively_multiplay...
i think the author would find ultima online emulators interesting
How come the client sends waypoints rather than just the destination? Naively it seems like sending less data would be better. Is the pathfinding so expensive that you'd want to avoid doing it on the server? I suppose it works out as long as it's cheap to validate/correct the client's path?
It's also possible they could have made it work, and it would have been a technical win, but just didn't need to since they had an MVP.
//TODO: good enough, fix later
In the actual source code
One of these was showing NPC pathing in the form of dots with lines in between. At any time the WoW client would know next 5 or so waypoints of a mob that was idle patrolling.
I guess it’s more efficient to send a batch of waypoints occasionally than one at a time more regularly.
It was a interesting watching boss fights where the pathing would update quite regularly, especially if the tank had just died and it was systematically clobbering everyone else.
People spam click, so it's cheaper to compute it once and pass it around.
Sphera is even older.
MMORPGs are super old.
2004 runescape, now "old school runescape", which is actually successor 2001 Runescape "Classic", were both playable in a browser.
and my (parent's) PC couldn't even install, let alone run WoW. despite me trying with all my might.
so I'm sure I wasn't alone.
it was absolutely magical to me.
Meanwhile, WoW had to be installed, took a fairly large amount of space (I remember 14gb on my 28gb HDD), and Ironforge ran like garbage on my PC.
MapleStory was also quite popular back then for similar reasons.
I think I did end up paying for a RuneScape membership but even then it was only $5 a month.
I never fell in with the cult and I am glad I didn't. The Dofus cult in the next few years was small and hilarious and luckily the economics of that game made it a bit less fun beyond a certain level, like the real world, so you could get out before you lost your mind.
I guess one thing antisocial people lack is self-awareness.
I highly doubt I'd have ever given a damn about programming if I hadn't tried my hand at Scar scripting as a kid for both RuneScape and Neopets. Simultaneously, I also scammed people and ripped off friends in various games, but that the two activities were mutually exclusive and I was just an asshole. I'm glad I got to explore the worst part of myself in a sandboxed environment rather than taking it to any serious level.
What about loading in some rare items in Diablo 1 on your local save and them importing them into Battlnet? especially before Diablo 2, 1.10?
How about Early Minecraft - we’re talking Beta days. Did you test out those X-Ray block packs that helped you see diamonds?
Cheating literally only matters when there’s a PvP or leaderboard or whatever glory-theft that comes from it. It’s only really shamed on when it hurts other people’s gameplay experience - like screwing with a leaderboard at the “low pain” end and ruining a multiplayer experience in the middle end. For everything else, it’s an experience modifier or a difficulty slider for your own private game experience. Lots of games nowadays add in those difficulty sliders directly or add sandbox modes where there used to be “cheating” that stuff in.
MMOs, especially runescape are inherently multiplayer experiences and cheating in them hurts the game community. Your examples are all from games that are single player (though with multiplayer options, Diablo and Minecraft in particular)
On HN, people will casually discuss careers in defense, surveillance, ad-tech, exploitative finance, or fairly predatory forms of Silicon Valley capitalism without immediately being reduced to “antisocial scum.” The conversation is usually allowed to remain about incentives, systems, technical work, or professional history.
But game cheating seems to trigger a much more personal kind of condemnation.
My suspicion is that games occupy an unusually intimate place in people’s lives: they’re leisure, status, competition, nostalgia, and identity all at once. So violating the rules of a game feels less abstract than participating in an industry whose real-world externalities may be vastly larger.
That doesn’t make cheating harmless. It just makes the asymmetry interesting. Somehow writing a RuneScape cheat is treated as evidence of defective character, while doing technically impressive work for institutions or businesses with much more consequential externalities often gets discussed with detached professional curiosity.
Maybe the lack of self-awareness isn’t entirely on the side you think it is.
p.s. i've written a lot about my experiences in grey-market software on HN and I never once did so to brag : I did so because this is a place to share and develop technically interesting anecdotes.
p.s.s. I don't find your opinion on who scum is to be technically interesting.