Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Changing player role during temporal projection playback
New Topic New Poll Post Reply
Poster Message
Nuntar
Level: Smitemaster
Avatar
Rank Points: 3352
Registered: 02-20-2007
IP: Logged
icon Changing player role during temporal projection playback (+3)  
There was a discussion on this over a year ago, but it was in the hidden TSS Beta forum, and it ended after just three posts with no conclusion reached. The topic came up again in chat today, since Lucky Luc had a puzzle idea that would be affected by this behaviour, so I felt obliged to point out the existence of the discussion, in case the relevant behaviour got changed in the future. So I'm copying the old posts to the Bugs section so we can have a public discussion, and hopefully come to a decision so that architects can feel safe using this interaction.

Old posts:
quote:
skell wrote:
When you are recording a temporal projection Player Role command affects you and clones.

When you are playing back a recorded temporal projection Player Role command affects you and clones but not the temporal projection.

It feels counterintuitive for me and is yet another little rule to remember which does not seem to bring much to the table.

See the attached hold for example of this issue.

I'd vote to make it that Player Role command always affects player, all clones (as it is now) and additionally all temporal projections.

quote:
RabidChild wrote:
I think there's puzzle potential in having temporal projections have a different player role than the player, but you're right that the way it works now doesn't make a whole lot of sense.

What I would expect to happen is that if a temporal projection triggers a player role change during playback, it should only affect the projection and not the player or clones.

quote:
mrimer wrote:
This is a good question. I agree that while there are some quirks we could throw in that would allow new potential, it doesn't necessarily make a lot of sense. I have a different thought on what we could do.

It might be preferable to handle this the same way we do with drinking potions while recording moves for a temporal token, i.e., it turns off move recording when it happens.

The story idea here is that if the player changes their nature, the pending recording gets de-synchronized and now the player can no longer go back in time without recalibrating the token.

This would be a simple way to solve all the game mechanic wrinkles.


My thoughts:

This may seem like an obscure edge case, since traditionally, player role changes have mainly been used for one-off changes at the starts of levels (like the Interludes in TCB). However, there is a lot of puzzle potential in player role changes within a level or even within a room, as was proven by a room in the recent race hold. So it would be good to make other elements work as harmoniously as possible with player role changes.

RabidChild's idea is really a non-starter, since Set player role affects the global state of things -- it isn't tied specifically to one entity (Beethro or timeclone).

mrimer's idea has its points, but it doesn't deal with all cases. Let's say the player role change is triggered by stepping on a tile, like the one in the race hold. Now suppose the player makes a recording without stepping on the tile, tabs back, then steps on the tile during playback. What happens? (Call this Case 1.) Also, what happens if the player makes a recording, tabs back, then changes things so the timeclone steps on the tile? (Case 2.)

In Case 1, the player should certainly change, since he stepped on a tile that triggered a Set player role. I think RabidChild's idea was that in Case 2, only the timeclone would change, but as I've said, that will lead to inconsistencies with other methods of triggering player role changes. Anyhow, Set player role already doesn't change just one entity -- it changes clones along with the player, and this has been used in published rooms (though off the top of my head, the only one I can think of is in Cheap Trick Compilation).

So, given that Set player role is global, it's impossible to distinguish Cases 1 and 2 -- what happens in them should be the same. Then the most consistent solution is skell's proposal, that in both cases, both the player and the timeclone should change role. This is also consistent with the behaviour of clones -- if we imagine that a Set player role changes clones along with the player because they are "in synch" with him, then surely timeclones are even more so.

____________________________
50th Skywatcher

[Last edited by Nuntar at 08-20-2016 09:42 PM]
08-20-2016 at 08:57 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Xindaris
Level: Smitemaster
Avatar
Rank Points: 592
Registered: 06-13-2015
IP: Logged
icon Re: Changing player role during temporal projection playback (+1)  
Apologies for necroposting, but this came up in chat and affects a hold I have in progress, nearly done, at the moment. Specifically changing the way suggested in the above post wouldn't actually break a puzzle per se, but would cause something that the room asks the player to do to alter things in a way that makes absolutely no sense with what's happening "in story".

I disagree about timeclones being "in sync" with the player. It seems to me more like regular clones are just other bodies the "current player" controls, while timeclones are reflections of "past states" the player was in, which is why they can only do what the game "remembers" the player doing. With that interpretation it makes perfect sense for old timeclones to retain the player role they "remember" being in before.

Part of the issue, I think, is that CPR (change player role) isn't something like a disarm token that happens in a specific, consistent way; it's a scripted event that could be triggered by all kinds of things. A tile could change player role if player steps on it, or if player double steps on it; or the script could change the player's role if they go North West Northwest Southwest in that order exactly and then wait six turns. Whatever "change player role" is checking for may depend entirely on player actions or entirely on timeclone actions, and either way it then changes the "global state" of the player.

But at the same time...obviously timeclones already "remember" what player role they're in on an individual basis, or we wouldn't be having this discussion at all. So...if a timeclone "remembers" changing player role mid-recording, my intuition is that obviously it should change its role exactly at that same time in the playback, the same way it "remembers" moving north on a particular move. Meanwhile the actual player and regular clones only respond to "real" CPR commands.

But okay, let's hypothetically grant that that's impossible (because I don't know anything about the actual code at work). Then CPR behaving like a potion and halting recordings is perfectly acceptable as far as I'm concerned. It can be triggered in more ways, including by a timeclone or whatever, but that's basically always going to be true. If a timeclone pushed a player onto a potion while he was trying to record a recording then the timeclone would still be fine and the player's recording would be halted; I have no problem with CPR behaving the exact same way regardless of what activates the CPR.

I don't personally see the problem with case 1/case 2 above if we go the "like a potion" direction. If I'm reading them correctly: Case 1 is "a timeclone causes a CPR but didn't while recording" (regardless of how that happens), in which case my understanding is that the player should change roles and the timeclone stay whatever it recorded as; Case 2 is "a CPR happens because of the player while a timeclone also exists", in which case the player should change roles and the timeclone stay whatever it recorded as. So...sure, they're indistinguishable but as far as I can tell their results should be exactly the same anyway. Heck, I could make case 1 happen without the "changing where the timeclone steps" part by just having the CPR-ing character check for DOUBLES only, so when the player steps on the tile during recording "nothing happens" but when the timeclone does the exact same thing and steps on the tile, the player's role changes. That kind of thing is basically up to the architect.

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 06-26-2018 04:40 AM]
06-26-2018 at 04:21 AM
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: 480
Registered: 06-23-2006
IP: Logged
icon Re: Changing player role during temporal projection playback (+1)  
I used to think time clones were cool. Now people keep doing weird bad things with them and I am sad.

Anyhow, I agree with the idea that changing player role should cancel the recording. Spontaneously transforming into another being is certainly a change of state, much like when a potion is used.

I also think that Set Player Role shouldn't effect Temporal Projections. Xindaris is right in that SPR is an abstract thing, without any basis in the fiction. However, it's again similar to potions, and most potion drinking doesn't effect Temporal Projections. The only exception are speed potions, that have unpleasant game logic issues related to them.

Ultimately, it's up to architects not to abuse these kind of things, but I think making Set Player Role not affect Temporal Projections significantly reduces the abuse surface.

____________________________
[Insert witty comment here]
Qzvlkx?
06-26-2018 at 09:11 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
Insoluble
Level: Smitemaster
Avatar
Rank Points: 1302
Registered: 09-04-2014
IP: Logged

File: custom player roles and time tokens.hold (1006 bytes)
Downloaded 0 times.
License: Public Domain
icon Re: Changing player role during temporal projection playback (+1)  
I have no real opinion on the above mentioned bug, but wanted to mention a possibly related bug that I've encountered. This occurs if you create a custom player role that is based on an element that has a weapon (I did this with a custom character based on Beethro at first, but tested it with guards and slayers as well. Same bug). When you set the player role to your custom character then record a temporal projection, the projection will play back disarmed for no apparent reason. This occurs even if you swap weapons using a token or set the payer's weapon using set player weapon. See the attached hold for an example.

____________________________
Links to neat forum tools that I always have trouble finding:
Click here to view the secret text

06-27-2018 at 06:55 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
Xindaris
Level: Smitemaster
Avatar
Rank Points: 592
Registered: 06-13-2015
IP: Logged
icon Re: Changing player role during temporal projection playback (0)  
One more thing I basically didn't think of in my last post:

Historically, the "lore use" of set player role is most often for situations where Beethro isn't somehow shapeshifting into another person, but when the player is simply playing as a different character. This change has typically happened from level to level, especially in the official holds, and it's precisely what my hold is using it for. I know for a fact that this "meaning" of set player role is also what a certain mid-room set player role is used for in a certain major hold in progress. For that interpretation of what set player role "means", it would make absolutely zero sense for the player to change from controlling one person to controlling another (mid-room, which is where this came up for me) and timeclones that the first character recorded to suddenly transform into the other character. I think this is my biggest justification besides "it would have interesting puzzle implications too". I'll grant that clones changing player role with the player seems weird with this interpretation of what changing player role means, but an architect using set player role as a "character swap" mid-room could probably get around that with careful architecting and/or some really clever scripting. It would be significantly harder if not impossible to cleverly script "different character timeclones" in the same sort of situation.

____________________________
109th Skywatcher

Here are some links to Things!
Click here to view the secret text


[Last edited by Xindaris at 06-27-2018 04:00 PM]
06-27-2018 at 03:55 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
mauvebutterfly
Level: Smiter
Rank Points: 324
Registered: 05-03-2015
IP: Logged
icon Re: Changing player role during temporal projection playback (0)  
I posted this in chat a few days ago, but on the off-chance that this is decided democratically I wanted to say I'm in agreement with all of Xindaris' points.

____________________________
106th Skywatcher
06-27-2018 at 04:21 PM
View Profile Send Private Message 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 : Changing player role during temporal projection playback
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.