Monday, June 13, 2011

Kerkerkruip design journal #5: regeneration

Kerkerkruip is the new name of my roguelike IF. It is a literal Dutch translation of "dungeon crawl", except that "kruip" translates the verb "crawl" but not the noun "crawl". With all those k's, I think the word looks suitably evil and fantastic for my purposes, and it will be easy to find on Google. (Right now, searching for "kerkerkruip" gives only a handful of results, some of which are machine translations of the English dungeon crawl, and some of which are forum posts by me... I have been known to coin this word before.)

I have been quiet for some time, which may have suggested that I was busy with other things. That was indeed the case. But the past two weeks have seen a lot of development on Kerkerkruip again, bringing new monsters, new items, new 'systems', and in general bringing us a lot closer to an playable alpha. Most of the things I could post about would be just me being joyous about implementing new things -- there is a joy in the act of creation, and especially in the act of writing code which actually works when you play the game -- but I doubt my audience would enjoy such posts. On this blog, I want to take a step back and talk about design from a point of view that is a little more detached.


So today I'm going to write about a game system that I implemented yesterday, and which I am going to remove from the game as soon as I finish this post. Not because I tested it and it didn't work, but because I suddenly realised it cannot possibly be compatible with my design goals. Today's lesson, then, is to always keep your design goals in mind.

The system I'm going to remove is a simple regeneration system: depending on your regeneration rate (which is normally 0), you will regain health during every round of combat. With regeneration 1 you regain 1 health every round, and so on. Some monsters would have a regeneration (as the trolls in D&D had), and the player would be able to gain regeneration by using certain items or defeating certain monsters. Pretty simply and pretty standard. You can do fun things with it, though; I was already thinking about items which give you regeneration but lower your total health.

But what are some design goals of Kerkerkruip?
  • The optimal strategy should be a fun, fast and risky strategy, not a slow, safe and boring strategy. (Players should not be rewarded for doing boring things. None of that old D&D crap where the optimal strategy was to search for traps in every room and passage, and sleep after every encounter.)
  • Combat should be fast and exciting. No protracted, seemingly interminable battles.
  • Games should be quite short. (These goals are obviously closely related.)
These design goals are not well served by a regeneration system. For if the player regenerates, the optimal strategy is shifted towards dragging the combat out: in a longer combat, one regenerates more health, and thus increase one's advantage over the monster. On the other hand, if the monster regenerates, combat will become more tedious. It might start to resemble those ridiculous boss fights where the developers could think of no better way to increase the difficulty than by giving the boss 10.000 hit points. And if both regenerate, we might get into the situation where the average damage dealt each round is less than the average amount of health regenerated... which is the worst possible case, as it would make the fight literally interminable.

Given all these disadvantages, it is probably best to just kick out the system.


(I am experimenting with monsters that can heal other monsters, but that is a slightly different case. Suppose a group of monsters consists of -- using MMORPG terminology -- a tank, a fragile DPS, and a healer. If the healer is good enough to significantly slow your killing of the DPS, you should take out the healer first. Thus, the optimal strategy avoids dragging out the fight too much, and this strategy is always open to the player. By the way, "DPS" in the meaning of "a character with high DPS" is the worst noun ever.)


P.S.
It's not as if I'm throwing away a lot of work. This is the entire regeneration system:
A person has a number called the regeneration. The regeneration of a person is usually 0.

Every turn (this is the regeneration rule):
    if hate is present:
        if the regeneration of the main actor is greater than 0:
            heal the main actor for the regeneration of the main actor health.
But I was making a general point. :)

10 comments:

  1. "Most of the things I could post about would be just me being joyous about implementing new things -- there is a joy in the act of creation, and especially in the act of writing code which actually works when you play the game -- but I doubt my audience would enjoy such posts."

    I would, I think.

    ReplyDelete
  2. Thanks guys. :)

    Juhana, just wait until I present my game Lekkerkerkerkerkerkerkerker! That too is a sensible Dutch word. Well, sensible... but it has an assignable meaning: the dungeon (kerker) of the bay window (erker) of the church (kerk) of Lekkerkerk (a Dutch town).

    ReplyDelete
  3. By the way, "kerker" has the same root as the English "incarcerate". (Both come from the Latin "carcer", "prison".)

    And "kruipen" has the same root as "to creep".

    ReplyDelete
  4. Hmm - Lekkerkerkerkerkerkerkerker means rather "the bay window of the Lekkerkerk dungeon church", doesn't it? One of my long time favourite words. And what if that bay window contained a cherry?

    ReplyDelete
  5. Hmm - Lekkerkerkerkerkerkerkerker means rather "the bay window of the Lekkerkerk dungeon church", doesn't it? One of my long time favourite words. And what if that bay window contained a cherry?

    ReplyDelete
  6. Oh, that appeared twice. Well, given the subject it would probably have been appropriate to have it appear six or seven times.

    Wouldn't it be great to have a message commenting on the previous message in such a way that several repetitions of it would each time mean something different (in a non-trivial way)?

    ReplyDelete
  7. And only now I realise the word has two parsings.

    Yours: Lekkerkerker-kerk-erker-kerker

    Mine: Lekkerkerker-kerker-kerk-erker

    ReplyDelete
  8. Forget the cherry. Switching to syllable level, what if the bay window of that old church were leaking? Someone would have to repair the Lekkerkerkerkerkerkerkerkerlek, wouldn't one? A nice syllabic palindrome abbbbbbbba, and a not incredibly improbable word.

    ReplyDelete