6150th poster gets a cookie (cookie thread (Part 7)) (Part 8)

(So Zone. Which Zone is going to tell Zug about the gimmick we put in ASTT - Alt. Quantum?)

Eh. Don’t worry about it. He’ll figure it out if he signs up for the game.

Thanks for the suggestions! Don’t worry about the numeric priority. We literally have a mechanic called Linear Action Resolution, derived from the Ranking System from Paradox Hazard.

And uh… Yeah, not only will roles interact with each other; entire Systems are supposed to interact with each other. Gambling System supports Points System, but they are supposed to be functioning even if one of them went missing.

2 Likes

I feel like this is just part of the ability creation process?
Might also help if players get some of their target’s Points if they were responsible for their death.

1 Like

Unless I come up with some BS like “Season of Error”.
*realizes that I just added more possibilities -i.e., more workload- to my list*
orz

How are cross-targeting ties resolved e.g. RBers, JKs, Redirectors, Bus Drivers?

1 Like

nvm
Just found out it only counts streamed music
Guess who almost only listens to music she downloaded :joy_cat:

1 Like

badly :joy_cat:

If one has a higher priority, then the ability with the higher priority is processed first

if two abilities were to interfere but have the same priority, the one that resolves first is an implementation detail (at the moment, whoever comes first in the playerlist has their action resolved first)

I’ll eventually™ fix this for more usual roles, though since roles in Zugbot are basically arbitrary functions, not every potential action loop can be detected

Fun hypothetical on this:
Say that a player is shooting someone. That player has been targeted by an RBer and an empowerer. On its own, that player would be protected from the RB, and the shot would go through.
Now say that the empowerer is targeted by a second RBer. Does the shot still go through?

1 Like

LOL

3 Likes

I HECKING LOVE SLOT ORDER I LOVE LOSING WONDERS TO THE HOST I LOVE LOSING GREAT PEOPLE TO CLICKING

2 Likes

apparently this isn’t supposed to be out yet lol

guess u got it early

2 Likes

this is maybe the realest post you’ve ever made

1 Like

Ever heard of Linear Action Resolution? It’s what I used before I realized LAR was not NAR.

Example (Low Number = Higher Priority):

  • Roleblocker (No. 1) blocks Doctor (No. 4)
  • Jailkeeper (No. 2) jails Roleblocker (No. 1)
  • Bus Driver (No. 3) swaps Roleblocker (No. 1) and Redirector (No. 5)
  • Doctor (No. 4) heals Roleblocker (No. 1)
  • Redirector (No. 5) redirects Bus Driver (No. 3) to Doctor (No. 4) || Since Bus Driver has two targets, assume only the first target gets redirected

LAR (Sequential):

  1. Roleblocker blocks Doctor
  2. Jailkeeper visits Roleblocker || Block does nothing since the action was already done
  3. Bus Driver swaps Roleblocker and Redirector
  4. Doctor wanted to heal Roleblocker, but got blocked
  5. Redirector “redirects” Bus Driver to Doctor || Assume this is the type of Redirector that visits both targets || Bus Driver visited (1) Roleblocker, (2) Redirector, and (3) Doctor. They swapped (1) and (2), and simply visited (3) without doing anything.

NAR (Priority is given to those who are the least affected by other roles):

  1. Redirector redirects Bus Swapper’s first target to Doctor
  2. Bus Driver swaps Doctor and Redirector
  3. Jailkeeper jails Roleblocker
  4. Doctor heals Roleblocker
  5. Roleblocker got blocked
2 Likes

yeah it’s not intended as permanent

at the moment you’re (well, atm I’m) not supposed to put in roles where that’s an issue

Actually I’m pretty sure this is.

The solution… IIRC differs per host:

I’ve pondered the idea of partial roleblocks and redirects, where the effects of an action are partially cancelled out or partially redirected, respectively

there are too many actions that don’t work at all with that though, so I didn’t put it into Zugbot
it’d make an interesting setup idea though

In the system I have slowly been working on (actually figuring out the algorithms to detect this has been hellish), the shot would fail because the natural chain would be RBer of Empowerer, Empowerer, RBer of Vigi, Vigi. (It’s not really a chain, but an RBer targeting another player goes before the player they’re targeting unless their target somehow affects the RBer, and an Empowerer similarly would go before their target, but the specific arrangement is irrelevant as long as those specific orderings are satisfied.)

Again, the detection algorithms are extremely complicated and potentially computationally expensive, so it’s a problem I pick up with and tinker around on for a bit before setting it back down. I think you’d need to construct graphs for scopes of influence, create a cycle detection algorithm for those graphs, and ways of breaking cycles that aren’t straight up deleting all of the problematic actions in the cycle which also asks a lot of questions. And when you start asking how abilities that trigger during resolution affect things timing wise that complicates things further, and then there are a lot of actions where it may not become clear to a program that things are potentially problematic until they’re partially resolved so it may require literally running resolution simulations or something. The point is it’s hard.

2 Likes

IE

Player A is a Jailkeeper, and Player B is a Roleblocker and a Vig.

Player A Jailkeeps Player B, and Player B shoots Player C. Also, Player B is attacked by the factional that night.

Player A and Player B both get half-roleblocked, so Player A’s protection of Player B is only half as effective, and player B’s vig shot does half the damage.

So, Player B and C end the night at half health (assuming everyone started at full health).

Yeah I want my action resolution to not give a shit about slot order, alignment, or time stamp and be deterministic. Also the atomic unit is not actions, but effects i.e. a conventional JK action is the composition of protection and blocking effects. Tiebreaking when there’s a cycle looks at the maximum intrinsic effect priority of each ability involved, and their scope (which just means what exactly the ability is affecting with generally narrower scopes winning out over larger ones). That sounds complicated, but it’s just a attempted formalization of NAR.

3 Likes

it’s a simple resolution that works for misc conflicting abilities i think? assuming you can’t find a better one which you generally can, it’s a good default
conflicting redirections absolutely should be cancelled tho

1 Like