DrunkenGamer’s Omerta (October 2010)

This month has finally seen the implementation of the new family system into Deathmatch, and I couldn’t be happier to have it finished. Thankfully the delays seem to have been worth it, and ultimately mean the version we’ve pushed out to the player base is a lot more polished than we originally hoped. So far there have only been a few minor errors in the system, which have all been fixed fairly rapidly.

However, there is more to any new system than bugs. Balance is another key factor, but it’s also one of the hardest to do in the design phase. The problem is that, no matter how detailed your statistics and how many scenarios you test, until they are used in the final system you will never exactly how things are going to work.
This is one area that I have had to pay careful attention to over the last two weeks.

When I first worked out the levelling scale, it was done using historical data. I used a simple calculation to work out the how many experience points a family would need at each level to reach the next. That Formula was, “Average amount of RP (rank points) a player can gain per day X Number of members the family can hold X Amount of time Intended for the level to last”

This gave me the first scale to work from. After making this system live in the Deathmatch version, it became readily apparent that something was wrong with the scale.
Thankfully I had implemented some statistics gathering with the live version, and after quickly checking those figures I realised my historical data had resulted in an Average Daily RP that was higher than what the players actually gained. This resulted in each level taking longer than intended.

So, taking the new figures into account, I made the first alteration to the scale. This made the levelling progress at the intended speed, however something was still wrong. Some levels progressed slower than others, and while it was ultimately balanced by the slower level been followed by a quicker one, it was by no means ideal.
This again took me back to the spreadsheets to work out exactly why it was happening. After looking over it carefully I noticed the jumps, and more importantly the cause. The cause, as it turned out, was the increase in the number of family members at certain levels. This was making the gaps between the previous level and levels that increased the family size seem unnaturally large.

Unfortunately, where the first balance issue was automatically solved by changing the calculation and generating a new scale, this would need careful manual manipulation. What I needed to do was smooth out the levelling curve for better rounded progression.
So, after a day’s work and manually moving a few rank points from one level to another, I had the scale running smoother. There was even a bonus benefit as a result of this change – it made the early levels of the family system faster at the expense of making the later levels slower. From a playability perspective this means that the early levels provide a must faster feeling of gratification for the players, something that is always good. Conversely, as the levelling slows down, it helps build the epic feeling of getting a family to maximum level.

All that remains for this system to be completely balanced is the Small Family Bonus. This bonus is supposed to help the smaller families and allow them to compete (to a certain degree) with the larger families. But in practice this has only worked for around two family levels.

As I haven’t finished working out exactly how to solve this problem, I think that would be a natural point to call time on this month’s look into my work on Deathmatch. Hopefully I’ll have a solution to the small family bonus to discuss next month.

More Like This


Categories


Blog Misc

Tags


Add a Comment

Your email address will not be published.Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>