---
key: mechanic/automation-programming--t115
type: mechanic
id: automation-programming--t115
lang: en
title: Programming as a gameplay challenge
summary: >-
  A program solves a task by transforming specified inputs into outputs with
  limited instructions and memory.
updatedAt: '2026-10-22'
status: active
url: 'https://gamemechanics.pro/en/knowledge/mechanic/automation-programming--t115/'
jsonUrl: >-
  https://gamemechanics.pro/api/v1/knowledge/en/mechanic/automation-programming--t115.json
markdownUrl: >-
  https://gamemechanics.pro/content/knowledge/en/mechanic/automation-programming--t115.md
aliases: []
tags:
  - Automation and programming
  - Mechanics and variants
sourceIds:
  - source-96be186d8ada50a0
  - source-2fb392d4831688b7
sources:
  - id: source-96be186d8ada50a0
    title: 'Factorio: Content'
    url: 'https://www.factorio.com/game/content'
    verifiedAt: null
  - id: source-2fb392d4831688b7
    title: Human Resource Machine
    url: 'https://store.steampowered.com/app/375820/'
    verifiedAt: null
relations: []
placements:
  - catalogId: automation-programming
    id: t115
    title: Automation and programming
    url: 'https://gamemechanics.pro/en/mechanics/automation-programming/#t115'
    categoryIds:
      - mechanics
supersededBy: []
attributes:
  preview:
    updatedAt: '2026-10-22'
    title: Programming as a gameplay challenge
    description: >-
      A program solves a task by transforming specified inputs into outputs with
      limited instructions and memory.
    image:
      src: images/mechanics/adventure-human-resource-machine-00.webp
      width: 1440
      height: 810
      game: Human Resource Machine
      sourceUrl: 'https://store.steampowered.com/app/375820/'
      originalUrl: >-
        https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/375820/ss_5de238ca62f67dc97c940bd6af61c03a4320c981.1920x1080.jpg?t=1692721273
      credit: Tomorrow Corporation
      rights: >-
        Game imagery © its respective rights holders. Publisher-distributed
        Steam screenshot; all rights reserved. Excluded from MIT and CC BY 4.0.
      caption: Program commands control transport and calculation
      alt: Program commands control transport and calculation
      markers:
        - x: 84
          'y': 65
          label: The program defines execution order
        - x: 25
          'y': 49
          label: An agent executes commands in the game world
    tips:
      - Let players trace program execution on a specific input.
    examples:
      - title: Human Resource Machine
        url: 'https://store.steampowered.com/app/375820/'
endsAt: null
provenance: >-
  Original bilingual editorial overviews authored for gamemechanics.pro on
  2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design
  examples; prototype checks describe work to perform, not completed playtests.
  Primary sources support the stated techniques and implementation context, not
  every proposed variant.
license: CC-BY-4.0
codeLicense: MIT
attribution: gamemechanics.pro contributors
catalogKey: catalog/automation-programming
---
# Programming as a gameplay challenge

id: automation-programming--t115
type: mechanic
key: mechanic/automation-programming--t115
lang: en
status: active
url: https://gamemechanics.pro/en/knowledge/mechanic/automation-programming--t115/

A program solves a task by transforming specified inputs into outputs with limited instructions and memory.

## At a glance

![Program commands control transport and calculation](https://gamemechanics.pro/images/mechanics/adventure-human-resource-machine-00.webp)

[Human Resource Machine](https://store.steampowered.com/app/375820/) · Game imagery © its respective rights holders. Publisher-distributed Steam screenshot; all rights reserved. Excluded from MIT and CC BY 4.0.

1. The program defines execution order
2. An agent executes commands in the game world

- Let players trace program execution on a specific input.

- [Human Resource Machine](https://store.steampowered.com/app/375820/)

## How it works

A program solves a task by transforming specified inputs into outputs with limited instructions and memory.

## Variants

### Mechanic variants

<a id="t115-variants"></a>

- Sequences order a set of simple instructions. <a id="t115-v1"></a>
- Loops repeat actions until a stopping condition. <a id="t115-v2"></a>
- Branches choose responses from input values. <a id="t115-v3"></a>
- Memory limits require reusing stored data. <a id="t115-v4"></a>

## Design example

A robot sorts labeled parcels with one sensor and only two available memory cells.

Prototype check: Test unseen inputs so a valid program does not merely memorize the displayed tutorial example.

## Context and limits

Automation moves repeated work into a system; the player builds connections and identifies the limiting stage. Each overview separates player actions, state changes and alternative rules. Examples are hypothetical design scenarios, not claims about a named game. A prototype check states an observable question for the next iteration. Existing detailed references remain separately linked from the direction map.

## Connected materials


## Sources and provenance

Original bilingual editorial overviews authored for gamemechanics.pro on 2026-10-20 and reviewed on 2026-10-21. Scenarios are hypothetical design examples; prototype checks describe work to perform, not completed playtests. Primary sources support the stated techniques and implementation context, not every proposed variant.

- [Factorio: Content](https://www.factorio.com/game/content) (id: source-96be186d8ada50a0)
- [Human Resource Machine](https://store.steampowered.com/app/375820/) (id: source-2fb392d4831688b7)

CC-BY-4.0 · gamemechanics.pro contributors
