This shows you the differences between two versions of the page.
— |
dcss:brainstorm:monster:concept:dynamicalcrd [2017-01-12 02:21] (current) dpeg created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Email to crawl-ref-discuss by [[user:dpeg]] on 2016/12/13: | ||
+ | <file> | ||
+ | Dynamical monsters | ||
+ | ================== | ||
+ | |||
+ | This text sounds theory-crafting: I am thinking about Crawl like a board game, | ||
+ | and want to make its ruleset more flexible. I have concrete applications in | ||
+ | mind. Was waiting for a good opportunity to send this out; Corin's email is | ||
+ | triggering this posting. | ||
+ | |||
+ | |||
+ | Current situation: monsters are static | ||
+ | ====================================== | ||
+ | |||
+ | What I mean by this: monsters are the backbone of Crawl's gameplay. Players are | ||
+ | dealing with them all the time (even when choosing not to fight some monster), | ||
+ | and monsters provide most of the relevant reward (experience, and often piety), | ||
+ | and protect a lot of the item loot. | ||
+ | |||
+ | Right now, monsters are generated when the player enters a level. After that, | ||
+ | almost nothing happens to them. Monsters can get added through extra generation | ||
+ | and in very few other ways. Monsters can disappear by killing (most often), or | ||
+ | in some more exotic ways (shafts, banishment). Most importantly to me, monsters | ||
+ | that have been generated will not change afterwards. This is what I mean by | ||
+ | "static", and I suggest we make them more dynamical. | ||
+ | |||
+ | |||
+ | Dynamical monsters: self-changing and self-removing | ||
+ | =================================================== | ||
+ | |||
+ | In my opinion, it will be useful to have a system where monsters can change or | ||
+ | disappear. Let me start with the latter: | ||
+ | |||
+ | Disappearing monsters | ||
+ | --------------------- | ||
+ | I'll suggest a pretty simple mechanic and argue for it afterwards. | ||
+ | * Mechanics: Whenever you re-enter a level, the game looks at all | ||
+ | monsters. A monster will be removed if it is considered to be no | ||
+ | valuable threat anymore. | ||
+ | If this happens: no message, and no compensation for food/xp/piety. | ||
+ | Uniques are exempt. Vault monsters can be exempted by tags. | ||
+ | * Reason 1: Players can, and sometimes do, park harmless monsters for | ||
+ | food or piety. (Death) yaks in Lair are an example. | ||
+ | Reason 2: If you want to make sure that you get to collect all the | ||
+ | xp/piety off a level, you have to refrain from skipping | ||
+ | it for a while. | ||
+ | Reason 3: It's not interesting to chase subpar monsters, just tedious. | ||
+ | |||
+ | |||
+ | Upgrading monsters | ||
+ | ------------------ | ||
+ | This is the more adventurous part of my proposal: I'd like monsters to get the | ||
+ | ability to "upgrade", i.e. become stronger than originally created. | ||
+ | |||
+ | * Mechanics 1: monsters can upgrade, and can do so several times. This | ||
+ | will be indicated by an adjective to the name, such as | ||
+ | orc --> angry orc --> very angry orc | ||
+ | Perhaps other adjectives work better, e.g.: fierce, grim, monstrous. | ||
+ | Have to avoid reference to berserk rage (e.g. furious or mad). | ||
+ | Each upgrade will apply the following modifications: | ||
+ | - movement and action speed faster by 2 | ||
+ | - HP increased by 20% | ||
+ | - HD increased by 20% | ||
+ | - base damage increased by 20% | ||
+ | There is *no* change to experience value, piety gain, items! | ||
+ | * Mechanics 2: I have two triggers in mind, the first one is more | ||
+ | important to me. | ||
+ | - For each monster, count time when it is aware of you. | ||
+ | Have it upgrade as a function of that time. [0] | ||
+ | - For each monster, count its time since generation. [1] | ||
+ | Upgrade it as a function of that time. | ||
+ | (These two functions would be different.) | ||
+ | * Analysis: | ||
+ | - An immediate application of monsters upgrading when aware of you: we | ||
+ | can get rid of energy randomisation. This was introduced to deal with | ||
+ | pillar dancing, but monster upgrades do so in a better way: instead | ||
+ | of monsters getting an additional move at random, you now see an | ||
+ | actual change (such as "orc" --> "angry orc"), so the interface is | ||
+ | much more clear. | ||
+ | - My original motivation, however, is luring: that tactic would be | ||
+ | alright if it was special. But it's not, rather it is ubiquitious, | ||
+ | slow and tedious. On the other hand, I don't want to make players | ||
+ | unable to flee from dangerous situations. Monster upgrades is a | ||
+ | rather mild counter to that: if you lure a lot, then your battles | ||
+ | will be a bit harder. [2] | ||
+ | - This change does not really affect weak players, say naive newbies: | ||
+ | they will attempt to clear levels, and walk towards monsters anyway. | ||
+ | I like that: this nerf shouldn't make their games more miserable. | ||
+ | |||
+ | |||
+ | Full disclosure: this idea has been inpired by Brogue's monster mutations and | ||
+ | by promotions in Japanese chess (Shogi). (In Brogue, a monster can get | ||
+ | generated with special perks, e.g. "reflective ogre" and this is indicated by | ||
+ | an adjective. Note that Brogue's mutations are static: bestowed on monster | ||
+ | generation.) | ||
+ | |||
+ | |||
+ | If we like monster upgrades, then a whole lot more could be done. This is a | ||
+ | barebone proposal. | ||
+ | |||
+ | |||
+ | |||
+ | [0] I thought about this for a while, and think it's the best approach. | ||
+ | Originally, I tried to measure "monster follows player", i.e. to gauge | ||
+ | luring-ness. But that's hard. Much better to just make it a function of how | ||
+ | long the monster is aware of you. Yes, sometimes you will get unlucky, and that | ||
+ | orc turns into an angry orc right away. I think that's definitely worth the | ||
+ | gain in simplicity. If we feel generous, then we can announce the change a few | ||
+ | turns in advance: "The orc looks like it is getting angry." | ||
+ | |||
+ | [1] There are two versions of this: | ||
+ | (a) count total time since monster generation (player on level or not). | ||
+ | (b) only count time spent by the player on the monster's level. | ||
+ | With (a), you would know that entering a level, fleeing and coming back much | ||
+ | later (think of a branch end you got chased away from) will have many monsters | ||
+ | which are much stronger. That's a strategical monster/level buff, and I am fine | ||
+ | with that. It would also mean that players are encouraged to try and pull | ||
+ | through a level they enter or, put the other way around, enter levels | ||
+ | conservatively. With the level cutting policy we've been carrying out since | ||
+ | DCSS 0.4, I'm also fine with that, but I realise not everyone might be. (And it | ||
+ | will draw complaints such as: "I stepped foot into Elf:1, was scared by the | ||
+ | entrance party, and came back to realise they're even stronger." I'm ready to | ||
+ | shrug that off because the player is also stronger by then.) | ||
+ | By contrast, (b) only punishes dawdling on a fixed level. | ||
+ | |||
+ | [2] Luring is also about waking monsters one by one. My proposal purposefully | ||
+ | says nothing about this (that'd involve noise and monster AI). I think monster | ||
+ | upgrades are a good addition in their own right, and I believe that it's better | ||
+ | to treat design concepts as separately as possible. | ||
+ | </file> |