Author Topic: I added a new monster, any ideas or feedback? (post your new stuff too)  (Read 54297 times)

Cfyz

  • Rogueliker
  • ***
  • Posts: 194
  • Karma: +0/-0
    • View Profile
    • Email
IRL plants do grow/replicate themselves as much as they can -- which usually limited by suitable soil and/or man-made structures.

Maybe you can make fungus grow only over specific floor type and thematically/strategically distribute this floor type over the level? E. g. it can grow all it want at the left side of the room with a very important door because there is a fountain in that corner.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
I think I have to create more different fungi or plants, because of all the ideas :) AdamStrange's comment made me think of those egg sacks in Alien movies. They're dormant, but will awake when something suitable wanders too close.

I especially like the idea of having them to gather around some specific landmark, like fountain or patch of soil. If they prefer certain area and won't wander far from it, they won't take over the whole level.

One other monster I have been thinking of is bats (or other winged creatures). I have these pits:

And they could use some spicing up. One idea I had is that there would sometimes be bats that circle around over the pit and when disturbed would attack the player. Or the pit might appear empty, but when player approaches, the bats might fly up from the pit.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Quote
I'm aware of that threat. Long ago I played a game with some sort of worms that kept multiplying. If you didn't kill them fast enough, they eventually got better of you and covered large areas of the level.

Sounds like Angband.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Quote
I'm aware of that threat. Long ago I played a game with some sort of worms that kept multiplying. If you didn't kill them fast enough, they eventually got better of you and covered large areas of the level.

Sounds like Angband.

Most likely it was. It had lots of references to Lord of the Rings and levels weren't persistent. Angband would fit the description.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Endorya

  • Rogueliker
  • ***
  • Posts: 513
  • Karma: +0/-0
  • The non-purist roguelike lover
    • View Profile
    • Email
I think that Cfyz's ground type restriction to be a fine idea making mechanics more realistic (my favorite). However, this can be surprise spoiler as one will be able to tell what kind of creatures he may find just by noticing the floor type. Keep this in mind.
"You are never alone. Death is always near watching you."

AdamStrange

  • Newcomer
  • Posts: 35
  • Karma: +0/-0
    • View Profile
bats and flying creatures, here's a thought...

Add a Levitate variable, default is false, levitating = true
if levitating then don't check for pits, (I suppose ground based things like traps, water, etc) etc

- this way any movement is the same, we just don't check it

So a bat is the same as a rat - but it has levitate as true

There is also something to note here. If we now have a levitate option. This can be used on any monster and also you - meaning you have a levitate spell, allows access to areas you couldn't previously get access so (e.g over lava or a big pit).

Of course you could use a levitate var:
0 = no levitate
<0 is permanent levitate
>0 is levitate (decreasing by 1)

this would mean you now have a timed levitate option...

Zireael

  • Rogueliker
  • ***
  • Posts: 604
  • Karma: +0/-0
    • View Profile
Quote
Add a Levitate variable, default is false, levitating = true
if levitating then don't check for pits, (I suppose ground based things like traps, water, etc) etc

That's exactly how I did it in Veins of the Earth... Seems great minds think alike.

Kyzrati

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 508
  • Karma: +0/-0
    • View Profile
    • Grid Sage Games
    • Email
Hey there Adam Strange, about retreating for monsters there are some frustratingly good algorithms for this using dikjstra maps. Brogue uses them a lot. It's HORRIBLE! Goddamn monkeys steal my shit and run run run run run and can never catch them, they know which door to go for...

I think there is an article on how Brogue handles this but I cannot find it. Anyone want to find it for me? Pender's Dijkstra map article?
I think you mean the one on Rogue Basin: http://www.roguebasin.com/index.php?title=The_Incredible_Power_of_Dijkstra_Maps

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
I think that Cfyz's ground type restriction to be a fine idea making mechanics more realistic (my favorite). However, this can be surprise spoiler as one will be able to tell what kind of creatures he may find just by noticing the floor type. Keep this in mind.

This probably wouldn't be a problem, since special floor types wouldn't cover large areas. And on the other hand, they would serve as a warning to an experienced player "hm.. this soil is type where demon burrowers thrive, I better prepare accordingly".

bats and flying creatures, here's a thought...

Add a Levitate variable, default is false, levitating = true
if levitating then don't check for pits, (I suppose ground based things like traps, water, etc) etc

I haven't really thought whole flying thing yet. I can have magic effects that run out after certain time and that time might or might not be during players turn. It will probably depend a bit on what kind of traps and obstacles I have at the point when I start working on with flying.

I think you mean the one on Rogue Basin: http://www.roguebasin.com/index.php?title=The_Incredible_Power_of_Dijkstra_Maps

This is good stuff. Have to keep it in mind for the future.
Everyone you will ever meet knows something you don't.
 - Bill Nye

AdamStrange

  • Newcomer
  • Posts: 35
  • Karma: +0/-0
    • View Profile
Veins of the Earth looks might impressive :)

More thought on the levitation front as I've been coding it.

if your map is flat, then you won't be interested...

If your map is not flat (it has height) read on - note the pits would mean you have different floor heights.

OK. When levitating - I thought it would be a simple task of floating above the floor
But, if the floor height changes, then the floating must take account of that, so you don't simply drop down into the pit - you would either float over it, or slowly float downwards (depending on your weight)

so to recap:
floatingvar can be a simple height above, or feed it a sin value for wavelike floating
if floorheight > levitate height then
  levitateHeight = floorHeight + floatingvar
else
  levitateHeight = levitateHeight - (weight * 0.1)

That should make it work :)

Vanguard

  • Rogueliker
  • ***
  • Posts: 1112
  • Karma: +0/-0
    • View Profile
Instead of thinking about what a monster does and what traits it has, imo you're better off thinking about what design goals you want your monsters to accomplish.

First decide that you want a monster that eg. forces the player to only engage with it when it is alone, and then think about what traits the monster needs to have in order to accomplish that.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Instead of thinking about what a monster does and what traits it has, imo you're better off thinking about what design goals you want your monsters to accomplish.

First decide that you want a monster that eg. forces the player to only engage with it when it is alone, and then think about what traits the monster needs to have in order to accomplish that.

That is a sensible approach to the problem (but I'm not exactly known for my sensibility..). Probably should try this approach too, after I have a bit more building blocks at my disposal.

My current approach is to create creatures that are varied and have distinct behaviour or traits. Then, hopefully I'll get something emergent when they are put on the same level. Like when I created rats that like walking alongside the walls and fire beetles that prefer areas away from walls. Place couple in the same room and the player will have hard time sneaking past.
Everyone you will ever meet knows something you don't.
 - Bill Nye

AdamStrange

  • Newcomer
  • Posts: 35
  • Karma: +0/-0
    • View Profile
mmm, I think I agree there. Much better to get a way to give monsters traits and what it does and then let it go.
But, surely a trait is a goal?
E.G.
(goal = kill player) = (trait = unfriendly)
(goal = wants gold) = (trait = wants gold)

Of course you could also add specific goals to monster and have the best of both

Hi

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 154
  • Karma: +0/-0
    • View Profile
    • Email
"kill player" isn't a game designer's goal.  A goal would be "make open areas dangerous" or "force player out of safe corridors" and the creatures that fulfill this might be a swarming creature, or a creature that spawns enemies (requiring the player to address it sooner rather than later).

Hi

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 154
  • Karma: +0/-0
    • View Profile
    • Email
My current approach is to create creatures that are varied and have distinct behaviour or traits. Then, hopefully I'll get something emergent when they are put on the same level. Like when I created rats that like walking alongside the walls and fire beetles that prefer areas away from walls.

I like the way you think, I got fun effects by allowing each critter to modify the dungeon in different ways.  Putting two different critters in the same level got substantially different architecture than either alone.