Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Pushing and Timetokens and Potions (I want this to be a feature)
New Topic New Poll Post Reply
Poster Message
blorx1
Level: Smitemaster
Rank Points: 892
Registered: 07-18-2009
IP: Logged

File: Bug - Fun.hold (1.1 KB)
Downloaded 4 times.
License: Public Domain
icon Pushing and Timetokens and Potions (+1)  
Apparently some funky stuff happens if the player steps onto a potion and is then pushed off onto a time token in the same turn.

Specifically, if you use a mimic potion you place the mimic in each timeline, so you get some interesting control over where it is in each timeline.

For clone potions it's probably broken, but you start recording from the placed clone, which seems wrong. I think if it just didn't switch to the clone it would be "usable"

____________________________
If you need to think outside of the box, then you didn't build a good enough box.
12-23-2017 at 07:18 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
hyperme
Level: Smiter
Avatar
Rank Points: 455
Registered: 06-23-2006
IP: Logged
icon Re: Pushing and Timetokens and Potions (+1)  
This is technically a logical consequence of how a various turn processing systems are set up. The chain of events is something like this:

1. Player moves onto a tile with a double potion.
2. The potion is used, setting a flag in the player object so that the double placement will happen.
3. Other reactions to the player's move happen.
4. Monsters get to move.
5. The player is pushed onto a tile with a Time Token.
6. The Time Token activates.
7. Other things happen.
8. The temporal split's validity is checked. If the player was moved after activating the token, the recording is cancelled.
9. The turn ends. The room state is recorded. This includes the player flag for double placement.
10. Since the player's double placement flag is set, double placement happens.
11. If the double being placed is a clone, it becomes active when placed.
12. Moves are recorded for the temporal split.
13. The player rewinds, undoing everything to the state it was in when the token was activated.
14. Since the player's double placement flag is set, double placement happens.

The end result definitely funky and non-initiative, especially with clone potions. There are a few options for dealing with this.

The first is to stop the Time Token from activating when double placement is pending. This seems consistent with how potions and Time Tokens currently interact. It's also the neatest way of fixing this, but some people do really enjoy weird interactions.

The second is to prevent auto-switching to a clone if a temporal recording is ongoing. This will only affect this specific case, which makes it potentially undesirable. However, it does mean we get to keep the interaction, if that is considered a good thing.

Finally, nothing could be done about this. All the turn processing is happening correctly. It's just that the end result is unexpected. If we call it 'emergent behavior', this becomes a feature and not a bug.

____________________________
[Insert witty comment here]
Qzvlkx?
12-24-2017 at 07:33 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Dragon Fogel
Level: Smitemaster
Rank Points: 1012
Registered: 06-21-2014
IP: Logged
icon Re: Pushing and Timetokens and Potions (0)  
I think the clone issue should definitely be fixed, as normally you can't switch to a clone mid-recording. In all other situations, it's irrelevant whether you switch to the new clone or stay as the one who drank the potion because you can immediately switch back, so the fact that you switch isn't really a "rule".

No strong opinion on whether recordings should be cancelled for double placement in general. I think it would make more sense if they were, but it's not a strong preference.
12-24-2017 at 08:05 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Nuntar
Level: Smitemaster
Avatar
Rank Points: 3238
Registered: 02-20-2007
IP: Logged
icon Re: Pushing and Timetokens and Potions (0)  
The behaviour with mimics is exactly what I'd expect to happen, given that double placement happens at the end of the turn (and this is a widely known fact that is okay to use in puzzles). It's true that starting a recording and then stepping on a potion cancels the recording (which feels strange enough already), but here the sequence is reversed.

With clones, since this hasn't been explicitly spelled out, I'll first describe the current behaviour. If Beethro steps on a clone potion and then gets pushed onto a time token, he gets to place the clone and is auto-switched to it and can't switch back (switching by clicking is disabled during recording). When the player hits Tab, they can place a clone again (as with mimics) but are not auto-switched with it, and the player and timeclone are both on the time token so the timeclone starts making the recorded sequence of moves from there even though the recording starts wherever you placed the first clone.

This is really counterintuitive and has high potential to break rooms if the architect doesn't know about it, so I think the best solution is (as hyperme suggested) to disable the auto-switching in this specific case.

____________________________
50th Skywatcher
12-24-2017 at 09:06 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
bomber50
Level: Smitemaster
Rank Points: 870
Registered: 09-18-2006
IP: Logged
icon Re: Pushing and Timetokens and Potions (0)  
quote:
Nuntar wrote: When the player hits Tab, they can place a clone again (as with mimics) but are not auto-switched with it, and the player and timeclone are both on the time token
Not auto-switching, to me, might be a bug.

Everything else makes sense, doesn't feel buggy.
12-24-2017 at 10:29 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Doom
Level: Smitemaster
Avatar
Rank Points: 3042
Registered: 07-05-2004
IP: Logged
icon Re: Pushing and Timetokens and Potions (+1)  
Not activating the time token sounds like the most intuitive option to me. Double placement can be considered part of the potion usage action, which already cancels recordings. Much easier to explain than the alternative.

And anyways if the intent is to allow placing doubles during a recording, why wasn't it done the easy way by just letting players drink potions? I'd assume the potions-cancel-recordings rule was a deliberate design choice supposed to prevent this type of thing.

Finally Mike said a thing once that's possibly relevant:
quote:
mrimer wrote:
Having interesting emergent behaviors via element combinations is good, but I don't want a bunch of fiddly rules I need to remember in obscure cases. DROD has enough of those already, and I don't want to keep introducing more whenever an oversight in the game logic is encountered.

12-24-2017 at 10:34 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 : Bugs : Pushing and Timetokens and Potions (I want this to be a feature)
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.