Announcement: Remember: you are giving away your fantastic ideas for free, and somebody else might even make money from them (or appear to). That's just how the world works! If you're worried about it, maybe you shouldn't post your ideas here.


Caravel Forum : DROD Boards : Feature Requests : Slayer logic (It moves and the wisp follows on the same turn!)
New Topic New Poll Post Reply
Poster Message
Someone Else
Level: Smitemaster
Avatar
Rank Points: 1299
Registered: 06-14-2005
IP: Logged

File: Bug Demo.hold (9.8 KB)
Downloaded 30 times.
License: Public Domain
icon Slayer logic (0)  
See attached hold and demo for example.

[Last edited by mrimer at 10-16-2020 07:21 PM]
04-28-2012 at 06:44 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3117
Registered: 06-11-2007
IP: Logged
icon Re: Slayer logic bug (+3)  
Okay, after getting a bit more info from Someone Else on chat (since the demo did not demonstrate exactly what he wanted to show), I see what part of the code is doing this. It is, however, deliberate, so I don't think we'll be changing it.

Essentially, the Slayer has a bunch of defensive checks, but it won't run most of them if the Slayer is the following are both true:
1) The Slayer is more than 4 tiles away from the Player's Sword.
2) The number of turns it would take for the Slayer to face the player (via ArcTan1/2 method, so 10 tiles S and 1 tile W is treated as south) is less than the distance the Slayer is from the Player's Sword minus 2.

So in this case, where the Slayer is far enough away to feel safe, he will Extend the Wisp. This happens as usual. Now, since the Wisp is attached to the player, he makes a move to Advance along the Wisp.

However, there's one more defensive check to make. The Slayer considers the step he's about to take along the wisp. If, in the new position, the number of turns it would take the Slayer to face the player (using Sign method, so 10 tiles S and 1 tile W is treated as southwest) is greater than the distance from the Player's Sword minus 2, then the Slayer will *not* move along the Wisp, and will instead turn to face the player.

So in the example hold, the Slayer is 5 tiles away from the player's sword, and would need to take 2 turns to face south towards the player (which is less than the 5-2 calculation he makes), so he will want to extend the Wisp. The Wisp attaches itself to the player, so the Slayer will now want to advance along it. The next path along the Wisp is south, at which point he will be 4 tiles away from the player's sword, and would need to take 3 turns to face SW towards the player (which is greater than the 4-2 calculation he makes), so instead of advancing along the wisp at the same time as he's extending it, he will make a defensive move.

===

Considering he could already extend the wisp and *move* along it, this isn't a big thing. The only difference here is that he's considering a defensive move *along* the wisp, after having already considered defensive moves from his current position.
04-28-2012 at 07:48 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Rabscuttle
Level: Smitemaster
Avatar
Rank Points: 2460
Registered: 09-10-2004
IP: Logged
icon Re: Slayer logic bug (0)  
If fixing demo-breaking bugs is on the table, this is my request.

So, I feel like even if you have no idea about how to push a slayer around, one of the things you will pick up is that:

make slayer turn = wisp doesn't move = you can get some distance on him.

This behaviour - where he turns, but the wisp still stays on you - is the only time that this isn't true and is confusing when you first stumble upon it.
10-13-2020 at 09:38 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Slayer logic bug (0)  
Yes, we're considering fixing demo-breaking bugs.

I'm not following. What is the bug here?

Edit: That the wisp stays on the player when the slayer turns? The slayer has always functioned this way, correct?

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 10-15-2020 01:15 AM]
10-15-2020 at 01:14 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Dragon Fogel
Level: Smitemaster
Rank Points: 2430
Registered: 06-21-2014
IP: Logged
icon Re: Slayer logic bug (0)  
The unexpected behavior is that the wisp advances when the slayer turns in this very specific case. In all other cases where the slayer turns, the wisp does not advance.

I've definitely found this confusing when dealing with slayers.
10-15-2020 at 01:32 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Slayer logic bug (0)  
Is it possible to create a simpler case with only a single slayer and a demo that's not attached to the hold so I can use arrows to advance/reverse it? I am afraid I don't really understand the problem despite the hold, the demo and TFM's explanation.

____________________________
My website | Facebook | Twitter
10-16-2020 at 10:08 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Slayer logic bug (0)  
I don't think there's a bug here. The design intent from the 2.0 engine is that when the wisp is on the player, it tends to stay on the player. That is, whether the slayer moves or turns, unless the wisp is broken, it continues to track with the player. I believe all of this functionality is shown off in JtRH:L3 and I don't think it makes sense to change it now.

Edit: marking this not a bug

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 10-16-2020 04:03 PM]
10-16-2020 at 04:03 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Dragon Fogel
Level: Smitemaster
Rank Points: 2430
Registered: 06-21-2014
IP: Logged
icon Re: Slayer logic bug (+2)  
The issue is not that this is a bug, per se, but that it is confusing because of other emergent behavior.

When you are very close to the slayer and he turns, the wisp does not extend.

In practice, I find this situation is much more likely to happen than the case where you are close enough to make the slayer turn, but not so close that he doesn't extend the wisp. This makes it look like the rule is what Rabscuttle said in his post:

"make slayer turn = wisp doesn't move = you can get some distance on him."

And once you get that (incorrect) rule into your head, the behavior when you're a little further away seems like an exception.

What Rabscuttle is suggesting is to make that the actual rule - if the slayer turns, he does not extend the wisp.

In my own experience with slayer rooms, this doesn't happen very often. I expect it would break demos, but probably only a small range of them. And I'm nearly certain it won't break any rooms. It just makes it a little easier to gain distance on the slayer, which is generally possible to do anyways in any room where this could be relevant.

It's not a bug, but I would say it's in the space on rule changes where it would have minor impact overall and so seems worth discussing.
10-16-2020 at 07:18 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: Slayer logic bug (0)  
Thanks for the clarification.

Moving this over to feature request board.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
10-16-2020 at 07:20 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Feature Requests : Slayer logic (It moves and the wisp follows on the same turn!)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.