Water creatures overhaul

This overhaul contains two parts: amphibious monsters and submergers. I have moved the discussion into the back and the actual proposals on top.

Coding proposal for amphibiousness

Only three habitats (discounting lava):

  • HT_LAND, can only travel over land.
  • HT_WATER, can only travel over water.
  • HT_AMPHIBIOUS, can travel over both land and water.

Boni and mali:

  • HT_LAND get speed malus in shallow water.
  • HT_WATER get speed bonus in all forms of water.
    • What's the point of this? It muddles the water but doesn't do anything that can't be done better by simply increasing the base speed. — kilobyte 2010-01-22 09:27
    • I agree. The only boni that might be potentially useful are for HT_AMPHIBIOUS, but I am not sure if we want that. HT_WATER should get something completely (and functionally) different, namely sneaking attack (see my submerging proposal above). — dpeg 2010-01-22 12:36
      • Yes, my mistake. Ignore this. — due 2010-01-22 13:59
  • HT_AMPHIBIOUS get no speed malus in shallow water, but no speed bonus.
  • Water attack boni are removed in most forms, including player merfolk.

Speed, others:

  • Swim speed is defined with energy.
  • “Floating” monsters get a speed decrease in water: this is done by energy, as above.
  • Submerging is defined by M_SUBMERGES, rather than by habitat.

Other things not covered: floating monsters will obviously not flounder in shallow water. This could be replaced by using M_FLOUNDERS instead of using swimming speed. Likewise, EV bonuses would be defined by a flag instead. This gives much more flexibility. — due 2010-01-22 06:03

Seconded (apart from the one comment). — dpeg 2010-01-22 12:36

Implemented as above, apart from the one comment: yes, I misspoke. I was under the impression that this was the current behaviour, but as it is not, haven't touched HT_WATER speed bonuses. — due 2010-01-22 13:59

New proposal for submergers

(New bit: melee water creatures are only visible if they're next to you.)

Keep submerging but use the following principles:

  • Submerging is okay for all HT_WATER and HT_AMPHIBIOUS creatures if they attack.
  • Submerging is not okay as a means to flee from combat. (This is b0rsuk's original and valid point.)

Hiding for attack:

  • Water creatures are hidden unless they can attack you. (This means adjacent to you, apart from electrical eels or water beasts with reaching.) Hidden monsters are not indicated at all unless they are within two squares of the player or in shallow water, in which case a water turbulence (blue ~) is shown. [Note: for the interface, something different that blue ~ will be easier to spot, hence probably better. See below for sharks.]
  • In the moment the hidden monster attacks (or defends), it has to expose itself (you see the glyph/tile). There is no submerging in general, but by the above rule, the monster would automatically become hidden again if cannot attack you anymore (for most water creatures, if you step away from the water). I think they should move somewhere if they cannot attack you, so that the player cannot rely on where they hide.
  • Attacking a monster only known by turbulence is impossible, except for using polearms on an adjacent turbulence. Using a polearm of reaching should improve matters (but will not allow to go fishing for things at distance two).
  • Gameplay effect: being near water is more dangerous because you may be attacked by something unknown from the deeps, with very little warning. I think that's good and interesting. Depending on circumstances, it will often be advisable to step away from the shore if a ~ pops up.
  • Notes on special monsters:
    • It is not clear whether all amphibious creatures should get this sneaking approach. It would be extremely fitting for alligators, for example. (due suggested to rename Giant Lizard to Alligator. Other note: alligators and crocodiles should have a good chance to constrict the player with a successful bite. This is different from nagas, who can and will constrict adjacent enemies regardless of attacking)
    • Approaching sharks should have a chance to expose their fin (white ~ or ^ or ' glyph), or even always use the fin instead of the water turbulence. Apart from flavour, this would provide some warning. So we can ramp up their damage or move them into shallower levels.
    • Some vaults rely on visible fishes. Not sure what to do about these.
  • Technical question: if a water creature is hidden in deep water, should some other monster (eg. merfolk) be allowed to step on that square? Might be easiest to say no, but then the hidden creature should really make sure to get out of the way (if a hidden monster cannot possibly attack the player, have a chance to sent it somewhere on the map, or so).

Submerging when fleeing

  • Should not happen at all. The point is that if we allow somebody to submerge and flee (e.g. kraken), then we have to add ways to chase and kill them. Not good. Instead.
  • Let's make a special case for kraken: those should get an emergency spell, which creates a very heavy fog (“ink”). They can use this to flee but they will be visible (well, if there's no fog) as long as they could technically reach you — which is essentially always, due to the tentacles. In other words: kraken wouldn't be hidden much anyway, so we might simply disable hiding for them. Instead, they flee like animals on land, but they can use their emergency ink blast for that.

Another comment on sharks, even though it does not belong here:

  • Sharks can sense blood in water extremely well. So whenever a creatures in LOS of the player bleeds in/next to water, sent sharks on the level there (or do so with a good chance).

Comments still welcome. — dpeg 2010-01-22 21:38

This all seems right to me. For the vaults, how about simply saying that giant goldfish never submerge? That allows them to be used for decoration in vaults, etc. — lemuel 2010-01-23 05:05

The starting point

I think water creatures deserve a major, fundamental change. They're very tedious, and except electrical eel not really dangerous to interact with.

  • Submerging is the worst case of running away. Most water creatures are relatively harmless. Weak creatures running away serves no purpose except to annoy.
  • While some water creatures are not strictly weak, they feel like they are. Water creatures suffer from slow melee syndrome. Any melee monster that is very slow is going to become largely insignificant. Water creatures feel like giant slugs.
  • Going anywhere near water means you'll have to fend off multiple plain creatures. Then they submerge and prepare to annoy you again.
  • Swamp isn't the source of boredom. It is merely the most prominent victim of fundamentally boring water creatures.
  • Watery terrain advantage punishes very hard for typos and missteps, but is of little tactical significance. It may be best to get rid of it. Swamp worms are especially aggravating. I think it would be better if watery advantage provided big EV bonus like in case of Merfolk, it wouldn't lead to random instadeaths but would still accomplish the goal.

Ways of dealing with that I can think of:

  • Remove most boring creatures (giant fish, goldfish, jellyfish)
  • Make water creatures always submerged until player enters shallow or deep water. They could still deter Merfolk, but would neither annoy players nor attract grinders.

b0rsuk 2009-12-12 09:18

That's a very good analysis. I support the second solution for the weak water creatures: electric eels, kraken and sharks should be able to attack the player on land, of course. — dpeg 2009-12-13 03:25

It should not be possible to attack submerged creatures with ranged attacks the way it's possible now. For polearms, I suggest showing deep water submerged creatures within melee range with ~. — rob 2010-01-20 19:01

  • b0rsuk's second proposal would take of that in a good way. — dpeg 2010-01-20 19:59
    • How? You could still shoot magic dart at a square with a submerged creature while you're standing on land. — rob 2010-01-20 20:30


Proposal 1

Many creatures (such as slimes and jellies [HT_AMPHIBIOUS_LAND]) who are capable of moving through deep water should not get the movement speed bonuses of creatures who are at home in water (HT_AMPHIBIOUS_WATER) but are not confined to it.

greensnark: Actually we should just repurpose ht_amphibious_land to reluctant-to-swim
And disallow ht_amphibious_water from submerging altogether

An additional proposal by doy suggests that asphyx-resistant creatures that do not swim per-se (constructs, other creatures that might 'sink' and not suffer from it) be able to traverse water by walking along the floor of the water.

cryptic 2010-01-20 19:59

Proposal 2

My proposal is as follows:

  • HT_AMPHIBIOUS_WATER: get a speed bonus in water, have capacity to submerge if coded.
  • HT_AMPHIBIOUS_LAND: get no speed bonus on water, but likewise no speed malus.
  • HT_LAND+M_CAN_SWIM: get speed malus in both deep water and shallow water.

Neither of these touch nor affect asphyxiation resistance, which I think is something that should be looked at separately: we do not automatically want monsters that are res asphyx to suddenly be allowed to swim. — due 2010-01-21 03:58

This looks very good (and I support not mixing amphibiousness with asphyxiation resistance) but I am not sure if we really need three properties. Which monsters would get HT_AMPHIBIOUS_LAND and have neither of the others possibly fit? — dpeg 2010-01-21 10:30

Discussion on crawl-dev

02:24 <+greensnark> dpeg: I'd prefer to remove the water speed bonus from amphibious_land
02:25 <+greensnark> And to add a can_submerge flag that governs submerging
02:25 <+greensnark> That should cover all our cases
02:25 <@dpeg> greensnark: and ice beasts would be amphibious_land?
02:25 <+greensnark> dpeg: Yes
02:25 <+greensnark> Unless we want an actual speed penalty for swimming
02:25 <+greensnark> In which case I think we should do that on a per-monster basis with swim_energy
02:25 <+greensnark> There's already a provision for reducing swimming speed alone
02:25 <@dpeg> where?
02:26 <+greensnark> dpeg: You can assign different costs for walking, swimming, attacking, casting spells, etc.
02:26 <+greensnark> On a per-monster basis
02:26 <+greensnark> zelgadis put in all the machinery :)
02:28 < Eronarn> then we should need only two tags, yes? land creature, water creature; all land creatures have -50% water move, but can have this negated with +100% water move. and drowning can be an asphyx thing instead of tied to water movement?
02:28 < TGWi> eronarn: fumbling etc etc
02:28 <+greensnark> Eronarn: We still need to indicate that the monster can swim at all
02:28 <+greensnark> For non-water natives
02:28 <@dpeg> should use three types: land_only, water_only, amphibious
02:29 <+greensnark> Currently amphibious_water means a) water-attack bonus b) water speed boost c) can submerge
02:29 <+greensnark> amphibious_land means a) no water-attack bonus b) water speed boost as before c) cannot submerge
02:30 <+greensnark> We can separate submerging out into its own flag
02:30 < Eronarn> so aquatic, amphibious, terrestrial?
02:30 <@dpeg> Eronarn: yes, see my ^
02:30 <+greensnark> Eronarn: And lava critter
02:31 < Eronarn> greensnark: why not just handle that with aquatic, amphibious, terrestrial and a flag for "this applies to lava instead of water"
02:31 <+greensnark> Well, there's currently no monster that does both lava and floor
02:31 <+greensnark> Apart from things that fly
02:31 <+greensnark> Which get the flight/lev flag
02:32 < Eronarn> sure, but doesn't have to be that way - and it would let you have monsters that burst out of lava and then fly
02:32 <+greensnark> If we remove the water attack bonus we can indeed have a single amphib flag
02:32 < Eronarn> (molten gargoyles!)
02:32 <@dpeg> Eronarn: if you need four flags anyway, it is better with land / water / both / lava
02:32 <+greensnark> If we remove the water attack bonus from monsters, player merfolk should also lose it
02:33 <+greensnark> They get double damage for water attacks which is quite powerful with Fedhas :P
02:33 <+doy> that's fine
02:33 < Eronarn> a flat damage boost in water never made sense to me anyways
02:33 <+doy> yeah, an ev boost makes a lot more sense
02:33 < Eronarn> sharks will bite you just as hard outside of water
02:33 <+greensnark> Let's not invoke realism here :)
02:33 <+greensnark> But yeah, the water attack bonus can be removed without issues

Bottom line:

  • only use the following flags, HT-LAND, HT_WATER, HT_AMPHIBIOUS
  • remove water attack bonus for all
  • perhaps give EV bonus to amphibious creatures in water?
Logged in as: Anonymous (VIEWER)
graveyard/water_creatures_overhaul.txt · Last modified: 2011-05-02 16:40 by galehar
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki