Variable Turn Length

GURPS uses a very simple round-robin initiative system; everyone just goes once per turn. This works adequately if everyone is about the same speed, but it works poorly if, say, one character is 50% faster than another, and it means you can't directly attempt to do things faster, or take short actions, and it works oddly for delays.

The way many video games work is that each action has an animation time, and you cannot normally perform another action until your current action has finished animating (there are exceptions, which depend on the game and are out of scope for this article). This is occasionally also found in board games; you have an initiative counter that is moved forward when you perform an action.

The board game variant is practical enough to implement in an RPG. This requires the following things:

    1. A set of multicolored stacking counters, one per character (for groups of critters, you can add numbers).

    2. Another counter to mark current initiative.

    3. A track long enough that people probably won't get confused, and large enough to fit your counters. 30+ should do it, though you can make it arbitrarily large (a section of a map works, or just draw a track on grid paper). Long tracks have the advantage that you can mark other events on them as well, such as when a certain effect ends.

    4. A track for waiting characters.

    5. A turn marker to note how many times the current initiative has gone around the path.

The initiative system then works as follows:

    1. Place everyone's counter on the start location, with the highest initiative at the top. Surprised characters can be placed somewhere other than the start.

    2. Place the initiative counter before the start.

    3. Move the initiative counter forward to the first box with at least character one counter.

    4. Run through counters from top to bottom to resolve actions, as follows:

      1. Declare what you are attempting to do.

      2. If the action is a wait, put your counter at the top of the wait track and immediately move to the next character.

      3. Otherwise, all characters on the wait track, starting at the end, may declare an interrupt. An interrupt is any action with an action cost no higher than the action being interrupted.

      4. In reverse order, resolve the interrupts and the action. Each is resolved in the same way:

        1. Do whatever that action allows, making any rolls. If the action is no longer possible due to a prior interrupt, it fails.

        2. Move the character's initiative token to the current initiative plus the cost of the action/interrupt. If this puts it in the same space as another character, they are placed on the bottom.

    5. After all actions have been resolved, waiting characters, starting at the bottom, may take actions if they wish. These can be interrupted (as normal) by any character still waiting.

    6. Return to step 3.

So far, other than a bit of cleaning up the wait system, we haven't really gained much. Now for the interesting part. Each action has a base action cost, but it's possible to modify action cost. For this, we have a table:

For typical actions, each shift right is a -1 to perform the action (you cannot stop on a blank), each shift