September SKOTM Signup

posted by Fred Bot on 5 September 2019 at 00:00

Signup for the new Skill(s) of The Month has started!

This month we are running two competitions!

Woodcutting
Starts: September 13, 2019
Ends: September 20 2019
Signup Here!

Mining
Starts: September 20, 2019
Ends: September 27 2019
Signup Here!

PS: There are prizes on offer.

Untangling spaghetti code

posted by Cireon on 14 September 2019 at 03:09 | Discuss on our Forums

Spaghetti code is a term that has become disliked by RuneScape players and developers alive. Spaghetti code is often given as reason we are not seeing certain updates or reworks come out in RuneScape. Spaghetti code refers to code that is just as long and tangled as actual spaghetti. Modern programming languages have many ways of keeping code organised. Subroutines that execute a single action can be abstracted into methods, and classes are used to group methods pertaining to a single type of object together. Sometimes it is just easier to tack on a few lines of code to an existing block of code just to make things work. Over time, you end up with long blocks of code without a clear structure, making it hard to maintain, work with, or add features to. In turn, incomprehensible code makes it easier to accidentally introduce bugs.

Spaghetti code is actually somewhat of a negative term in itself. A more neutral - or professional - term would be technical debt. This term is surprisingly appropriate, since it resembles a debt you could accrue in the real world by taking out a loan. Put quick and simply: whenever a developer makes the decision to take a shortcut in the code rather than doing things the right way to get something done quicker now, they are taking a loan. In technical debt, the debt is measured in time. You save time now, but in the future you may have to go back and fix the code, because it blocks a different feature.

Just like a real debt, technical debt accumulates interest over time. Whenever you touch code that already contains technical debt, you have to work with the shortcut you (or another developer) made earlier, which takes more time (the interest, since debt is measured in time, remember!) than if you had taken the right approach from the start.

So to summarise: spaghetti code, or technical debt, is caused by a programmer making the choice to not implement the "right" solution now, but leaving that for the future, gaining valuable time now, but potentially having to spend lots of time in the future to fix the mess you just made.

As I explained, spaghetti code is often a negative term, but is technical debt in itself a bad thing? The way we often hear about it from Jagex makes it sound that way, but it is not necessarily true. Technical debt can be caused by programmers who lack the skill to come up with a right solution, but more often it is actually a conscious choice. Building the right solution can sometimes take days, whereas a quick hack might get around the problem within a few minutes. Even though you are not really solving the problem, if you have a deadline looming up ahead of you, it may be valid to push the problem forward in time.

Another good reason to accept technical debt is if you are prototyping. Let's say you have an idea for a killer feature, but you are not sure if it will work. This is very often the case in game design, where there isn't a formula for "fun", as I explained in this earlier article I wrote. Quickly putting some code together so you can try out the feature is a really important tool. This is also where the danger creeps in though. A programmer may build a prototype, and when the idea is approved, the prototype code is kept, with all its quick hacks and bad choices included. This is only one form of laziness that can cause technical debt. Sometimes a developer just really wants to make that deadline, even though the better decision would be to push the deadline back.

There are good reasons and bad reasons for taking on a technical debt. Even if you have a good reason, you're not out of the woods yet. That loan you're taking now is going to come back later, usually with a vengeance. It is important to take that into consideration, and have a plan to address the debt in the future. Many companies incorporate weeks in which the focus is to only remove technical debt. Another important way of reducing technical debt is by the so-called boy scout rule: each time you change code, you improve one or two things in its vicinity. It can be as simple as renaming a variable or splitting out a method, but over time it will improve the quality of the codebase.

Games have an interesting position when it comes to technical debt. A game is often finished, released, and forgotten about. Maybe there are several patches or DLC, but the lifespan of a game is rarely longer than a few months. That means that in game programming, you often get away with not repaying your technical debt ever, because everybody moves to a new project. Especially in the last few weeks before a big release, game development often finds itself in a state of crunch. Crunch is notoriously present in game development studios, and refers to the period of time in which developers often make long hours (nights and weekends included), just to get the game out on time for the promised release dates. The industry here is brutal, because gamers expect to know about release dates early, and expect to pre-order the game and play it on release date. In that period of time, if you have the choice between refactoring a bunch of code, or actually getting some sleep tonight, that choice is easily made.

This brings us right back to RuneScape. As opposed to many other games, RuneScape's code has actually existed for over a decade. There is no hoping that a quick hack now will never come back to haunt you. Yet, we see the pressure of the community to release updates weekly. Larger updates at RuneScape may actually see some crunch time to make the promised release date. After that, it's immediately time for the next project. Luckily, we are seeing a bit of a shift. Larger rework/remaster projects are a great opportunity to rework code as well. Working on patches in turn allows application of the boy scout rule, touching up code as you go.

In the past few years, code health and technical debt has become a top of mind issue to many companies that deal with ongoing maintenance of a code base. That means there are plenty of examples out there to learn from. It seems that Jagex at least has built up the courage to tackle older parts of the codebase, and reworking them. They are finally repaying the debt they have accrued over the many years of quick hacks and fixes. We may have to be patient while they do so, but it looks like we can look forward to content remasters as visible outcome to this progress.

Hopefully you have learned a bit about what spaghetti code really is, and why it isn't necessarily a bad thing. It does help to get things done on time, even though there is a cost involved at a later date. Repaying the debt is the only way to move forward, and that is what we can expect Jagex to work on for at least the next year.


The Weapon Diversity project has been cancelled but were players really excited for it? Is the new Player Owned Farm nerf actually a buff? And the vision for the future is revealed with Mod Osborne and the Episodic Content team Designer Diary.

Download Now
Direct Download – 64 Kbit MP3 (Full Show Notes)

Join us in-game at Friends’ Chat: BitsBytes, Follow us on Twitter @rsbandb, Join our Discord: rsbandb.com/discord
A Special Thanks to Our Patreon Supporters

  • Adam T
  • Arvīds L
  • Brock H
  • Cass
  • Darren L
  • Diana
  • Gylefleur
  • Jason S
  • Kyle
  • Logan H
  • Kabru
  • Rippeth
  • Sam W
  • Tom V

Hosts: Shane and Tanis
Duration: 2:07:01

Earth joins us to give his perspective on the new September Mobile Update and answer if mobile has truly gotten better. Also witness a dissection of the live stream where we ask big questions on the future of RuneScape vs. Old School.

Download Now
Direct Download – 64 Kbit MP3 (Full Show Notes)

Join us in-game at Friends’ Chat: BitsBytes, Follow us on Twitter @rsbandb, Join our Discord: rsbandb.com/discord
A Special Thanks to Our Patreon Supporters

  • Adam T
  • Arvīds L
  • Brock H
  • Cass
  • Darren L
  • Diana
  • Gylefleur
  • Kyle
  • Logan H
  • Kabru
  • Rippeth
  • Sam W
  • Tom V

Hosts: Shane, Tanis, and Earth
Duration: 2:05:34

[Informer] Breaking Out of Summer

posted by Shane on 3 September 2019 at 02:09

Greetings,

Summer is over and we've just witnessed one of the largest RuneScape updates ever this past summer. This month our articles hover around Anachronia in places and have honest discussions about the future of RuneScape (though we do that almost every month). We also managed to come up with an impressive slate of articles given that August was mainly a patch-week month.

Games evolve and grow over time and what is powerful today may not have been powerful only a couple years ago. This is of course talking about power creep. RuneScape has had a history of combat evolution, forced and natural, that has brought us to where we are today. This month Cireon talked about power creep in combat in The Combat Levels Are Over 9000!

On the same plane as combat comes the inevitable grind of boss killing. RuneScape being an MMO is grindy by nature in areas and that happens for combat as well. There's something called the IFB achievement or Insane Final Boss achievement that requires players to kill every boss numerous times and get their pets. David this month is talking about his greatest challenge, Going Insane (Final Boss).

Combat aside we also have the continued focus on Anachronia. I sometimes also just say things off the cuff that get people interested in things. This happened during our monthly roundtable where we went on a brief discussion about the future of Anachronia. This got Tanis thinking about combining Anachronia, dinosaurs, digging, and a new skill. The result is Archaeology and you can read more about it in Digging Up the Future.

The Dragonkin also feature prominently on Anachronia. Everywhere you look you'll see Dragonkin emblems or statues. There's definitely something going on there as evidenced by the end of Desperate Times. With the Dragonkin in question and a look towards the future, Alex summed up what we know about the Dragonkin and brought forward ideas of where that story-line could go in the future in The Dragonkin Story.

Finally... finally... finally... this month I can reveal something that I've been working on since the end of June. The end of June saw the launch of Breaking the Storm, the event that built the boat we use to get to Anachronia. Long story short, I activated one of my old tutorial test accounts, got 60 Construction, 28 Farming, and then set out to see how over powered the Player Owned Farm is. I'm now 96 Farming after only 2 short months. You can read more about this adventure in Farming for Answers where I detail the steps I took and ask some thoroughly shaking questions about the future of RuneScape.

This month we held two Skill of the Month competitions. The skills were Farming and Crafting. Congratulations to Jamandy52 for winning the Farming competition with 11,777,899 experience gained and to Ukn Raptoid for winning the Crafting competition with 22,783,279 experience gained. Here are your trophies:

Image Image

That's all for this month! See you in October.