Procedural Notes

Archives
Subscribe
November 21, 2025

01: Mechanics

The second Procedural Note - describes Rampant on the Tracks' gameplay mechanics.

This is the second Procedural Note.

The first promised, within 11/14 - 11/21, a " more detailed explanation of Rampant on the Tracks' gameplay mechanics ".

This is that.

A demo is available at..

.. https://jpshankar.github.io/rampant-on-the-tracks-game-mechanics.

(Full source is available at https://github.com/jpshankar/rampant-on-the-tracks-game-mechanics)

24_steps_to_go.png

The art assets aren't final, and there's no audio. The demo can't be paused; on completion, the browser has to be refreshed to start again.

The demo has a Walker, which takes a semi-random walk that discourages backtracking:

const maybeNextSteps: NextStep[] = 
    baseStepDirections
        .filter((baseStepDirection) => {
            return !maybePreviousStep || (maybePreviousStep && baseStepDirection !== invertStepDirection(maybePreviousStep))
        })
        .map((likelyNextStep) => {
            const nextStepDestination = this._calculateDirectionNextStep(likelyNextStep);
            return { stepDirection: likelyNextStep, stepDestination: nextStepDestination}
        });

The player must steer the Walker to its Destination within the number of steps given:

arrived_at_destination.png

If they don't, the Walker will never make it there:

out_of_steps.png

How does the player steer the Walker?

Through use of Blocks..

grid_point_blocked.png

.. and Redirects:

grid_point_redirect_north.png grid_point_redirect_east.png grid_point_redirect_south.png grid_point_redirect_west.png

Blocks and Redirects are applied to a point by clicking on it. They can't be applied to Destination points.

Blocks..

.. send the Walker back the way it came:

walker_to_be_blocked.png

walker_blocked.png

Here, a Block is used to keep the Walker close to the Destination.

Redirects..

.. steer the Walker in the specified direction.

We can redirect North..

redirect_north.png

.. East..

redirect_east.png

.. South..

redirect_south.png

.. and West:

redirect_west.png

Here, Redirects demonstrate steering.

Blocks and Redirects..

.. allow the player some guarantee that the Walker will get to its destination in fewer steps:

arrived_at_destination_blocks_redirects.png

The demo's challenges are thus:

  • Can they set a Block/Redirect up in time for the Walker to be affected by it?
  • Before the Walker runs out of steps, can they understand its movements enough to steer it to the Destination?

Rampant on the Tracks' gameplay is..

.. steering Walkers to their Destinations via judicious use of Blocks and Redirects within the amount of steps they can take.

Having defined that, the next step is to set up procedural generation tooling to create Tracks that:

  • are more visually interesting, and have more varying distances between their points, than a square grid
  • contain n Walkers, each with a distinct destination and their own unique semi-random walk
  • impose limits on the number of Blocks and Redirects applicable, to add additional challenge

A newsletter post describing and demonstrating that tooling will come between 11/21 - 12/05 - subscribe if you'd like to receive that in your inbox!

(Or if you're just curious.)

Don't miss what's next. Subscribe to Procedural Notes:
Powered by Buttondown, the easiest way to start and grow your newsletter.