Help - Search - Members - Calendar
Full Version: Dev Blog: Game-engine Improvements
Sal's RuneScape Forum > Everything RuneScape > RuneScape Updates & News > RuneScape Announcements
Neo Avatars
A copy of my recent developer blog, so you can comment on it. (ultimately comments will be added as a feature directly to the blog system).

-----

You may have noticed this week’s updates have caused some unusual behaviour changes in the game, and a few bugs. These are fixed now, but this post is to explain what's been going on.

I expect some of you are wondering "The game was working fine before, why do you keep fiddling with it? How is it that things that were working fine for years can suddenly temporarily break?" To answer this question I need to explain a bit about what we have been doing to the game-engine and why.

The current version of the RuneScape engine which sits behind the scenes and runs the game, has been in continual development for about 6 years now. Over the last 6 years we have been continually bolting bits onto our existing engine to add new features and support new content we want to add to the game.

You can think of it as similar to building a tower. Luckily the tower was built with very solid foundations in the first place, but after 6 years of adding new floors to the tower we really need to go back and reinforce the foundations a bit more to support the next 6 years of additions.

What this means in programming terms as that we have been replacing some of our earliest engine code, and integrating some of the later improvements more neatly. The code had become a bit of a mess of many different systems which were all written at different times by different people, all working in slightly different ways with slightly different rules. We have therefore been working hard on unifying everything internally, to be simpler and more consistent so it doesn't become terminally confusing to work on. This is a process called "Refactoring".

It's something which is only worth doing because we take a very long term view with RuneScape and fully expect to be improving the RuneScape engine for many years to come. We therefore really need to make sure we have a good foundation to work with. It's a question of short term pain and a bit of instability to ensure the long term stability of the engine.

With this week’s engine update we launched completely overhauled route finding and action systems, which are very core systems to the game. Ideally this wouldn't have changed anything at all, but the system had grown very complicated over the years as more and more rules were added on, resulting in a complex system, with lots of obscure behaviour which nobody fully understood. Developing a much a simpler replacement which still supports all of the features of the old one, and still broadly behaves the same way as the old complex one has been a big challenge!

After a lot of testing we finally declared the new version to be a good replacement for the old one. The new version was a lot simpler and easier to understand and work on, and in all the cases we tested, it still gave the same result as the old complicated one. However there are thousands and thousands of things you can do in RuneScape and short of spending years testing (not practical obviously!) there is no way we could possibly test EVERY permutation.

So we launched our new version, and after a couple of hours of launching the new version with over 100,000 simultaneous players, the amount of play from that many players at once equates to about 20 years of testing in just 2 hours! As you can imagine 20 years of testing DID try a lot more permutations and a few things which didn't quite work the same after all were discovered.

We quickly jumped to tweak the behaviour of our new system to fix those unintentional changes. However it turned out that in doing so we introduced OTHER changes which broke other things instead, which in turn needed fixing themselves.

One very obviously example of the above, was that we inadvertently made it so that you couldn't eat food and walk at the same time anymore. The engine generally doesn't let you do 2 things at once, and whilst we were simplifying and unifying things we missed one of the rare cases where the old system was inconsistent and DID let you do 2 things at once. Everyone still wanted that behaviour so we reintroduced that slightly asymmetrical behaviour in our new version, and made it so you could eat and walk at the same time (not recommended in real life unless you want indigestion!).

However we did that very quickly with less testing than normal as we were rushing to fix a live bug. When we made the change it turns out we went to far in the opposite direction and made it so there were many other places in the game were you could also do 2 things at once. At first we thought 'Well this is probably actually an improvement, it was always annoying that you couldn't do those things'. However more and more reports have been coming in, of players doing 2 things at once that weren't previously possible. We've realised that the change was more far reaching than we initially thought. A lot of the careful balancing of the game was being thrown off.

Therefore we've updated yet again to still allow eating+walking, but NOT allow the other '2 things at once' actions. Some of them may be reintroduced again in the future, but in a more controlled way and only after testing and considering the implications of each one.

The upshot of this is the behaviour really should be back to what it was before we started now, but we've got a much better engine running the game to build on for further improvements. Certainly it's been a stressful few days and I expect a few more tweaks will still be needed. However no real harm was done, nobody was banned, and it's definitely worth it to ensure we have the best possible platform to be building on for years to come.

Andrew

15-16-816-58959462
Lord Earth
Quite an interesting read, explains a lot.
Egghebrecht
aha i thought somethign more was going on
adding that new resting thing doesn't change all those other things tongue.gif

this explains
and yeah testing can't iron all the bugs out
that's normal

and they had enough people at the ready to start fixing things when they occured
which is good
Arianna
WE'RE ALL GUINEA PIGS FOR THE GOVERNMENT!!!11!!!1!1oneoneoneoneone!1!!

No, seriously, that's one good explanation.l However, I'd rather have explanations before messups than viceversa. O_o
Egghebrecht
QUOTE (Arianna @ Jun 11 2009, 03:38 PM) *
WE'RE ALL GUINEA PIGS FOR THE GOVERNMENT!!!11!!!1!1oneoneoneoneone!1!!

No, seriously, that's one good explanation.l However, I'd rather have explanations before messups than viceversa. O_o

if you do it before people will invent things even more then now tongue.gif

see the "omg i lost my *insert very expensive item* i lent out" and such

but still some reference in the update about the implementation of a whole new system would have been nice
Azarath
If what I have gathered from that is right, and my knowledge of Java is good enough it sounds like they decided to overhaul the root Class for Runescape and some of the functions inside the class decided they didnt like working with the new code. Sounds like a fun day for the Jagex engine team aware.gif

Interesting to see they didnt see if this would of happened before implementing it.
Erebus
Bummer... I liked fishing and dropping my fish without it actually interrupting my fishing. Oh well at least I got a fair bit of experience doing it the easy way now back to the old method of fishing and dropping.
Mohorak
This is awesome. For months (I think it was months, at least) I was wondering, "Wth is going on with the path-finding?" because for once you were able to click on unaccessable places, like black squares or inside locked houses. It was really annoying. Now they've fixed it so that that doesn't happen anymore!

But did they fix the bugs that you weren't able to move if a tree, etc., were in your way? I think they have...
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.