Chaosforge Forum

  • April 23, 2024, 10:16
  • Welcome, Guest
Please login or register.



Login with username, password and session length
Pages: [1] 2  All

Author Topic: Lost Soul AI change  (Read 7109 times)

Klear

  • Elder
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1319
  • Twisted passages carry the smell of dapperness...
    • View Profile
Lost Soul AI change
« on: March 19, 2012, 08:33 »

Ok, I began writing this as a reply to discussion on some mortem, but then I dedcided to dedicate a thread to it.

Right now lost souls give a lot of trouble in AoMr, with the city of skulls being extremely hard. I have an idea how to change their AI, though I don't really know if A) it can be implemented, B) if it would really help.

No reason not to throw it out here, though:


Lower their ordinary speed a little, but give them the ability to charge the player. Basically the lost soul would check if it has clear line of sight to the player and then (with some probability) perform a charge attack, that is move directly in the direction of the player and damaging him if it hits. This charge would be dodgeable (as if it was a projectile) and if the player successfully dodged, the lost soul would continue in its path until it hit an obstacle or reached maximum charge distance (not sure how far that should be, but it should represent the very rapid movement of the lost soul).
If there is an enemy in the path of the charge, the soul would stop and damage that enemy instead (as it worked in doom, according to what I read recently).
The souls would not always charge, sometimes they'd simply close in on the player as normal, and when in melee range, they would always attack normally.
I'm not sure if such a behavior can be scripted easily, I suppose it could be done using some sort of fake ranged attack, which would cause the soul to move instead of a projectile. The good thing about it would be that the souls would not hopelessly swarm the player so easily and souls in the back would probably end up biting the ones in front, making the encounter easier.

I imagine that a few sucessful dodges would lead to souls being all around the player, but not in melee range, hopefully. That could give pistol-based builds time to attack (and gun kata would benefit greatly from the ability to dodge them), while it would make the souls more spread out and thus make it a little harder for a dodging shotgunner.

Additional benefit is that single souls would be fun to encounter, with the possibility to bait them and use them against other monsters, plus YASDs by souls missing players and running into a barrel nearby instead.

Also, they would behave more like their counterparts from the real Doom, instead of being simply faster and weaker version of demons, so that is a definite plus, I think.

What do you think?
« Last Edit: March 19, 2012, 08:36 by Klear »
Logged
Arch-Vile Mjr General [24/19/18/8/2] (0.9.9.7)

Quote from: thelaptop
Dude... we need to change your forum handle from "Klear" to "Klear Nukem".

Uitë

  • Elder
  • First Sergeant
  • *
  • *
  • Offline Offline
  • Posts: 113
  • Lost Soul
    • View Profile
Re: Lost Soul AI change
« Reply #1 on: March 19, 2012, 08:42 »

I like it, because I think it makes them both more manageable, and more interesting at the same time, without really weakening them as well.
Logged
Arch-Vile 1st Lieutenant
[26|12|6|1|0]

Klear

  • Elder
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1319
  • Twisted passages carry the smell of dapperness...
    • View Profile
Re: Lost Soul AI change
« Reply #2 on: March 19, 2012, 08:51 »

BTW, if this charge behaviour was implemented, it would be possible to further "doomify" pain elementals as well:
They could spawn only a single lost soul (probably with a greater probability, or more often, or both), which would instantly charge the player.

Such a change would utterly change the gameplay of CoS though, and I don't dare to imagine how exactly. It would definitely have to be tested extensively, if it is even possible.

One more thing - LS charge would make it much harder to kill single souls without any loss of life, unless you got dodgemaster.
Logged
Arch-Vile Mjr General [24/19/18/8/2] (0.9.9.7)

Quote from: thelaptop
Dude... we need to change your forum handle from "Klear" to "Klear Nukem".

Creaphis

  • Backer
  • First Sergeant
  • *
  • *
  • Offline Offline
  • Posts: 110
  • Lost Soul
    • View Profile
Re: Lost Soul AI change
« Reply #3 on: March 19, 2012, 09:58 »

I like this idea.

Clustered lost souls would charge into each other, "thinning the herd" a bit, but this would make lost souls and pain elementals easier to kill with bullet builds. Also, right now, pain elementals are extremely non-threatening when you're equipping a shotgun. I'm certain that I've never even been damaged by the agony elemental or its spawn as I always have at least a combat shotgun by the time I get there. If lost souls charged and scattered, and if pain elementals fired a single lost soul as a projectile attack, different builds would be more evenly matched against these enemies.

Logged

skarczew

  • Elder
  • Major General
  • *
  • *
  • Offline Offline
  • Posts: 974
    • View Profile
Re: Lost Soul AI change
« Reply #4 on: March 19, 2012, 13:07 »

My little spam:
Quote
Right now lost souls give a lot of trouble in AoMr, with the city of skulls being extremely hard.
You should have seen Pain Elemental - only - cave that I encountered on my AoMr run. City of Skulls cannot match it at all :| .

Quote
What do you think?
Nice idea, very doomish. Very similar to the original behavior.

Moreover, typical Doom LS was very slow when compared to the other monsters. It was their charge that was making them so fast.
Logged

Pricklyman

  • Sergeant Major
  • *
  • Offline Offline
  • Posts: 156
  • Crazy Nutjob - and lovin it
    • View Profile
Re: Lost Soul AI change
« Reply #5 on: March 19, 2012, 14:04 »

The only thing I can see is that - at the moment, the only REAL problem lost souls carry is on AoMr runs. On melee, rapid fire and shotguns, they are no where near as deadly.

With rapid fire, you can grab something plasma, or just use your normal chaingun. (Since it has so many bullets, you can shoot at least 2 souls at once.)

With melee and shotguns - you can just...rip and tear. (Moreso with shotguns than melee to be fair)


I do like the idea as a whole, as many have said, very doom-like and makes sense. Right now, the main threat (AI wise) that Lost Souls pose is a surrounding - since you can't hit then all at once, without a shotgun...This is moreso true with Pain Elementals. This would balance it out, but still make them a little deadly, but just a different deadly. . .
Logged

Deathwind

  • Colonel
  • *
  • Offline Offline
  • Posts: 505
  • HMP Angel of Patience 0.9.9.4
    • View Profile
Re: Lost Soul AI change
« Reply #6 on: March 19, 2012, 17:32 »

maybe all it needs is a shift in resistances?
Logged
v.997 [16/5/2/0/0]

Zalminen

  • Elder
  • Sergeant Major
  • *
  • *
  • Offline Offline
  • Posts: 135
  • The Good, The Bad & The Random
    • View Profile
Re: Lost Soul AI change
« Reply #7 on: March 20, 2012, 00:57 »

One of the notable differences between DoomRL and the original Doom is that in original Doom the chaingun was more useful against the lost souls than a shotgun.

In Doom you could use the chaingun to spray a large cluster of lost souls and this would keep them from charging you. A shotgun didn't do enough damage to take out several lost souls at once, although you could take a single one out if you shot at point blank range.

So one fix would be to implement the charging behaviour and just delay the charge anytime the lost soul gets shot. This way rapid pistol fire could also keep multiple lost souls at bay.
Logged
Hell Baron Captain (0.9.9.6)
[25/19/9/0/0] m:25 sp:54 as:38

Klear

  • Elder
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1319
  • Twisted passages carry the smell of dapperness...
    • View Profile
Re: Lost Soul AI change
« Reply #8 on: March 20, 2012, 07:44 »

maybe all it needs is a shift in resistances?

I have a feeling that the City of Skulls would be problematic for pistol builds even if last souls died with one hit from anything. I haven't tried it myslef with the new AI yet, though. I only judge it by all the posts dealing with it on the forums.
Logged
Arch-Vile Mjr General [24/19/18/8/2] (0.9.9.7)

Quote from: thelaptop
Dude... we need to change your forum handle from "Klear" to "Klear Nukem".

Game Hunter

  • Programmer
  • Local Inquisitor
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1044
  • Looks like game to me.
    • View Profile
    • Channel, the Roguelike
Re: Lost Soul AI change
« Reply #9 on: March 20, 2012, 08:45 »

I have a feeling that the City of Skulls would be problematic for pistol builds even if last souls died with one hit from anything.
Prior to resistances, Gun Kata was an excellent way to deal with the City of Skulls.

shark's been messing around with a Lost Soul AI that charges you physically, taking into account dodge bonuses: it works pretty darn well. I myself am considering the possibility of using pseudo-missiles to simplify the damage calculation, then moving the Lost Soul after it occurs. Of course, the differences are pretty obvious:
  • Moving the being physically effectively turns the attack state of the Lost Soul into a sub-turn missile that can be killed/dodged before getting hit. It roughly maintains how the Lost Soul already works, but it could be an intuitive leap to figure out how to fight them.
  • Converting the Lost Soul into a missile makes it act like other projectiles in the game. This simplifies the balancing and coding in many ways but significantly affects how they're handled in-game (i.e., lost soul closes the gap instantly).
Either way I think I'm going to change up the Lost Soul AI somehow.
Logged
I'm just a dude playing a dude disguised as another dude.

Latest LPs: Angband, Delver

Klear

  • Elder
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1319
  • Twisted passages carry the smell of dapperness...
    • View Profile
Re: Lost Soul AI change
« Reply #10 on: March 20, 2012, 10:10 »

Sounds great. I imagine that using a pseudo missile would possibly have the advantage of easily preventing the souls from charging all the time - first it would have to "reload".

In any case, I was hoping that something like this is in the works. Dodging souls sounds like something that should be possible.
Logged
Arch-Vile Mjr General [24/19/18/8/2] (0.9.9.7)

Quote from: thelaptop
Dude... we need to change your forum handle from "Klear" to "Klear Nukem".

skarczew

  • Elder
  • Major General
  • *
  • *
  • Offline Offline
  • Posts: 974
    • View Profile
Re: Lost Soul AI change
« Reply #11 on: March 20, 2012, 13:17 »

Prior to resistances, Gun Kata was an excellent way to deal with the City of Skulls.

shark's been messing around with a Lost Soul AI that charges you physically, taking into account dodge bonuses: it works pretty darn well. I myself am considering the possibility of using pseudo-missiles to simplify the damage calculation, then moving the Lost Soul after it occurs. Of course, the differences are pretty obvious:
  • Moving the being physically effectively turns the attack state of the Lost Soul into a sub-turn missile that can be killed/dodged before getting hit. It roughly maintains how the Lost Soul already works, but it could be an intuitive leap to figure out how to fight them.
  • Converting the Lost Soul into a missile makes it act like other projectiles in the game. This simplifies the balancing and coding in many ways but significantly affects how they're handled in-game (i.e., lost soul closes the gap instantly).
Either way I think I'm going to change up the Lost Soul AI somehow.
The way I see it ...

1. Pain Elemental could shot (and spawn) them like normal projectiles.
2. After that each LS could either:
- move (slow/very slow - like in original Doom 2);
- charge;

The charge attack could have two phases (similar to Arch-Vile's attack):
- turn in which LS would prepare for an attack; in that turn LS would "remember" a tile occupied by a player; lets call it "preparation phase" :P ;
- chaaaaaaaaaaaaaarge phase; LS moves like a projectile to the tile remembered during the "preparation phase"; if a player moved away, then LS would continue the flight to the first obstacle encountered;

Upon impact, some damage would be delivered (lets say, LS's melee damage).
Logged

Klear

  • Elder
  • Lieutenant General
  • *
  • *
  • Offline Offline
  • Posts: 1319
  • Twisted passages carry the smell of dapperness...
    • View Profile
Re: Lost Soul AI change
« Reply #12 on: March 20, 2012, 13:37 »

The charge attack could have two phases (similar to Arch-Vile's attack):
- turn in which LS would prepare for an attack; in that turn LS would "remember" a tile occupied by a player; lets call it "preparation phase" :P ;
- chaaaaaaaaaaaaaarge phase; LS moves like a projectile to the tile remembered during the "preparation phase"; if a player moved away, then LS would continue the flight to the first obstacle encountered;

That would be a little inconsistent with how dodging is handled in doomrl. After all, dodging souls is pretty much like dodging slow projectiles.
Logged
Arch-Vile Mjr General [24/19/18/8/2] (0.9.9.7)

Quote from: thelaptop
Dude... we need to change your forum handle from "Klear" to "Klear Nukem".

Uitë

  • Elder
  • First Sergeant
  • *
  • *
  • Offline Offline
  • Posts: 113
  • Lost Soul
    • View Profile
Re: Lost Soul AI change
« Reply #13 on: March 20, 2012, 13:42 »

Well, it works the same as dodging an arch-vile's attack. And honestly, changing slow projectiles to a similar mechanic doesn't seem very bad. If you have a rocket that moves 1 tile every 0.1 seconds, that would be a lot more doomish than what we have now...
Logged
Arch-Vile 1st Lieutenant
[26|12|6|1|0]

shark20061

  • Programmer
  • Elder Chaos Guard
  • Captain
  • *
  • *
  • Offline Offline
  • Posts: 266
    • View Profile
Re: Lost Soul AI change
« Reply #14 on: March 20, 2012, 13:57 »

The way I see it ...

1. Pain Elemental could shot (and spawn) them like normal projectiles.
2. After that each LS could either:
- move (slow/very slow - like in original Doom 2);
- charge;

The charge attack could have two phases (similar to Arch-Vile's attack):
- turn in which LS would prepare for an attack; in that turn LS would "remember" a tile occupied by a player; lets call it "preparation phase" :P ;
- chaaaaaaaaaaaaaarge phase; LS moves like a projectile to the tile remembered during the "preparation phase"; if a player moved away, then LS would continue the flight to the first obstacle encountered;

Upon impact, some damage would be delivered (lets say, LS's melee damage).

That's not too far off from the idea I put together, and I plan on playing with the Pain Elemental AI to do the spitting thing too.

As of right now, the lost soul AI module I've put together is set up like this:

The lost soul starts in a "wandering" state.  It moves at 100% speed. (The lost soul is set to 150% prior to that, so it still gets to act sooner than normal when entering a level).

If it sees the player, it has a 40% chance (been playing with the numbers a little) to start a charge.  This state has a few stages, but basically, it sets up the charge timer and the destination (which is actually a tile off the map on the same line as the player).  The speed value goes up to 220% at this point.

If the player stands still, it will eventually hit and do melee attacks.  If you move, you have a chance (currently 10 + [4 * distance away] + dodge bonuses %) for the lost soul to continue flying in the previously determined direction.  At this point, it's vulnerable to attacks.  If the dodge fails, a new target line is setup at the player's destination (note that you only get a dodge chance once each move per lost soul).

The lost soul continues charging until it hits something, or until it travels 15 spaces.  After that, it goes back to wandering and speed drops back to 100%.
Logged
Hell Knight Warrant Officer (0.9.9.4)  [26!/8/3/1/0]

Mancubus 2nd Lieutenant (0.9.9.6)  [22/12/3/0/0]
M:16 S:43 (126) A:17
Pages: [1] 2  All