← back to games

◈ in development · godot 4.6 · demo on itch.io

ANIMA MACHINA

unit AM-0017 · something is watching · something is learning

Engine
Godot 4.6
Genre
Precision Platformer
Viewport
960×540 · integer scaled
Chapters
5 + NULL SECTOR
Levels
50 + 10 secret
Status
Chapter 1 active

You are AM-0017, a robot unit navigating a decaying industrial facility. The factory is clean at first — orderly, mechanical, exact. But the deeper you go, the more something bleeds through. Something geometric. Something ancient. It has been here longer than the factory. It has been waiting.

Every time you die and retry, it grows more aware. The repetition isn't just a mechanic — it's the story. You are the vessel. The question is whether AM-0017 knows that yet.

// ENTITY PRESENCE DETECTED
// OBSERVATION CYCLE: >∞
// VESSEL INTEGRITY: ACCEPTABLE
// PATIENCE: UNLIMITED

Structure

CH.1 Initialization active · rebuilding
CH.2 Overgrowth green · grasslands
CH.3 Permafrost cyan · tundra
CH.4 Erosion magenta · desert
CH.5 The Void end · unknown
CH.0 NULL SECTOR NULL_01 — NULL_05

Systems Built

The character controller features coyote time, dash, and precise collision. Laser traps zero velocity on hit and hand control to a dedicated death-drag sequence. Physics zones include slow zones, with zero-gravity and free-float planned. Hazard sync is tied to run start via fmod() — not scene load — so respawns never desync moving traps.

The save system uses deep-merge JSON logic across two separate systems (stats and completion data) writing to the same file without clobbering keys. The ghost replay system records at 60fps and automatically reflects equipped skins on playback.

All UI is built procedurally in GDScript — no scene editor. The title splash has a chromatic aberration glitch effect with randomly selected subtitles pulled from industrial, unsettling, speedrun, rare, and meta pools. When a player earns every AM medal, the level selector plays a one-time 10-second animation — tiles lerp from orange to purple — before the access button fades in. It only ever plays once, flagged in the save data.