PermadeathProgression

Death permanently ends the current run with no recovery; accumulated progress is lost or locked.

One death wipes the entire run — depth, gold and loot all reset to zero with no respawn, and the next run starts from scratch.

How permadeath works in Godot

Permadeath is defined by the absence of recovery: on death you delete the save (or never wrote one) so the run can't be reloaded. The mechanic lives in your save policy.

FileAccessprimitive

Check and remove the save on death. Deleting it is the mechanic — there's nothing to load back from.

func on_permadeath():
    if FileAccess.file_exists(SAVE_PATH):
        DirAccess.remove_absolute(SAVE_PATH)

ResourceSaverprimitive

In ironman mode you overwrite a single slot continuously, so the player can never retreat to an earlier safe state.

# One slot, always overwritten — no scumming
ResourceSaver.save(state, SAVE_PATH)

Signalsprimitive

Emit run_ended so the meta layer (unlocks, statistics, leaderboard) records the finished run before everything resets.

signal run_ended(stats)
func on_permadeath():
    run_ended.emit(collect_stats())
    clear_save()

In short: On game_over: no save written (or save deleted); run must restart from zero

Retro games that use permadeath

6 catalogued game(s) use this mechanic, spanning 1980–1999.

Related progression mechanics

▶ Explore Permadeath interactively — see every game + the Godot system