Friday, April 2, 2010

Character Leveling

I haven't found a lot written on this topic. It's something that can easily slip the radar of game design and end up tossed in as an after thought. My goal with this post is to sketch out some of my thoughts on the subject and, hopefully, add to them as time goes on.

I'll start off by saying that I'm all about the Fibonacci Sequence and that we'll touch on this in my conclusion. That said, your task as a designer is to pick the optimum distance between levels to maintain interest while balancing difficulty. To do this, you'll also require something to track progress. Let's call this Experience Points (EXP)! Let's mark a definition then shall we...


What is Character Leveling?

Character leveling refers to a goal & reward model that tracks player achievement through a scaffold of goals. These goals are achieved by a player via accumulating some metric representation of their experience, such as Experience Points.

Tabletop Leveling



The concept of leveling has been around since tabletop games (see: Dungeons and Dragons). Whether we're aware of it or not, video game designers borrow heavily from the oak & paper artisans. Admittedly, I'm no master of tabletop gaming but I can definitely see the parallels.

Here's an example, that I found randomly on the net, from Dungeons and Dragons (D&D) that demonstrates a leveling system for Wizards.



Let's analyze the distance used to describe levels...

Level 1 -> Level 2 is a difference of 2,500 EXP
Level 2 -> Level 3 is also a difference of 2,500 EXP
Level 3 -> Level 4 is 2x that of the former or a difference of 5,000 EXP

A pattern has emerged! We're doubling the prior level to create the distance to the sequent. However, something funky happens when we get to the sixth level...

Level 5 -> Level 6 is a difference of 15,000 EXP... this is only 25% more than the former and, thus, breaks the pattern that was set out before. Why?

First, let's ask the question...

Why bother with levels?

"The answer is that levels provide goals. They give players something to shoot for, so that their actions have more purpose. They give players a sense that their achievements do have effects. Levels use a step function because players like to feel they have taken a step." (Richard A. Bartle, 2003)


Balancing

Bartle shows us that the primary goal of leveling is to get the player to vest psychologically in our game. If D&D maintained a 2x build for their leveling curve, a player would need 640,000 EXP to reach level 10 verses the 200,000 EXP that D&D settled upon. This was no accident. Dungeons and Dragons was/is a multimillion dollar franchise because of its addicting play mechanics. These mechanics were no doubt uncovered via playtesting.

Playtesting is the key to balancing your game. There is absolutely no way that you'll come up with the perfect balance out the gate. You must bring your game to the lab and attempt to break it. This is why Agile development is superior to the waterfall model but that's a story for another day.

Goals & Rewards Concept - Designers don't need to step through levels. We could just base our fame hierarchy or content restrictions on the number of EXP accumulated. Designers could also design boring games... "Step Function" as Bartle describes it, aids in building anticipation.

Risk & Reward

This applies more to the obstacles that the player encounters throughout their pursuit to reach their particular goals in your game and is, therefore, outside the scope of this entry. Suffice it to say that offering multiple avenues for players to speed up their avatar's achievement-growth makes for more interesting play patterns and will, in the end, make your game more appealing.

Fibonacci Sequence



As promised! I've just always been a fan of this pattern.

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ...

This is an example of a recursive sequence, obeying the simple rule that to calculate the next term one simply sums the preceding two:


F(1) = 1
F(2) = 1
F(n) = F(n – 1) + F(n – 2)

Thus 1 and 1 are 2, 1 and 2 are 3, 2 and 3 are 5, and so on.
This simple, seemingly unremarkable recursive sequence has fascinated mathematicians for centuries. Its properties illuminate an array of surprising topics, from the aesthetic doctrines of the ancient Greeks to the growth patterns of plants (not to mention populations of rabbits!).

(Thanks MathAcademy!)


I love it for scarcity algorithms especially. But, you could also apply it to an avatar level model. A lot of games, like say Ashron's Call, will use a slowing curve to fit more levels into the upper range of a leveling system (see: Designing Virtual Worlds, p354). You'll want this if you base your model on this sequence.

Reward Schedule

All this talk of levels without much discussion over the means to the end... Let's ponder Experience Points. EXP are the currency that buy players levels. There are tons of ways to award them.

Time on Site/App - Here's a prize just for being here. This is a good idea, as you always want your players coming back. Its best, obviously, to limit this to a slow trickle of EXP. Also, I recommend making sure that the player is active rather than just logged in.

Purse - win a race, battle, or battle of wits... these are all opportunities to reward a player with EXP. How many? Base it on multiple variables:

a) the level of the opponent (if applicable)
b) include a random scaler (such as one based on a dice roll sys utilizing our buddy Fibonacci).
c) style of win
d) duration of altercation
e) tactical prowess


Of course, you can come up with your own factors... Level crafting is something of an organic process. You start off with a lump of clay (pattern of 2x) and slowly carve away until you have a beautiful vase or alien sculpture (Fibonacci sequence with slowing tail curve).

Cold hard cash - Maybe your in this business to make money... You could always allow players to buy their way to the top. You'll need to be mindful of alienating your not so affluent players however.

Social Reward - You can honor large groups of players for organizing and achieving a goal.

Hopefully you get the point. There is no one right way to do it. There are plenty of wrong ways and you'll figure out which they are once you've tested them.

Finally, and just as a side note, refer back to the chart in Tabletop Leveling. Note the varying Class Level Names. I love this... It's much more interesting than grunt lvl 1, grunt lvl 2, etc. Have fun with classifying things. It gives players something to talk about.

No comments:

About Me

I produce and engineer games and applications. | Portfolio | LinkedIn