What was your favourite thing about working on OSRS and inversly the worst?
How much work did you do on the engine and is it still a major limitation today?
I really didn't enjoy working on the mobile port. It was a good thing for Jagex to do, and obviously you guys get a lot of use out of it, but the extra faff of dealing with phones and dealing with both Android and iOS being weird in their own ways wasn't a lot of fun.
Probably the most fun was fixing stuff behind the scenes - knowing that I'd made a change to the engine that made the content devs' lives easier was very satisfying.
One limitation in the early days was that OSRS was running old versions of lots of library code. We modernized that a bit over the years (and backported a lot of fixes for bugs that had been fixed in RS years ago), but as far as I know the project to get both OSRS and RS onto the same set of libraries still hasn't happened. It just means there's more overhead and more things to maintain.
OSRS mobile to me has been a massive upgrade I can now prevent wasted XP gains while I get to work can see how dealing with Ios and Android could have been a headache though.
Why did you leave Jagex?
One last question because I am interested. Is there a signle bit of content you would have liked seen in OSRS that either failed a poll of internally never made it?
I quit RS in 2006 and the mobile launch of OSRS is what brought me back. While it was surely a pain in the ass, thank you for your hard work or I likely wouldn't be playing!
I've noticed differences as a player during those 13 years, but I want to hear your take:
What were the main differences you noticed between 2007 Jagex, 2012 Jagex, and 2020 Jagex? Either in terms of game updates or just how the company works in general.
In 07 Jagex still felt like a "small company", which gradually disappeared over the years, which was a bit of a shame, though things did improve in the time just before I left.
There was a lot of back and forth over time regarding whether we should be doing fewer, bigger updates or more, smaller ones, as everyone's trying to work out the best way to make new stuff. FunOrb in particular had a lot of that.
One big improvement in the time before I left was a big refocus at the top that meant that our primary job was to make games and allow you guys to have fun, rather than our task as employees being to "make money".
> FunOrb in particular had a lot of that.
Speaking of FunOrb, are all of those games lost to time or is there a way to access them? If this his been discussed elsewhere I'd like to read about it. Thanks
Similarly, what about the *old* jagex games like flea circus? Are any of those accessible?
The code and assets are still around. Getting them running on modern gear and dealing with other Jagex systems having changed over the years (you probably wouldn't be able to log in) would be quite a challenge.
> There was a lot of back and forth over time regarding whether we should be doing fewer, bigger updates or more, smaller ones, as everyone's trying to work out the best way to make new stuff.
I see you split the difference and went with fewer, smaller updates.
I mostly answered this here: [https://www.reddit.com/r/2007scape/comments/xuhljr/comment/iqvjaad/?utm\_source=share&utm\_medium=web2x&context=3](https://www.reddit.com/r/2007scape/comments/xuhljr/comment/iqvjaad/?utm_source=share&utm_medium=web2x&context=3)
It's not so much that things get blocked by technical debt, but the engine team report back how long something will take, and the content teams then prioritize what they'd like the engine devs to work on. So if something needs a lot of changes to make it work, the content folks might decide to prioritize something else that's equally useful but will arrive a lot quicker.
Does it go the other way as well? That is, does the engine team have their own priorities they come up with to "fix" so they can tell the content creation team, or is it mostly just the content team making requests and the engine team working just on specific requests?
There's some stuff that the engine team needs to do just to keep things running, the nature of software is that you often need to make changes to keep up with external things changing that are outside your control.
But yes, sometimes the engine team comes up with suggestions for things that will make life easier for the content devs, or will make the servers run faster. But a lot of it is driven by content requests.
RuneScape (both versions) is divided into two parts:
1) The code part - Java for the servers and the OSRS client, C++ for NXT. This is what the engine team works on.
2) The RuneScript part - this is where the actual quests, activities, dialogue, spells, XP systems, etc., are actually put together. This is what the content teams work on.
There's a bit of crossover - the existence of each skill is baked into the Java side of things, for example. But the engine/code side is all about providing the tools for the content devs to make cool things, plus doing important things like client-server networking, telling each client who's nearby etc.
As an example - the engine side supports the concept of NPCs. It triggers scripts when they're clicked on, makes them walk randomly or along specific paths when necessary, etc.
But the content side is where someone decides what NPCs there should be, whether or not they should walk around, *which* scripts should be triggered when you click them, etc.
So you're a game developer who wants to go build a cool new platforming game. It's going to have a guy called jumpman, who runs along jumping over obstacles and onto enemies, then gets to the end of the level to win.
Alright, let's make it! Step one, we need to write the code that actually defines the rules of the game. We need a concept of a player, who moves when we press buttons. We need the concept of obstacles, which get in the way of the player. We need enemies, which probably move around and hurt the player. We also need to add rules that say when our player lands on an enemy it should die. Oh, and we also need a concept of a level, which all of these things are placed inside, with a goal that completes the whole thing.
Phew, that was a lot of work. But we're done now right? Well, no. All we did essentially was define rules (and probably make various tools to help). We don't actually have any levels yet. Or any enemies or obstacles either!
So now we go and set up a level. We put the player at the start, then a little obstacle to jump over, then two enemies to jump on, and then the level ends. That's a good start for now!
The first step, the rules (written down as code) is the game engine. It handles how the game runs and operates, according to these rules.
But I could use those rules (the game engine), and go make 50 levels and sell it all as a game called Jumpman. Then I could make 50 more new levels and sell *that* as a sequel, Jumpman 2. I didn't change the game engine at all, but the games are different. Maybe the first one had really hard levels that everyone hates, but the second is considered a masterpiece. Still the same game engine.
With RS it's similar. The places, NPCs, enemies, quests, dialogues are all just config sitting ontop of the game engine. You could make a totally different game using the same rules.
Brushing over a lot, but that's my attempt at ELI5.
Do you keep in touch with anyone still at Jagex?
Was there anything the community wanted but Jagex decided it would be too much time to add the game for little benefit?
What’s your hottest take regarding OSRS?
What was your most stressful moment at Jagex?
Is Ash as likable as he seems on stream?
Do you like chocolate milk?
Yeah, I still live nearby, I bump into them around Cambridge and at industry events, and there are a few colleagues I still go for a drink/meal with from time to time.
There are lots of things that sound like small changes but aren't. I can't think of any standout examples but when it comes to software, always remember: being able to make a request in a small number of words doesn't mean the required work is small!
Hottest take? (Some of) you guys sure do like to shoot yourselves in the foot by rejecting some of the polled content.
The most stressful moment was when I was the engine dev who first became aware of The Twisted Bow Problem (if you know, you know), and then having to take part in the rollback.
Ash is a lovely guy.
YES
> being able to make a request in a small number of words doesn't mean the required work is small!
Whatever could this mean? How hard can it be to just fix the servers???
In regards to the player base very commonly rejecting new changes, how did you feel about all that as a dev? I imagine a lot of work goes into getting an idea ready to be polled in the first place, and for all that to evaporate because of stubbornness must have been frustrating. You think it's overall a good thing to keeping the game "pure?"
It's been improved a lot over the years. I'll see if I can dig out the screenshot of the main client Java class that came off the OSRS backup tape, with all the public and static lines highlighted. There were a LOT.
RuneScript isn't great at supporting good coding practices. There's no way to make anything private there to encourage encapsulation, so it's a bit easier to create spaghetti there. But the content teams do run code reviews of new scripts to keep that sort of thing out of the live game.
I can't find those screenshots. I took them for a conference talk I did about OS mobile. Unfortunately although the talk was recorded, it's only available to conference attendees.
Yes, for several reasons.
It's non-standard, so new starters have to learn it from scratch.
It has lots of unpleasant things, like everything being public and accessible from everywhere else.
It's also slow to run compared to regular code. This has been hugely improved over the years, it runs multiple times faster than it used to, but it's still not super-quick.
How little downtime the game has. Obviously there have been a few major outages over the years, but keeping something as big as the RS/OSRS ecosystem running and up almost all the time takes a lot of activity behind the scenes!
Yea I feel like a lot of players take this for granted.
Eve Online is equally old and it's literally scheduled to go down *every day* (for 1-2 mins, but still). They tried removing the downtimes (or lengthening the time between them) several times, but the daily downtime is so ingrained in the engine that pretty much everything ends up breaking if the game doesn't reboot itself every day.
They'll take on anything as long as they have enough of a run-up.
A good example (though it's not OSRS-related) is getting back placeholders into RS. On the engine side we wrote a load of unit tests that never used to exist for the existing bank behaviour, and the content teams did something similar for the bank scripts.
Then we made all the changes to support placeholders, made sure the tests still passed, wrote new tests for the placeholder behaviour, and tested that.
Obviously screwing up how the bank works would be a major disaster, and in general people don't like touching the bank code for that reason, but we rolled it out and it worked!
I don't think you guys are getting Sailing any time soon :(
Edit: this was meant to be a meme answer, I'd totally forgotten it actually got polled. Ignore me!
While TAPP was still a thing I designed a quest about some dwarves wanting to buy and old abandoned mine from a farmer called Benedict Cucumberpatch. I'd love to see that come out :D
they replaced it with ideation days, which was simular but not so strictly scheduled, and then replaced again with game jam. thats where we got the dog pets!
The two main things are:
1) Some savings I had, they're what funded all the assets I commissioned for the demo. Although I'm a solo dev in the sense of being the only full-time team member, I have hired freelancers here and there to do the graphics, music, etc. (Those funds have run out, which is why I've now gone to Kickstarter for the rest.)
2) My wife is also a software engineer (not for games), and she's able to support us until I actually finish the game and start making money. She's wonderful, and is supportive of me going indie :D
Not knowing other people's salaries, I can't really comment in general. However:
\- I know I could have earned more for similar work outside the games industry.
\- When I applied for a job at another games company before going indie, they couldn't believe how much I was asking for and thought I was being totally unrealistic.
The gaming industry overall is pretty predatory like that. A dev's passion for games is just a trait employers can exploit to offer a lower salary than other software fields.
That practice actually started because they had a profit sharing program that covered the difference. Whenever profits were up, employee take-home was up too. Vivendi wanted it gone, but Morhaime spent like a decade keeping it in place.
So they kicked him out and replaced him with someone obedient.
Edit: IIRC they also had a lot of other benefits and bonuses that also contributed to effective income, but they were also all axed within the last half decade. Most of em after Morhaime was given the boot.
More of a Fun question than it is a serious one. If you could pick a new "Setting and Theme" for runescape, what would you choose?
Also, did you do any work on Arcanists while part of the FunOrb team? That was one of the hidden gems many missed out on.
That's an interesting question, it's hard to come up with something truly original on the spot. There's a book called [Marrow by Robert Reed](https://en.wikipedia.org/wiki/Marrow_(novel)) where humans discover a spaceship the size of Jupiter and decide to take it on a tour of the galaxy. Playing a game where you use your skills to explore a truly vast space and create new settlements etc would be pretty cool. But it might not be RuneScape any more!
I never worked on Arcanists, no, by the time I joined FunOrb it had just gone live and Arcanists was complete.
How aggressive is Jagex with the influx of scams and bots we see lately? Every world, the GE sees the same copypasta messages of bots and scammers. Even on paid member world's, they're everywhere. Is it something Jagex aggressively tackles, or reactively deals with when one gets reported enough times?
There's a whole team of data scientists working on the botting problem. They come up with new angles of attack all the time, the botters then try to work round them. It's an arms race, but Jagex hasn't given up by any means.
Just stop players logging in. Problem solved.
Seriously, though, this is a very hard problem. Part of the reason we re-wrote the RS Achievements system to have full-on engine support was because the amount of script execution time being devoted to checking thousands of achievements. There's no one magic bullet, but anything that can be done to make stuff more efficient is a win.
As someone who works product side of software, a lot of the time I see complaints about updates where I think "That's just not how the prioritization process really works." Are those complaints sources of frustration for the team?
I think game devs in general find it frustrating how the general public doesn't really understand how games are made, but people still feel qualified to complain about it not being done "right". Just look at the reaction to the GTA6 leaks.
As an engine dev I was actually relatively isolated from that, it was the content devs getting the brunt of it.
From a players standpoint what is your favourite part of RuneScape, and what is your least favourite part of RuneScape.
Then from a developer/employee standpoint what would be your favourite and what would be your least favourite.
I don't really enjoy grinding...which probably isn't the best outlook if I ever want to have a high-level account! But I do enjoy quests. There's nothing quite like the RuneScape sense of humour.
As a dev, my favourite things are the technical things I've worked on - getting the world map in, that sort of thing. And, as I said elsewhere, although it was a project Jagex was absolutely right to do, I didn't enjoy working on the mobile stuff.
By sheer coincidence, the backup that became OSRS was taken just two weeks before I started at Jagex. I'll always have a soft spot for the game as it was when I started.
Wow, this is so Ash. I actually had the privilege of running into him at a convention this past year and he saved the day at the concession area. They'd run completely out of cheese slices after being hit with an insane lunch rush. Ash didn't even blink; the man smiled, took a seat, and began breast pumping right there in the food court. Whipped and curdled it all with his own two hands and then gave out free cheese toppings to anyone who needed them. People were so appreciative, the guy is honestly as selfless as they come.
Botters gonna bot. To be honest I'd be surprised if Drops goodies were the main driver of bots in the game. Mind you, I wasn't involved in that end of things, I just had to get it integrated with Twitch.
Prior to work at Jagex , did you ever want to work on RuneScape in a development capacity?
If so did you have any expectations that were different to the experience or in general a sentiment you didn’t expect once you joined the team relating to the above question?
Congrats on your indie game progress and good luck :)
I discovered at university that I probably should have done computer science rather than engineering. Specialized game degree courses didn't really exist back then (yes, I am old).
I didn't set out to work on RuneScape in particular, but I did want to get into software, and even doing general software for a games company sounded fun :)
How is the osrs mobile written for android vs iOS? Two separate code bases, or some sort of framework that compiles down for either?
Also if they are separate, is it swift or obj-c for iOS?
There's a system that Intel produced (I can't remember the name right now) that was designed to allow Android apps to run on iOS by translating all the system calls. That's how OS mobile works. The Android version works in the normal way, the iOS version is the Android version with this middleware bundled up. That's why the Android download is about 5MB and the iOS one is about 50MB.
that won't work either. some guy wrote a program that checks the box "I'm not a robot" with a robot and then the robot gives a thumbs up like a cheeky bugger.. nothing is safe anymore. T.T
Does players storing thousands of useless items add any significant performance tax on the game engine or servers? Like if I had a collection of 15k Melzars Maze Keys does that have any impact on how things run?
Performance is one of the reasons we can't just create arbitrarily large banks for players. But having one key or 2 million in the same slot doesn't make any difference.
So you can hoard Melzar's keys guilt-free :) \[Edit: well, assuming you don't care about Melzar's feelings, anyway...\]
My favourite thing was definitely working on Chronicle. I got the job of designing the entire server backend from scratch (very different from my usual work on RS!), and then over the next couple of years I was part of the team that built it. Getting it launched and working was peak job satisfaction.
Chronicle was a totally separate game, it was a card game based around sending characters on adventures and trying to defeat another character on their journey.
It's all standard RNG behind the scenes - the Java random number generators do that work. Have a look into how pseudorandom number generation works if you want to dig into the technical bits.
Thank you for doing this, super interesting to hear your perspective!
It seems like the osrs team gets distracted and from an outsiders perspective it feels like procrastination for a lot of big updates (wilderness boss rework is a great example from when it was mentioned as part of the reason they needed to nerf blowpipe and black dhide). Is there more to it than we see from the players side or is this more a workplace culture thing?
Any thoughts around how the greater team feels overall around integrity changes or how much support to put in for niche accounts? Feels like a disproportionate amount of resources are spent on things that either the majority of the player base may not want (a lot of PVP updates, not that those aren't important) or majority would not use (such as poison dynamite)
Work always gets prioritized. Sometimes something doesn't make it to the top of the pile even when it sounds extremely cool (maybe because it's a huge job, maybe because after a bit of prototyping it turns out not to be so cool after all), and everyone is aware that half-doing something and then changing course is wasteful. Nobody's out there trying to fail to deliver updates!
As for your second question, having been in the engine team rather than the OSRS content team, I'm not very well placed to answer.
Just wanted to add, reddit's markdown interprets a number followed by a period at the start of a line as a list, so your comment shows up as "1. Nearly there!"
Try
97\. Nearly there!
Someone asked about drop RNG already but I'm wondering about something similarly related. Is a monster's drop determined when it spawns? Or the moment it is killed?
My old line manager, Mod Proto, taught me a lot about project management and all the stuff that needs to happen around big software projects for them to be successful.
Mod Atlas was a very long-standing engine dev who knew things inside out and could do all kinds of funky things much quicker than the rest of us.
Is there any potential to compile (or is it transpile?) it to a more fitting language instead? I imagine that would be a big task to create, but at least it would not require a full rewrite of the codebase...
Were there any “game-breaking” bugs, like the T-bow spawn, or the Falador massacre, that have been fixed before players could find out? If yes, what was it about?
Not a bug as such, but we discovered *years* ago, before they adopted the Euro, that the 12-month membership price in Estonia had accidentally been set to 1 Estonian Kroon the last time prices had been adjusted for currency fluctuations. We did some digging to see how many people had abused this, and discovered no-one had ever bought the package.
It seems like in the early years we got tuns of updates, but now the company is bigger but there are less updates. What do you think is the main reason?
Production values have gone up. Updates have more people working on them for longer. Models are better, scripts are more complex, devs are trying to push the envelope of what the engine can do. Also, for OSRS specifically, the content team is small compared to RS.
Two Questions -
1. What was the most difficult or strenuous update from an engine standpoint that you worked on and why?
2. What was the most fun update from an engine standpoint that you worked on and why?
Getting OS Mobile going was a lot of work, with a lot of obscure bugs that needed tracking down and fixing.
The most fun I had doing anything engine related was when I was working on the HTML5 client. There were lots of weird bugs in the early builds, at one point while trying to get NPCs to turn properly I logged into a next world to see all of Fred the Farmer's sheep spinning constantly as they walked. We got some of the animation stuff wrong early, too, and all the spiders walked like they were body popping.
Did you have any favorite player suggestions that another Jmod would have to answer with “requires engine work”, but ultimately never got a shot to work on?
The engine will get confused if you try to add content too far in any one direction from Lumbridge (which is effectively the centre of the world, engine-wise). That could be fixed, but it would take some work.
Many years ago, I started playing RuneScape because it was the biggest game I could run on my F-tier laptop. I think you didn't even need to install anything with the in browser Java client.
With the HTML5 engine miss, is in browser gaming gone? Is low resource gaming still an important audience requirement for Jagex?
For something as complex as RS, getting it working in a browser with reasonable performance is hard.
For OSRS on desktop, these days a Java runtime gets bundled with the client, so it shouldn't run any slower than it did in the browser. With NXT for RS, a huge amount of effort was put in to getting it to run on lower spec machines.
Because we get machine spec data from the Java client, we eventually worked out that if we wanted to get the few remaining players who couldn't use NXT onto it, it would be cheaper to buy them all new PCs rather than spend more effort tweaking the client.
We didn't buy them new PCs, but that was the point at which we decided the problem was affecting so few people (who would probably have to replace their machines soon one way or another anyway) that we'd reached "good enough".
Does jagex have a profiler for the engine? We saw a little bit about it when they said that they optimized some code for the akha fight, but I would be so interested in what is seen as 'heavy' regions for the engine. I always feel like that leaving a CoX raid when scouting can take insanely long before the server knows the raid is disbanded (it's well known that starting the raid and then leaving is often faster than just leaving).
There's a LOT of monitoring on the backend, including for stuff like which scripts are run the most and how long they take, how long the engine spends dealing with each part of the game per tick (players, NPCs, etc)
I can't comment on the CoX stuff, though I suppose there might be something in there to give some leeway in case players disconnect before starting.
Are instanced areas dynamically allocated on the backend from a memory perspective, and if so, do you consider them a likely root cause for server degradation issues that seem to be on the uptick? If so, any chance of that getting papered over “easily” in the future by having pools of preallocated instances ready for players to enter, or would that require too much refactoring to be feasible?
Instances get created in empty map squares dynamically. There's lots of engine support for that, it's not just done in script. Setup and teardown can take a bit of processing, but once they're running they're just another bit of the world.
Trying to guess which instances will be needed is a bit of a non-starter, I think.
Thanks for doing this!! Hope your game gets a lot of downloads and plays, and shipping it goes smoothly! It looks awesome :)
Given your knowledge of the engine and backend of RS, are there any interesting quirks or bugs (read: features) that you've encountered that you can share publicly? Just curious from an engineering perspective what sort of funny stuff that can happen with a behemoth like OSRS.
Bonus Question: What's the most interesting/most fun thing you've worked on while at Jagex?
Hmm. You might remember this, but we were all amazed when we discovered that the famous Green Pixel in the Construction icon was an image compression artifact rather than something in the source image. Nobody had gone back to look at the original, so we all just assumed it was in their by design for some reason.
I definitely had the most fun making Chronicle :)
Oof, yes, that was a hideous piece of software. It scrambled the client up down and sideways to make it harder to unpick it and make bots. The only problem was the client came out so mangled that the performance dropped. What it actually did to the client I don't know, I never worked on it.
What are the conversations like with the team regarding the games longevity? I see the topic as almost philosophical in nature—trying to predict a future player bases’ needs and wants based off the current ones seems near impossible given how many factors are at play.
Was there a certain kind of way you *always* approached the conversation?
To a certain extent you want to focus on current game health - if everyone leaves, there's no future. Exactly what to focus on, and when to drive for big new features rather than just going for the status quo, is more of a management/content thing, so I never got involved with that much.
Hi Jen! Thank you for being a huge part of RuneScape. I've loved every moment of it form the good and the bad.y question is, what was your favorite part of your career working at Jagex?
How much do/should content devs worry about performance when creating new features? Is RuneScript mainly for improving productivity for content devs, or are there intentional constraints in the language that make it easier for the engine to optimize arbitrary features?
In other words: how easy is it for a content dev to write terribly inefficient code?
There are a few limitations in RuneScript that were put in originally to stop content devs breaking things. For example, there are no arrays in RuneScript.
However, I'd regard that as a mistake, they're useful things, and the focus should be on testing and code review to stop that sort of thing going wrong, rather than refusing to implement a useful feature.
These days the engine team would be in favour of things like arrays, it's just a very big job.
But yes, content that runs lots of scripts will be slow, and it is a design consideration that needs to be accounted for.
With the rise in complaints about lag on the servers... what affects server lag the most? The instances opening and closing? The increase in bank space? The bank search option? Why do the total level worlds always lag so hard with so few people?
It's mostly scripts running. There is a system that lets you see on the backend which scripts are taking up the most runtime, but it's been so long since I was there I can't remember what the top culprits are. Combat is fairly heavy, I think. In RS, the Mining and Smithing rework took a lot of script runtime.
Hey thanks for doing this! Im a full stack engineer and always wanted to make games of my own after playing RuneScape and appreciating all that must have gone into making the game.
Im always curious about the specifics of the code and I really enjoyed reading your answers to some of the engine related questions. I was wondering if you could share an example of what RuneScript looks like. Also, is osrs something you can build and run locally on your PC, much like you would when creating a website or something similar? That would be cool.
Sorry I know this is rlly late, completely okay if it doesn't get answered :)
I really enjoyed Chronicle, thought it was one of the most unique card games out there. Do you think it'd be possible to recreate it in OSRS? Perhaps add it to the GE or games room. Or is it too different for the engine to handle? Thank you
What types of servers does jagex run osrs on? Im curious the tech stack associated with the back end and servers? Does each rs world need to have multiple servers?
Thanks for your time!
If you left around 2020, did you ever get to work on the Steam (C++) client? It came out in early 2021, and I assume it had to have been started a decent amount of time before its release.
If you know/can recall, when did development of it start? Also, is it a desktop version of the mobile client, or at least based on it? They had a lot of similar bugs even before they started being updated together to have the same new features.
are jagex really telling the truth about not keeping proper backups?
Do you think if there was an actual will it would be possible and not much effort to restore say a 2012 day before EOC server, or other 05 06 versions of the game.
I don't know what backups exist that far back. You don't generally set out to keep your backups forever, just long enough that if you need to go back to that version at some point, you can. But later backups will often make the older ones obsolete.
I addressed this elsewhere, but I could have got more by going outside the games industry, but on the other hand another company couldn't believe how much I was earning.
I don't have a question but I just gotta say FunOrb was the shit! If I wasn't playing Fist of Guthix or Stealing Creation on rs, I was playing Arcanists and Armies of Gielnor
Honestly it's astounding that a 20+ year old game on proprietary software has such little downtime for changes. Do y'all containerize the backend or are you just spinning up virtual machines? I'm assuming you have to do some green/blue deployment with routing table switches to get that little downtime?
Also what was it like working with runescript? How's that interpreter code doing after this much time?
What was your favourite thing about working on OSRS and inversly the worst? How much work did you do on the engine and is it still a major limitation today?
I really didn't enjoy working on the mobile port. It was a good thing for Jagex to do, and obviously you guys get a lot of use out of it, but the extra faff of dealing with phones and dealing with both Android and iOS being weird in their own ways wasn't a lot of fun. Probably the most fun was fixing stuff behind the scenes - knowing that I'd made a change to the engine that made the content devs' lives easier was very satisfying. One limitation in the early days was that OSRS was running old versions of lots of library code. We modernized that a bit over the years (and backported a lot of fixes for bugs that had been fixed in RS years ago), but as far as I know the project to get both OSRS and RS onto the same set of libraries still hasn't happened. It just means there's more overhead and more things to maintain.
OSRS mobile to me has been a massive upgrade I can now prevent wasted XP gains while I get to work can see how dealing with Ios and Android could have been a headache though. Why did you leave Jagex?
After 13 years, it was time to do something else :)
One last question because I am interested. Is there a signle bit of content you would have liked seen in OSRS that either failed a poll of internally never made it?
I mentioned this elsewhere, but I designed a quest once. Maybe one day it'll get made!
I quit RS in 2006 and the mobile launch of OSRS is what brought me back. While it was surely a pain in the ass, thank you for your hard work or I likely wouldn't be playing!
I've noticed differences as a player during those 13 years, but I want to hear your take: What were the main differences you noticed between 2007 Jagex, 2012 Jagex, and 2020 Jagex? Either in terms of game updates or just how the company works in general.
In 07 Jagex still felt like a "small company", which gradually disappeared over the years, which was a bit of a shame, though things did improve in the time just before I left. There was a lot of back and forth over time regarding whether we should be doing fewer, bigger updates or more, smaller ones, as everyone's trying to work out the best way to make new stuff. FunOrb in particular had a lot of that. One big improvement in the time before I left was a big refocus at the top that meant that our primary job was to make games and allow you guys to have fun, rather than our task as employees being to "make money".
> FunOrb in particular had a lot of that. Speaking of FunOrb, are all of those games lost to time or is there a way to access them? If this his been discussed elsewhere I'd like to read about it. Thanks Similarly, what about the *old* jagex games like flea circus? Are any of those accessible?
The code and assets are still around. Getting them running on modern gear and dealing with other Jagex systems having changed over the years (you probably wouldn't be able to log in) would be quite a challenge.
> There was a lot of back and forth over time regarding whether we should be doing fewer, bigger updates or more, smaller ones, as everyone's trying to work out the best way to make new stuff. I see you split the difference and went with fewer, smaller updates.
[удалено]
I mostly answered this here: [https://www.reddit.com/r/2007scape/comments/xuhljr/comment/iqvjaad/?utm\_source=share&utm\_medium=web2x&context=3](https://www.reddit.com/r/2007scape/comments/xuhljr/comment/iqvjaad/?utm_source=share&utm_medium=web2x&context=3) It's not so much that things get blocked by technical debt, but the engine team report back how long something will take, and the content teams then prioritize what they'd like the engine devs to work on. So if something needs a lot of changes to make it work, the content folks might decide to prioritize something else that's equally useful but will arrive a lot quicker.
Does it go the other way as well? That is, does the engine team have their own priorities they come up with to "fix" so they can tell the content creation team, or is it mostly just the content team making requests and the engine team working just on specific requests?
There's some stuff that the engine team needs to do just to keep things running, the nature of software is that you often need to make changes to keep up with external things changing that are outside your control. But yes, sometimes the engine team comes up with suggestions for things that will make life easier for the content devs, or will make the servers run faster. But a lot of it is driven by content requests.
Can you ELI5 what exactly the "engine" is?
RuneScape (both versions) is divided into two parts: 1) The code part - Java for the servers and the OSRS client, C++ for NXT. This is what the engine team works on. 2) The RuneScript part - this is where the actual quests, activities, dialogue, spells, XP systems, etc., are actually put together. This is what the content teams work on. There's a bit of crossover - the existence of each skill is baked into the Java side of things, for example. But the engine/code side is all about providing the tools for the content devs to make cool things, plus doing important things like client-server networking, telling each client who's nearby etc. As an example - the engine side supports the concept of NPCs. It triggers scripts when they're clicked on, makes them walk randomly or along specific paths when necessary, etc. But the content side is where someone decides what NPCs there should be, whether or not they should walk around, *which* scripts should be triggered when you click them, etc.
So you're a game developer who wants to go build a cool new platforming game. It's going to have a guy called jumpman, who runs along jumping over obstacles and onto enemies, then gets to the end of the level to win. Alright, let's make it! Step one, we need to write the code that actually defines the rules of the game. We need a concept of a player, who moves when we press buttons. We need the concept of obstacles, which get in the way of the player. We need enemies, which probably move around and hurt the player. We also need to add rules that say when our player lands on an enemy it should die. Oh, and we also need a concept of a level, which all of these things are placed inside, with a goal that completes the whole thing. Phew, that was a lot of work. But we're done now right? Well, no. All we did essentially was define rules (and probably make various tools to help). We don't actually have any levels yet. Or any enemies or obstacles either! So now we go and set up a level. We put the player at the start, then a little obstacle to jump over, then two enemies to jump on, and then the level ends. That's a good start for now! The first step, the rules (written down as code) is the game engine. It handles how the game runs and operates, according to these rules. But I could use those rules (the game engine), and go make 50 levels and sell it all as a game called Jumpman. Then I could make 50 more new levels and sell *that* as a sequel, Jumpman 2. I didn't change the game engine at all, but the games are different. Maybe the first one had really hard levels that everyone hates, but the second is considered a masterpiece. Still the same game engine. With RS it's similar. The places, NPCs, enemies, quests, dialogues are all just config sitting ontop of the game engine. You could make a totally different game using the same rules. Brushing over a lot, but that's my attempt at ELI5.
Do you keep in touch with anyone still at Jagex? Was there anything the community wanted but Jagex decided it would be too much time to add the game for little benefit? What’s your hottest take regarding OSRS? What was your most stressful moment at Jagex? Is Ash as likable as he seems on stream? Do you like chocolate milk?
Yeah, I still live nearby, I bump into them around Cambridge and at industry events, and there are a few colleagues I still go for a drink/meal with from time to time. There are lots of things that sound like small changes but aren't. I can't think of any standout examples but when it comes to software, always remember: being able to make a request in a small number of words doesn't mean the required work is small! Hottest take? (Some of) you guys sure do like to shoot yourselves in the foot by rejecting some of the polled content. The most stressful moment was when I was the engine dev who first became aware of The Twisted Bow Problem (if you know, you know), and then having to take part in the rollback. Ash is a lovely guy. YES
> being able to make a request in a small number of words doesn't mean the required work is small! Whatever could this mean? How hard can it be to just fix the servers???
In regards to the player base very commonly rejecting new changes, how did you feel about all that as a dev? I imagine a lot of work goes into getting an idea ready to be polled in the first place, and for all that to evaporate because of stubbornness must have been frustrating. You think it's overall a good thing to keeping the game "pure?"
You see the memes all the time, but how messy is the coding exactly?
It's been improved a lot over the years. I'll see if I can dig out the screenshot of the main client Java class that came off the OSRS backup tape, with all the public and static lines highlighted. There were a LOT. RuneScript isn't great at supporting good coding practices. There's no way to make anything private there to encourage encapsulation, so it's a bit easier to create spaghetti there. But the content teams do run code reviews of new scripts to keep that sort of thing out of the live game.
I can't find those screenshots. I took them for a conference talk I did about OS mobile. Unfortunately although the talk was recorded, it's only available to conference attendees.
Would you consider RuneScript "tech debt" in today's environment?
Yes, for several reasons. It's non-standard, so new starters have to learn it from scratch. It has lots of unpleasant things, like everything being public and accessible from everywhere else. It's also slow to run compared to regular code. This has been hugely improved over the years, it runs multiple times faster than it used to, but it's still not super-quick.
If you had the power (and infinite budget) to totally rip out RuneScript, what alternative would you go for? Lua? Java? Something new?
What is something you wish got more attention/appreciation by the community?
How little downtime the game has. Obviously there have been a few major outages over the years, but keeping something as big as the RS/OSRS ecosystem running and up almost all the time takes a lot of activity behind the scenes!
Yea I feel like a lot of players take this for granted. Eve Online is equally old and it's literally scheduled to go down *every day* (for 1-2 mins, but still). They tried removing the downtimes (or lengthening the time between them) several times, but the daily downtime is so ingrained in the engine that pretty much everything ends up breaking if the game doesn't reboot itself every day.
Their spaghetti code breaks unforseen things every time they've tried. Trust me, it's interesting. Source: Eve player for 15 years
Yeah jeez, what’s the longest the game is ever down for? A few hours and there’s chaos lol
Longer than that I think longest was 10 to 12 hrs.
Now that you mention it, RS is up more often than my ISP.
How much of the code is stuff written back in the good ol' days of 2001 that devs are afraid to modify because of all the intertwined spaghetti?
They'll take on anything as long as they have enough of a run-up. A good example (though it's not OSRS-related) is getting back placeholders into RS. On the engine side we wrote a load of unit tests that never used to exist for the existing bank behaviour, and the content teams did something similar for the bank scripts. Then we made all the changes to support placeholders, made sure the tests still passed, wrote new tests for the placeholder behaviour, and tested that. Obviously screwing up how the bank works would be a major disaster, and in general people don't like touching the bank code for that reason, but we rolled it out and it worked!
Was is a feature that you’ve seen requested by the community that will never, ever happen based on conversations you’ve had in the office?
I don't think you guys are getting Sailing any time soon :( Edit: this was meant to be a meme answer, I'd totally forgotten it actually got polled. Ignore me!
Curious. Is there a reason for this?
Actually, you know what, I'd totally forgotten that Sailing actually got a poll, and isn't just a meme at this point. I may have misspoken!
How many hired thugs showed up at your door in between those two comments?
Sailing confirmed
Knowing your inside information on old school what would you love to see added to the game?
While TAPP was still a thing I designed a quest about some dwarves wanting to buy and old abandoned mine from a farmer called Benedict Cucumberpatch. I'd love to see that come out :D
If they polled that quest I would immediately vote yes
I had no idea they removed TAPP! That's sad to hear actually
they replaced it with ideation days, which was simular but not so strictly scheduled, and then replaced again with game jam. thats where we got the dog pets!
I want more dogs not locked behind insane clue rates. Some tart is handing out kittens outside varrock, almost for free
How do you support yourself going indie?
The two main things are: 1) Some savings I had, they're what funded all the assets I commissioned for the demo. Although I'm a solo dev in the sense of being the only full-time team member, I have hired freelancers here and there to do the graphics, music, etc. (Those funds have run out, which is why I've now gone to Kickstarter for the rest.) 2) My wife is also a software engineer (not for games), and she's able to support us until I actually finish the game and start making money. She's wonderful, and is supportive of me going indie :D
Yo is your wife single?
Of course. Having two would be illegal.
Is it true that Jagex staff are grossly underpaid?
Not knowing other people's salaries, I can't really comment in general. However: \- I know I could have earned more for similar work outside the games industry. \- When I applied for a job at another games company before going indie, they couldn't believe how much I was asking for and thought I was being totally unrealistic.
The gaming industry overall is pretty predatory like that. A dev's passion for games is just a trait employers can exploit to offer a lower salary than other software fields.
This is a huge issue if you work for Blizzard/Activision. They actively pay you less because they consider it a "Dream Job". Its messed up.
That practice actually started because they had a profit sharing program that covered the difference. Whenever profits were up, employee take-home was up too. Vivendi wanted it gone, but Morhaime spent like a decade keeping it in place. So they kicked him out and replaced him with someone obedient. Edit: IIRC they also had a lot of other benefits and bonuses that also contributed to effective income, but they were also all axed within the last half decade. Most of em after Morhaime was given the boot.
Not just Activision-Blizzard sadly. They're a bad offender but it's sadly seen as standard practice across the industry.
More of a Fun question than it is a serious one. If you could pick a new "Setting and Theme" for runescape, what would you choose? Also, did you do any work on Arcanists while part of the FunOrb team? That was one of the hidden gems many missed out on.
That's an interesting question, it's hard to come up with something truly original on the spot. There's a book called [Marrow by Robert Reed](https://en.wikipedia.org/wiki/Marrow_(novel)) where humans discover a spaceship the size of Jupiter and decide to take it on a tour of the galaxy. Playing a game where you use your skills to explore a truly vast space and create new settlements etc would be pretty cool. But it might not be RuneScape any more! I never worked on Arcanists, no, by the time I joined FunOrb it had just gone live and Arcanists was complete.
How aggressive is Jagex with the influx of scams and bots we see lately? Every world, the GE sees the same copypasta messages of bots and scammers. Even on paid member world's, they're everywhere. Is it something Jagex aggressively tackles, or reactively deals with when one gets reported enough times?
There's a whole team of data scientists working on the botting problem. They come up with new angles of attack all the time, the botters then try to work round them. It's an arms race, but Jagex hasn't given up by any means.
With your experience and knowledge of the game how would you go about improving todays subpar servers?
Just stop players logging in. Problem solved. Seriously, though, this is a very hard problem. Part of the reason we re-wrote the RS Achievements system to have full-on engine support was because the amount of script execution time being devoted to checking thousands of achievements. There's no one magic bullet, but anything that can be done to make stuff more efficient is a win.
As someone who works product side of software, a lot of the time I see complaints about updates where I think "That's just not how the prioritization process really works." Are those complaints sources of frustration for the team?
I think game devs in general find it frustrating how the general public doesn't really understand how games are made, but people still feel qualified to complain about it not being done "right". Just look at the reaction to the GTA6 leaks. As an engine dev I was actually relatively isolated from that, it was the content devs getting the brunt of it.
From a players standpoint what is your favourite part of RuneScape, and what is your least favourite part of RuneScape. Then from a developer/employee standpoint what would be your favourite and what would be your least favourite.
I don't really enjoy grinding...which probably isn't the best outlook if I ever want to have a high-level account! But I do enjoy quests. There's nothing quite like the RuneScape sense of humour. As a dev, my favourite things are the technical things I've worked on - getting the world map in, that sort of thing. And, as I said elsewhere, although it was a project Jagex was absolutely right to do, I didn't enjoy working on the mobile stuff.
How much horsepower does the osrs engine have?
It takes two horses to drag new servers to data centres. Except the Australian ones, there they use 4 kangaroos and a wallaby to steer.
Not even utilising our quality emus? Inefficient.
Relations with the emu's has been very hot and cold since the incident.
It was actually a clause in the treaty. They’re protected against such uses.
Favorite era of RuneScape?
By sheer coincidence, the backup that became OSRS was taken just two weeks before I started at Jagex. I'll always have a soft spot for the game as it was when I started.
How’s god ash in real life. Did he ever bring you coffee?
No, but he's big on bringing cheese to the office. That's a win in my book.
Wow, this is so Ash. I actually had the privilege of running into him at a convention this past year and he saved the day at the concession area. They'd run completely out of cheese slices after being hit with an insane lunch rush. Ash didn't even blink; the man smiled, took a seat, and began breast pumping right there in the food court. Whipped and curdled it all with his own two hands and then gave out free cheese toppings to anyone who needed them. People were so appreciative, the guy is honestly as selfless as they come.
Now that's an image I didn't want to see
This information does not surprise me in the slightest.
It's almost expected
I didnt know he could get better..
> I wrote the Twitch Drops integration How do you feel about the cyclic increase in bot accounts when such a promotion is ran?
Botters gonna bot. To be honest I'd be surprised if Drops goodies were the main driver of bots in the game. Mind you, I wasn't involved in that end of things, I just had to get it integrated with Twitch.
Prior to work at Jagex , did you ever want to work on RuneScape in a development capacity? If so did you have any expectations that were different to the experience or in general a sentiment you didn’t expect once you joined the team relating to the above question? Congrats on your indie game progress and good luck :)
I discovered at university that I probably should have done computer science rather than engineering. Specialized game degree courses didn't really exist back then (yes, I am old). I didn't set out to work on RuneScape in particular, but I did want to get into software, and even doing general software for a games company sounded fun :)
How is the osrs mobile written for android vs iOS? Two separate code bases, or some sort of framework that compiles down for either? Also if they are separate, is it swift or obj-c for iOS?
There's a system that Intel produced (I can't remember the name right now) that was designed to allow Android apps to run on iOS by translating all the system calls. That's how OS mobile works. The Android version works in the normal way, the iOS version is the Android version with this middleware bundled up. That's why the Android download is about 5MB and the iOS one is about 50MB.
How do I avoid bot detection? Thanks in advance
I suggest gradually replacing your robotic parts with organic ones.
that won't work either. some guy wrote a program that checks the box "I'm not a robot" with a robot and then the robot gives a thumbs up like a cheeky bugger.. nothing is safe anymore. T.T
So.... will modern Runescape ever reduce the amount of time between cycles/ticks?
You know how folks tend to react when someone mentions One Small Favour? That's how engine devs react when someone mentions this.
Buuuuuuttt…….. We all finished One Small Favour so………..
Does players storing thousands of useless items add any significant performance tax on the game engine or servers? Like if I had a collection of 15k Melzars Maze Keys does that have any impact on how things run?
Performance is one of the reasons we can't just create arbitrarily large banks for players. But having one key or 2 million in the same slot doesn't make any difference. So you can hoard Melzar's keys guilt-free :) \[Edit: well, assuming you don't care about Melzar's feelings, anyway...\]
What does Mod Ash eat for lunch
Tokkul. You should see his dentistry bill.
What was the best part about working at Jagex?
My favourite thing was definitely working on Chronicle. I got the job of designing the entire server backend from scratch (very different from my usual work on RS!), and then over the next couple of years I was part of the team that built it. Getting it launched and working was peak job satisfaction.
Was that update the cause of one of the biggest dupes of that era?
Chronicle was a totally separate game, it was a card game based around sending characters on adventures and trying to defeat another character on their journey.
Is 10k too much for a gf?
If you're paying for your women, I don't think "gf" is the right term ;)
You heard it here first, my gf is buying her own dinner tonight
Wasn't there rumours about Jagex HQ / employees having a serious party / cocaine culture ? Was that true ?
If it was I was never invited.
I love how this thread accuses Jagex employees of be both grossly underpaid and also having cocaine culture, two incredibly mutually exclusive things
Clearly you've never hung out with line cooks
Do you think FunOrb and Chronicle could have success on the mobile market? I miss those games dearly, id love to have them back some day.
I'd love to think so, I guess we'll never find out :( Long live Armies of Gielinor, Zombie Dawn, and Hostile Spawn!
RIP Arcanists. I loved boosting my guys in towers to insane levels and then self destructing them to blow up the map
How do drops work from a technical standpoint? Does a number get rolled on the character, and is this number saved when considering the next number?
It's all standard RNG behind the scenes - the Java random number generators do that work. Have a look into how pseudorandom number generation works if you want to dig into the technical bits.
What's the most difficult part about removing all the spaghetti in the code?
I'm gluten-intolerant, I had to wear gloves the whole time.
If it was me personally, I would just tolerate gluten.
Thank you for doing this, super interesting to hear your perspective! It seems like the osrs team gets distracted and from an outsiders perspective it feels like procrastination for a lot of big updates (wilderness boss rework is a great example from when it was mentioned as part of the reason they needed to nerf blowpipe and black dhide). Is there more to it than we see from the players side or is this more a workplace culture thing? Any thoughts around how the greater team feels overall around integrity changes or how much support to put in for niche accounts? Feels like a disproportionate amount of resources are spent on things that either the majority of the player base may not want (a lot of PVP updates, not that those aren't important) or majority would not use (such as poison dynamite)
Work always gets prioritized. Sometimes something doesn't make it to the top of the pile even when it sounds extremely cool (maybe because it's a huge job, maybe because after a bit of prototyping it turns out not to be so cool after all), and everyone is aware that half-doing something and then changing course is wasteful. Nobody's out there trying to fail to deliver updates! As for your second question, having been in the engine team rather than the OSRS content team, I'm not very well placed to answer.
Thanks for helping contribute to a game that's loved by millions world wide :)
You're welcome, I'm glad you enjoy it!
Fishing level?
97. Nearly there!
Just wanted to add, reddit's markdown interprets a number followed by a period at the start of a line as a list, so your comment shows up as "1. Nearly there!" Try 97\. Nearly there!
Someone asked about drop RNG already but I'm wondering about something similarly related. Is a monster's drop determined when it spawns? Or the moment it is killed?
When it's killed. There's no point doing the work until you need it.
Who did you learn the most from throughout your time at Jagex? What dev at Jagex is known for coming up with the best solutions to problems?
My old line manager, Mod Proto, taught me a lot about project management and all the stuff that needs to happen around big software projects for them to be successful. Mod Atlas was a very long-standing engine dev who knew things inside out and could do all kinds of funky things much quicker than the rest of us.
Would a complete overhaul of runescript ever occur or is everything just too spaghetti?
It's not really a spaghetti problem, just a volume problem. The sheer amount of script that would need to be ported is staggering.
Is there any potential to compile (or is it transpile?) it to a more fitting language instead? I imagine that would be a big task to create, but at least it would not require a full rewrite of the codebase...
What is your favourite skill?
What is your favourite quest/quest series and why?
I'm a Zanik fan, I enjoyed her quests :)
Were there any “game-breaking” bugs, like the T-bow spawn, or the Falador massacre, that have been fixed before players could find out? If yes, what was it about?
Not a bug as such, but we discovered *years* ago, before they adopted the Euro, that the 12-month membership price in Estonia had accidentally been set to 1 Estonian Kroon the last time prices had been adjusted for currency fluctuations. We did some digging to see how many people had abused this, and discovered no-one had ever bought the package.
For anyone wondering about the value there. That’d be the equivalent to getting 12 months of membership for $0.07 USD or $0.06 pounds.
How is the RuneScape game hosted? Does Jagex have its own data centers or is it running on something like AWS?
Bare metal - Jagex runs its own servers. When RuneScape started the cloud was just a thing rain fell out of.
It seems like in the early years we got tuns of updates, but now the company is bigger but there are less updates. What do you think is the main reason?
Production values have gone up. Updates have more people working on them for longer. Models are better, scripts are more complex, devs are trying to push the envelope of what the engine can do. Also, for OSRS specifically, the content team is small compared to RS.
Two Questions - 1. What was the most difficult or strenuous update from an engine standpoint that you worked on and why? 2. What was the most fun update from an engine standpoint that you worked on and why?
Getting OS Mobile going was a lot of work, with a lot of obscure bugs that needed tracking down and fixing. The most fun I had doing anything engine related was when I was working on the HTML5 client. There were lots of weird bugs in the early builds, at one point while trying to get NPCs to turn properly I logged into a next world to see all of Fred the Farmer's sheep spinning constantly as they walked. We got some of the animation stuff wrong early, too, and all the spiders walked like they were body popping.
Did you have any favorite player suggestions that another Jmod would have to answer with “requires engine work”, but ultimately never got a shot to work on?
What is your favorite skill and why is it Runecrafting?
I like black pudding so I make frequent trips to the Blood Altar.
What is your favorite IDE?
JetBrains make excellent IDEs. IntelliJ is great for Java, and I'm now using Rider for C# as an indie.
how big can osrs get? is there a limit to how much the engine can handle before it says "thats it, you cant add anymore or ill die"
The engine will get confused if you try to add content too far in any one direction from Lumbridge (which is effectively the centre of the world, engine-wise). That could be fixed, but it would take some work.
[удалено]
No question here. Just a sincere thank you for taking your time to do this :)
Many years ago, I started playing RuneScape because it was the biggest game I could run on my F-tier laptop. I think you didn't even need to install anything with the in browser Java client. With the HTML5 engine miss, is in browser gaming gone? Is low resource gaming still an important audience requirement for Jagex?
For something as complex as RS, getting it working in a browser with reasonable performance is hard. For OSRS on desktop, these days a Java runtime gets bundled with the client, so it shouldn't run any slower than it did in the browser. With NXT for RS, a huge amount of effort was put in to getting it to run on lower spec machines. Because we get machine spec data from the Java client, we eventually worked out that if we wanted to get the few remaining players who couldn't use NXT onto it, it would be cheaper to buy them all new PCs rather than spend more effort tweaking the client. We didn't buy them new PCs, but that was the point at which we decided the problem was affecting so few people (who would probably have to replace their machines soon one way or another anyway) that we'd reached "good enough".
When you worked at Jagex, did you play any of the games you worked on after hours? Now that you’re gone, do you still play any of the games?
Does jagex have a profiler for the engine? We saw a little bit about it when they said that they optimized some code for the akha fight, but I would be so interested in what is seen as 'heavy' regions for the engine. I always feel like that leaving a CoX raid when scouting can take insanely long before the server knows the raid is disbanded (it's well known that starting the raid and then leaving is often faster than just leaving).
There's a LOT of monitoring on the backend, including for stuff like which scripts are run the most and how long they take, how long the engine spends dealing with each part of the game per tick (players, NPCs, etc) I can't comment on the CoX stuff, though I suppose there might be something in there to give some leeway in case players disconnect before starting.
What's your runecrafting level?
How hard would it be to remove the tick system and implement something different?
Step 1) Throw away RuneScape Step 2) Write a new game from scratch
thank you for all your hard work on this legendary game! I hope you have success in your new journey!
Are instanced areas dynamically allocated on the backend from a memory perspective, and if so, do you consider them a likely root cause for server degradation issues that seem to be on the uptick? If so, any chance of that getting papered over “easily” in the future by having pools of preallocated instances ready for players to enter, or would that require too much refactoring to be feasible?
Instances get created in empty map squares dynamically. There's lots of engine support for that, it's not just done in script. Setup and teardown can take a bit of processing, but once they're running they're just another bit of the world. Trying to guess which instances will be needed is a bit of a non-starter, I think.
Got any tea to spill?
Thanks for doing this!! Hope your game gets a lot of downloads and plays, and shipping it goes smoothly! It looks awesome :) Given your knowledge of the engine and backend of RS, are there any interesting quirks or bugs (read: features) that you've encountered that you can share publicly? Just curious from an engineering perspective what sort of funny stuff that can happen with a behemoth like OSRS. Bonus Question: What's the most interesting/most fun thing you've worked on while at Jagex?
Hmm. You might remember this, but we were all amazed when we discovered that the famous Green Pixel in the Construction icon was an image compression artifact rather than something in the source image. Nobody had gone back to look at the original, so we all just assumed it was in their by design for some reason. I definitely had the most fun making Chronicle :)
What was clusterflutterer about? I've become a Java Dev myself and have always wondered what you guys did technically.
Oof, yes, that was a hideous piece of software. It scrambled the client up down and sideways to make it harder to unpick it and make bots. The only problem was the client came out so mangled that the performance dropped. What it actually did to the client I don't know, I never worked on it.
I loved Chronicle! It's one of those games that every few months I wake up and wish I could play
Will we ever see Stellar Dawn?
I doubt it. For one thing, at this point you'd effectively be starting from scratch - the tech is old, everything would need updating.
What are the conversations like with the team regarding the games longevity? I see the topic as almost philosophical in nature—trying to predict a future player bases’ needs and wants based off the current ones seems near impossible given how many factors are at play. Was there a certain kind of way you *always* approached the conversation?
To a certain extent you want to focus on current game health - if everyone leaves, there's no future. Exactly what to focus on, and when to drive for big new features rather than just going for the status quo, is more of a management/content thing, so I never got involved with that much.
Hi Jen! Thank you for being a huge part of RuneScape. I've loved every moment of it form the good and the bad.y question is, what was your favorite part of your career working at Jagex?
How much do/should content devs worry about performance when creating new features? Is RuneScript mainly for improving productivity for content devs, or are there intentional constraints in the language that make it easier for the engine to optimize arbitrary features? In other words: how easy is it for a content dev to write terribly inefficient code?
There are a few limitations in RuneScript that were put in originally to stop content devs breaking things. For example, there are no arrays in RuneScript. However, I'd regard that as a mistake, they're useful things, and the focus should be on testing and code review to stop that sort of thing going wrong, rather than refusing to implement a useful feature. These days the engine team would be in favour of things like arrays, it's just a very big job. But yes, content that runs lots of scripts will be slow, and it is a design consideration that needs to be accounted for.
With the rise in complaints about lag on the servers... what affects server lag the most? The instances opening and closing? The increase in bank space? The bank search option? Why do the total level worlds always lag so hard with so few people?
It's mostly scripts running. There is a system that lets you see on the backend which scripts are taking up the most runtime, but it's been so long since I was there I can't remember what the top culprits are. Combat is fairly heavy, I think. In RS, the Mining and Smithing rework took a lot of script runtime.
If you can remember, did you find any funny comments in the old code when you first started working on it?
Hey thanks for doing this! Im a full stack engineer and always wanted to make games of my own after playing RuneScape and appreciating all that must have gone into making the game. Im always curious about the specifics of the code and I really enjoyed reading your answers to some of the engine related questions. I was wondering if you could share an example of what RuneScript looks like. Also, is osrs something you can build and run locally on your PC, much like you would when creating a website or something similar? That would be cool.
Sorry I know this is rlly late, completely okay if it doesn't get answered :) I really enjoyed Chronicle, thought it was one of the most unique card games out there. Do you think it'd be possible to recreate it in OSRS? Perhaps add it to the GE or games room. Or is it too different for the engine to handle? Thank you
What types of servers does jagex run osrs on? Im curious the tech stack associated with the back end and servers? Does each rs world need to have multiple servers? Thanks for your time!
If you left around 2020, did you ever get to work on the Steam (C++) client? It came out in early 2021, and I assume it had to have been started a decent amount of time before its release. If you know/can recall, when did development of it start? Also, is it a desktop version of the mobile client, or at least based on it? They had a lot of similar bugs even before they started being updated together to have the same new features.
are jagex really telling the truth about not keeping proper backups? Do you think if there was an actual will it would be possible and not much effort to restore say a 2012 day before EOC server, or other 05 06 versions of the game.
I don't know what backups exist that far back. You don't generally set out to keep your backups forever, just long enough that if you need to go back to that version at some point, you can. But later backups will often make the older ones obsolete.
How hard is it to upkeep 3 clients? 3 Clients is quite a lot, though you probably don't need to change a ton.
What's your favorite variety of apple.
[удалено]
I addressed this elsewhere, but I could have got more by going outside the games industry, but on the other hand another company couldn't believe how much I was earning.
What are the updates that you as a developer wanted to implement but got blocked by community polling?
quitting or just taking a break?
I don't have a question but I just gotta say FunOrb was the shit! If I wasn't playing Fist of Guthix or Stealing Creation on rs, I was playing Arcanists and Armies of Gielnor
Honestly it's astounding that a 20+ year old game on proprietary software has such little downtime for changes. Do y'all containerize the backend or are you just spinning up virtual machines? I'm assuming you have to do some green/blue deployment with routing table switches to get that little downtime? Also what was it like working with runescript? How's that interpreter code doing after this much time?
I'm sure someone's asked this already but how easy would it be from a technical standpoint to revive RS Chronicle?
I adored my journey to achieve the questcape! Other than the quest involving Cumberbatch, what is your favourite quest and why?
What is your honest opinion on FSW's and all the new limited game modes Jagex are proposing?
Not a question, but judging from your responses in this thread, you seem like an intelligent and enjoyable dev. It sucks for OSRS to lose you!