Monday, June 11, 2012

Anatomy of a Bug: uncleared resource nodes in SWTOR

I've been playing a lot of The Old republic lately. Well, enough such that I actually have filled out all my character slots on Dalborra Server XD

Given the extensive playtime, I've noticed several bugs actually in the game. Some of these bugs are not that game breaking. Where Game breaking refers to the disruption of the gaming experience of the player. There are several that totally ruin the entire game though, and it's bad enough to make people tear their hair out in frustration.

Perhaps the simplest and most common bug is the uncleared resource node. While gathering resources in SWTOR, players will often come upon a node that will show up  on their minimap, will flash into a light blue colour when you hover a cursor over it, but will not be able to interact with the node itself.

What has happened to the resource node is that it has not been harvested properly. There are many possible reasons for that. One is that the player ran out of range of his companion while the companion was harvesting the node. Or the player could have been disrupted by combat while in the process of harvesting. The end result is the same, only the player who actually tapped the node, may go back to harvest the resource from the node. While the solution to the bug seems simple, there are actually further complications to it.

One is that while the node has been tapped, it does not despawn after an appropriate time duration. I have personally seen the a slicing node that spawns outside the coruscant cantina not despawned for 2 days. The node only returned to it's original configuration after a server reset. Now while this doesn't seem to be a major problem at a first look, it could be problematic if say a griefer wanted to take advantage of it.

Suppose that a particular malevolent player decides to tap every single Scavenging node in say Ilum. He taps the node, but does not take the contents in the resource node. Since the node does not despawned till a full server reset, the nodes will be unavailable to the entire player base. This could cause a sudden jump in prices of level 6 metals and level 6 metal compounds since the supply of the metals has suddenly decreased.

Now suppose that there was an organized gang of players who decided to restrict the entire level 6 metals market by tapping every single node on Corellia, Ilum, Voss and Belsavis. Such an action will possibly crash the entire market for metals, or drive the prices through the roof. While a hypothetical scenario, it could well be possible in the hands of an organized raid of players.

Furthermore, tapped resource nodes will also clutter the terrain in the game. This would put a minor strain on the server architecture as well since the servers need to remember that a node exists at such a co-ordinate with such a value of resource in it. Perhaps the game is built in such a way such that if a particular world has 'X' number of resource nodes at a given time, the server will not spawn anymore nodes.  Then it won't cause that much of a strain, but it will exaggerate the previous issue, since it makes the tapping of resource nodes easier.

A really simple solution to this problem is to actually just put a despawn timer/trigger on the resource node itself. If nobody comes to harvest the node, let the node despawn in a set amount of time instead of continuing to exist in  the game. WOW actually has something similar in place already. Mining nodes that have been tapped but not harvested fully will despawn after about 10mins or so. Something similar could actually be done for TOR.

Next time on Anatomy of a bug: Invisible walls that spring up from nowhere!