Roguelike News

The articles in the Roguelike
Development Topic list have been
generously donated by very kind
individuals. All rights remain
with the authors.

Main | News | Development | Archives | Articles
Links | FAQs | Contact : rogue@skoardy.demon.co.uk
Allocating Experience and Character Advancement - Matthias E. Giwer [mgiwer@ij.net].

First, a brief bit about my experience in this area:

	I've been an active player of "pencil and paper" role playing 
games since 1987, encompassing more than thirty (truthfully, I've 
forgotten all the games I've played) different systems, as well as a
number of "tactical" games such as BattleTech, Warhammer, etc.

	I've spent (wasted :) hundreds of hours in roguelikes such as 
Larn, Moria, Nethack, (A-Z)ngband, ADOM, etc.  I attempted to develop
my own on several occasions, the most recent attempt being Saga, a Perl
roguelike.

	I do not claim to be the worlds most serious gamer, nor the 
worlds best software engineer, but I do feel I have enough experience 
on this subject to be able to offer some useful information.


Now, on to the meat:

	How you implement character advancement will depend heavily on 
your choice of game mechanics. For example, is it a level based system 
where a 10th level being will be ten times more capable than a 1st 
level being? a hundred?  Or is it entirely skills based, where 
facility with a particular weapon or ability is to be developed 
independently of any other capability?

	The majority of current roguelikes seems to be dominated by 
levels and level/skills hybrids.  This is fine, though while I 
personally advocate an entirely skills-based approach, it is truly a 
matter of taste.

	The base idea is that individual actions performed by the 
characters will return (on success, failure or both) some measure of 
"experience", either generic or towards the skill governed by the 
action. In order to develop a mental yardstick, I usually try to get 
a firm idea of what a brand new, baseline character is capable of. In
most roguelikes today, that would be a human fighter.

	Next, try to imagine what this character would be capable of, if 
his abilities were taken to their absolute limits, without regard to 
items and equipment that may boost her capabilities. This should give
you a continuum of capability that will let you look at, and gauge, 
difficulty of things like quests, unique creatures, and so on.

	It also usually helps me to think of creatures that this 
character may face as based on this brand new beginning fighter.  In 
other words, a Grey Kobold is about half the power of a beginning 
fighter, but an Elite Orc Guardsman is six times more powerful than 
the baseline.

	Yes, there is a LOT of tweaking and experimentation involved to
get it right. Also, many abilities can make combat orders of magnitude 
simpler (teleportation, ranged attacks, etc) so this has to be taken 
into account when trying to judge anything other than a raw fighter
type.  Again, there is no perfect measure, experimentation is the key 
to balance here.

	If you wish to model the real world, most performance type 
skills (dancing, martial arts, typing, etc) are developed in terms of 
plateaus that may take months or years to break through, usually on a 
sliding scale of time.  The first plateau might take only a few weeks 
to reach, but the next may take a few months, etc. Roguelikes (and 
many traditional RPG's) model this with each "level" requiring 
progressively larger amounts of experience points to reach.

	However, because most games give out larger amounts of 
experience for more difficult and more powerful creatures, the result 
is that most characters end up on a hyper-accelerated track, and can 
reach quite amazing levels of skill in relatively short amounts of 
game time. Now, as a fantasy game goes, that is perfectly acceptable,
but it does make it more difficult to judge when a player is ready to 
face the "Deep dwelling Thing from Beyond". Then again, people don't 
play roguelikes because they are easy. ;)

	I would have no issue with this, if it was a one-time event.  
For example, the first time you wipe out a Grey Ooze, get the full 
experience value for it.  For each one after, only bestow a standard 
action credit that doesn't change, for all actions of that type. New 
things, and new challenges help you grow a lot, practice helps you a 
little (which is why you have to keep at it).

	An extension of this idea is experience for, say, casting 
spells. You get full experience value the first time you cast a new 
spell, but only a small "cast spell" value each time thereafter. The 
idea works for any ability that is action based, rather than intrinsic
or "always-on".

	For added realism (ha :), it may be worth investigating a 
"decay" function for skills and abilities that go unused for long 
periods of time, with the time before decay increasing the higher the 
level of skill.


Like the design of any game system, this article is two parts 
experience and one part prejudice. I hope that, at least, mentioning 
these issues will prompt roguelike designers to devote more thought 
game mechanics issues, and to question some accepted standards.

I do apologize if you were looking for code examples, but the entire 
issue of character development is so tightly bound to the specific 
system and other game mechanics to make even pseudo code examples 
just about worthless.

Feel free to write me with questions, comments, etc.  Please keep the 
flames constructive, thanks! :)

-Matthias E. Giwer
mgiwer@ij.net
© Copyright 1999 Darren Hebden.