Skip to content

Latest commit

 

History

History
241 lines (165 loc) · 7.02 KB

File metadata and controls

241 lines (165 loc) · 7.02 KB

First Slice

Status: current implementation target. These defaults are intended to stop open-ended discussion and give the project a buildable prototype shape. Anything here can change, but it should change explicitly in docs rather than implicitly in chat.

1. Slice Goal

Build a small scenario that proves three things:

  • layered 3D placement creates interesting routing and packing problems
  • inspection tools keep dense builds readable
  • strict adjacency, facing, and support rules are enough to produce meaningful factory design

2. Theme And Scope

The first slice is arcane-industrial first, with bio-industrial processing present as one ingredient family rather than a full subsystem. Enemy pressure is absent. The prototype is a pure construction and routing game.

The map should be handmade and bounded. Target a compact build volume rather than a sprawling map. A reasonable starting assumption is a build space around 24 x 8 x 24 cells, adjusted only if readability testing says otherwise.

3. Grid And Placement Defaults

  • Cells are uniform cubes with orthogonal adjacency only.
  • Machines rotate in 90-degree steps around the vertical axis.
  • Most machines are 1 x 1 x 1 in the first slice.
  • One transport piece may occupy multiple vertical cells to prove multi-cell placement.
  • Every occupied machine cell requires support beneath it through terrain, frame blocks, or another supported occupied cell.
  • Unsupported bridging is not allowed unless a future machine explicitly grants it.

Frame Block is a basic inert construction piece for building floors and supports. It is not counted as one of the primary machine types.

4. First Resource Families

Keep the resource set intentionally small:

  • ore_chunk: raw solid extracted from mineral nodes
  • biomass: raw solid extracted from organic nodes
  • crushed_ore: processed solid intermediate
  • reactive_mix: unstable intermediate created by combining ore and biomass
  • stabilized_plate: final slice objective output
  • power: explicit networked machine requirement
  • contamination: environmental field value plus occasional output impurity

This keeps materials item-based while still letting the prototype exercise one field-like systemic hazard.

5. First Five Machine Types

The first five machine types should be:

  1. Extractor
  2. Crusher
  3. Mixer
  4. Press
  5. Dynamo

These are supported by infrastructure pieces:

  • Belt: horizontal item routing
  • Lift Wheel: vertical item transfer between floors
  • Wire: orthogonal power routing
  • Frame Block: inert support structure

6. Machine Roles

Extractor

  • Pulls one raw resource type from a compatible map node
  • Outputs items from its front face
  • Requires power on its rear or side face

Crusher

  • Converts ore_chunk into crushed_ore
  • One item input face, one item output face, one power face
  • Safe baseline processor with no contamination emission under normal load

Mixer

  • Combines crushed_ore and biomass into reactive_mix
  • Two input faces, one output face, one power face
  • Primary contamination source in the slice when starved, overloaded, or unpowered mid-process

Press

  • Converts reactive_mix into stabilized_plate
  • One input face, one output face, one power face
  • Suffers reduced output quality when its local contamination exposure is high

Dynamo

  • Produces a fixed amount of power
  • Connects into the wire network
  • Exists to create topology and capacity questions, not fuel logistics, in the first slice

7. Example Production Chain

The canonical slice chain is:

  1. Extract ore_chunk
  2. Crush to crushed_ore
  3. Extract biomass
  4. Mix crushed_ore + biomass into reactive_mix
  5. Press reactive_mix into stabilized_plate

This is intentionally small but already forces the player to solve:

  • dual-input routing into one machine
  • vertical or layered transport when floor space is tight
  • power distribution to a compact build
  • contamination management near unstable processing

8. Transport And Power Defaults

Transport and power for the slice are locked to:

  • belts for horizontal solid item transport
  • lift wheels for vertical solid item transfer
  • wires for explicit power routing

Pipes, rails, arms, teleporters, mass drivers, and logistics drones are out of scope for this milestone.

9. Contamination Model

Contamination is both a spatial field and a possible material impurity.

Field behavior:

  • Each cell stores a contamination intensity value.
  • Contamination spreads only through orthogonally adjacent cells.
  • Spread attenuates with distance and is blocked by terrain.
  • Empty space transmits contamination more easily than solid terrain.
  • Machines do not fully block contamination, so compact builds can poison themselves.

Sources:

  • mixer instability
  • recipe interruption
  • power loss during unstable processing

Effects:

  • local efficiency loss
  • higher machine fault risk
  • chance for reactive_mix to become tainted under high exposure

Mitigation in the first slice:

  • layout isolation
  • separating unstable processing onto another floor
  • shutting down the source machine
  • waiting for passive decay

Active scrubber machines are deferred until contamination proves valuable enough to keep.

10. Time Controls

The first slice should support exactly:

  • pause
  • 1x
  • 4x
  • single-step tick

Anything less makes debugging and inspection worse. Anything more is unnecessary before performance and readability are known.

11. Command Surface

Separate simulation commands from view commands.

Simulation commands:

  • place structure or machine
  • remove structure or machine
  • rotate machine
  • enable or disable machine
  • set machine recipe or mode

View commands:

  • change active slice
  • rotate camera
  • inspect machine
  • toggle overlays

Replay and deterministic testing should only depend on simulation commands plus the initial scenario state.

12. UI Information Hierarchy

Always visible HUD:

  • active tool
  • active slice
  • time control state
  • major alerts such as unpowered machines or contamination spikes

Hover information:

  • machine name
  • facing
  • ports
  • current state
  • immediate compatibility feedback

Selection panel:

  • recipe or mode
  • input/output buffers
  • power state
  • throughput
  • contamination exposure
  • connected systems summary

Overlay modes:

  • connectivity
  • throughput
  • contamination
  • structural support

13. First-Slice Exclusions

The prototype explicitly excludes:

  • enemies or combat
  • avatar or first-person mode
  • procedural maps
  • multiplayer
  • dynamic terrain deformation
  • teleporters and other long-range logistics
  • moving multi-block contraptions
  • fluids, gases, and full chemistry systems
  • more than one explicit power family
  • automation scripting or logic programming

14. Success Criteria

The slice is successful if a player can:

  • understand where machines can be placed and why
  • build a compact multi-level chain that produces stabilized_plate
  • diagnose a routing or power bottleneck using overlays
  • notice contamination problems and solve them through layout changes
  • replay or reload a scenario without simulation divergence