Saturday, November 05, 2022

Proposal: Add rules about other Visitors actions during Atomic Action

Fails withdrawn. -Bucky

Adminned at 07 Nov 2022 19:54:21 UTC

Add the following rules to the Atomic Actions section

  • The Visitor performing this Atomic Action shall post a blog entry indicating this Atomic Action is starting, unless it is itself a step of a parent Atomic Action. Atomic Actions are illegal and invalid unless they are started with a blog post in this manner, except if they are child Atomic Actions of an Atomic Action.
  • The Visitor performing this Atomic Action may also post its completion within the same blog entry as the start of the Atomic Action
  • The gamestate is considered fixed and unchangeable during this Atomic Action and any parent Atomic Action and child Atomic Actions, except by the Visitor performing this Atomic Action and any parent Atomic Action or child Atomic Actions, until this Atomic Action and any parent Atomic Action and child Atomic Actions are completed or been undone
  • Other actions taken during this Atomic Action but not included in this Atomic Action, including another Atomic Action that is not the parent or child of this Atomic Action, are considered to have occurred after this Atomic Action and its parent Atomic Action and child Atomic Actions are completed or been undone
  • All rules for any actions taken by any Visitors during this Atomic Action, including another Atomic Action that is not the parent or child of this Atomic Action, must use the gamestate as it exists after this Atomic Action and its parent Atomic Action and child Atomic Actions are completed or been undone

Replace this rule:

  • For the purposes of determining the ordering or legality of game actions, the time of an Atomic Action shall be the time that it is completed. For Atomic Actions that are redone, the time of completion is the last redone step.

With this rule:

  • For the purposes of determining the ordering or legality of game actions, the time of an Atomic Action shall be the time that it is started.

Comments

Bucky:

05-11-2022 21:33:56 UTC

The general purpose of an atomic action is to have a bunch of different steps take effect in sequence but at the same time. “All steps of an Atomic Action are considered one action… For the purposes of determining the ordering or legality of game actions, the time of an Atomic Action shall be the time that it is completed.”

So as written it isn’t possible to take actions between steps of an atomic action, as the Atomic Actions rule re-orders events so that the steps all happened consecutively after the last of the interruptions.

That said, there should be explicit consideration in that rule for players reacting to steps before they take effect, but this proposal isn’t consistent with what’s already there.

JonathanDark: he/him

05-11-2022 22:14:09 UTC

What I’m trying to do is resolve situations where the gamestate changes in such a way that the steps of the Atomic Action are now invalid and have to be redone.

For example, let’s say that we have three Attractions, A, B, and C. Attraction A has the property that if there are no visitors in the queue for Attraction A when Advance the Queues occurs, all other Attractions are closed and kick out any Visitors in their queues and inside the Attractions themselves.

Visitor Ralph is in the queue for Attraction A. The Proprietor starts the atomic action to Advance the Queues at 1:00 UTC and processes Advance the Queues for Attractions A and B, and starts working on the step for Attraction C. As far as the Proprietor knows, Visitor Ralph is now inside Attraction A, and Attractions B and C are still open.

At 2:00 UTC, Visitor Ralph walks from Attraction A to Attraction B.

The Proprietor finishes processing Attraction C at 3:00 UTC, but then sees that Visitor Ralph walked from A to B at 2:00 UTC. Now the Proprietor’s steps in the Atomic Action are invalid and they have to start over. Attraction A had no one in the queue after Ralph walked from A to B, so that means all other queues are closed and kick out any Visitors in their queues and inside the Attractions.
Attraction B had Ralph in the queue, but he’s now kicked out. The Proprietor starts the steps over again.

Another Visitor Jane joins the queue for Attraction A at 4:00 UTC.

The Proprietor finishes all the steps again at 5:00 UTC, sees that Jane has interrupted the steps, and starts over yet again.

It’s certainly straight-forward to re-order the events, but it feels like it’s putting a burden on the Proprietor to continually check the gamestate and Visitor actions during the Atomic Action until it is actually completed. Maybe that burden is unavoidable, but I was trying to see if there was a way to avoid it.

Bucky:

05-11-2022 23:27:47 UTC

>The Visitor performing this Atomic Action shall post a blog entry indicating this Atomic Action is starting, unless it is itself a step of a parent Atomic Action.

Needs a clause that if the first step of the Atomic Action is to make a blog post, that counts. See e.g. Ascension Addresses.

 

Bucky:

06-11-2022 00:15:10 UTC

against , as I think forcing all Atomic Actions to contain blog posts is unnecessarily cumbersome.

The inciting issue, movement interrupting a Queue advancement, isn’t a major concern yet because I can do the entire Atomic Action as a single wiki update.

Kevan: he/him

06-11-2022 08:06:53 UTC

against

This is something that needs addressing, but this fix isn’t quite it. I’d agree with Bucky that blog posts are unnecessary for the smaller atomic actions which some dynasties use (and any action that uses the verb “spend” is already automatically defined as being tiny atomic action).

Preventing other players from interrupting an atomic makes sense, but any solution also has to cope with atomics being deployed adversarially: a player shouldn’t be able to lock the game down (perhaps if another player is about to achieve some temporary time-based victory) by starting an atomic action and deliberately leaving it unfinished for hours or days. “gamestate is considered fixed and unchangeable during this Atomic Action” is also overkill for locking down the entire game (CfJs and all) until the player agrees to finish their action.

I’m not sure what the solution should be, though. A superficial one would be to allow a class of uninterruptable atomics, eg. if we say that Advancing the Queues is a Noble Atomic Action, that means that the player performing it has to explicitly signal its start and end somehow, and that all other dynastic actions are blocked during it.

Josh: he/they

06-11-2022 12:30:58 UTC

against A web-3.0 solution could be something like a sidebar widget that a player could switch on to signify that they’re midway through an atomic, which turned off automatically after a few minutes.

Raven1207: he/they

06-11-2022 13:22:24 UTC

against

Habanero:

06-11-2022 20:15:52 UTC

against Making all atomics require a blog post is too unwieldy for my tastes.

snail:

06-11-2022 21:17:58 UTC

against

Bucky:

06-11-2022 21:19:30 UTC

Josh, I think that’s a good idea so I went ahead and proposed it for Advancing the Queues only.

JonathanDark: he/him

07-11-2022 02:02:40 UTC

against withdrawn