godot-mechanic-revival
Expert blueprint for player mortality loops: progress-index checkpoints, soul graves, ghost/spirit layers, I-frame restitution, world-progress persistence, and death analytics. Use when implementing respawn, shrine checkpoints, corpse-run retrieval, or second-chance mechanics. Keywords revival, respawn, checkpoint, soul grave, ghost mode, I-frames, death analytics, progress index.
How do I install this agent skill?
npx skills add https://github.com/thedivergentai/gd-agentic-skills --skill godot-mechanic-revivalIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a clean and standard set of Godot GDScript templates for handling player death, revival, checkpoint persistence, and local analytics tracking. No security risks or malicious behaviors were detected.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerwarn
4/4 files flagged
What does this agent skill do?
Overview
Mortality beyond Game Over: progress-index checkpoints, soul graves, ghost/spirit collision layers, I-frame restitution, world-progress bitmasks, and death analytics (Sekiro / Hades / Souls-like).
Golden Path — Death → Fade → Restore → I-frame → World Persist
MANDATORY script order (read before improvising):
- revival_global_manager.gd — Autoload owns death → delay → respawn; resolve player via group
Player. - revival_death_timer.gd — 1–2s fade / death anim; never snap-respawn.
- revival_state_reset_guard.gd — zero velocity / clear locks before teleport.
- revival_health_restitution.gd — health restore + I-frames.
- revival_checkpoint_persistence.gd — write world-progress bitmask to
user://. Optional layers: revival_soul_grave.gd, revival_ghost_mode.gd, revival_death_analytics.gd.
NEVER Do (Expert Revival Rules)
Lifecycle & State
- NEVER respawn the player with existing velocity — Always zero out
velocityandangular_velocityinrevival_state_reset_guard.gdor the player will fly into a wall upon respawning. - NEVER trust the nearest checkpoint by distance — Always use a 'Progress Index' (
revival_checkpoint_validator.gd). Players in non-linear games may wander back to the start area; don't downgrade their respawn point. - NEVER skip 'Invincibility Frames' (I-frames) — Respawning inside a hazard or near an enemy without a 2s invincibility buffer leads to "Death Loops" and player frustration.
Persistence & Data
- NEVER save checkpoints solely in RAM — If the game crashes, the player loses progress. Use
revival_checkpoint_persistence.gdto write touser://immediately. - NEVER hardcode checkpoint coordinates — Use
Marker3DorArea3Dnodes in the scene. Hardcoded coords break as soon as level geometry changes. - NEVER delete the player node on death —
queue_free()ing the player breaks UI refs and references from enemies. Disable processing, hide the mesh, and 'Revive' the existing instance instead.
UX & Pacing
- NEVER respawn instantly — An instant snap is disorienting. Always use a 1-2s delay with a screen fade or death animation to allow the player to process the failure.
- NEVER reset the entire world on player death — In modern design, opened doors and collected unique items should stay persisted. Use a bitmask in the checkpoint resource to track 'World Progress'.
Available Scripts
MANDATORY: Read the appropriate script before implementing the corresponding pattern.
revival_global_manager.gd
Expert singleton for the global respawn loop. Autoload boot: register as RevivalGlobalManager before level scenes. Resolves the living body with get_tree().get_first_node_in_group("Player") — put the player in group Player (exact name). Owns player_died / player_respawned; levels and UI must not queue_free() the player.
revival_checkpoint_persistence.gd
Resource-based system for saving last checkpoint and world state to disk.
revival_health_restitution.gd
Professional I-frame and health replenishment logic for post-revive stability.
revival_soul_grave.gd
Expert 'Soul Retrieval' mechanic for spawning graves at death coordinates.
revival_checkpoint_validator.gd
Progress-aware shrine/Area3D gate. Export progress_index + checkpoint_id; on enter, call RevivalGlobalManager.set_active_checkpoint(...) only if progress_index >= RevivalGlobalManager.get_progress(). Group the detector / player interact area so backtracking cannot downgrade the active shrine. Pair with revival_checkpoint_persistence.gd for durable writes.
revival_death_timer.gd
Professional respawn delay manager with UI and animation hooks.
revival_ghost_mode.gd
Expert 'Spirit World' transition logic involving collision layer swapping.
revival_state_reset_guard.gd
Essential utility for purging velocity and state locks upon player respawn.
revival_checkpoint_visuals.gd
Material-swapping logic for providing clear 'Active' feedback to players.
revival_auto_save_manager.gd
Automatic save-trigger logic for ensuring checkpoint persistence.
revival_spectral_shader.gdshader
Translucent, glowing "ghost" effect for downed players.
revival_async_restorer.gd
Smooth stat restoration logic using Tweens for organic recovery.
revival_death_analytics.gd
Persistent logging of death telemetry (cause, location, time) for balancing.
Expert Revival Patterns
1. Spectral Visual Feedback
Don't just hide the player. Use a Spectral Shader to communicate the "Downed" state.
- Implementation: Apply a
ShaderMaterialwith additive blending and a pulsingALPHAto the player mesh. - Juice: Combine with a grayscale
ColorRectpost-process effect to sell the "Spirit Realm" transition.
2. Death Analytics Ledger
Use Death Analytics to find "Difficulty Spikes".
- Tracking: Log
global_positionandcause_of_deathto a JSON file. - Optimization: Export these logs to a heatmap tool to identify areas where players are struggling.
Reference
Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
Official Documentation
- Saving games — Checkpoint and world-progress persistence must survive crashes; pair Resource/
FileAccesssaves with an immediate write on shrine activation. - File paths in Godot — Use
user://for checkpoint and death-analytics files so saves work outside the project folder and across platforms. - Resources — Model checkpoint payloads (
last_checkpoint_id, position, triggered events) asResourcedata withResourceSaver/ResourceLoader, not ad-hoc globals. - Singletons (Autoload) — A revival/respawn manager Autoload owns the death → delay → restore loop so levels and UI never
queue_free()the player. - Using signals — Emit
player_died/player_respawned/true_deathso HUD, graves, and analytics subscribe without coupling into the Character script. - Groups — Resolve the living player via the
Playergroup for respawn teleports and soul-grave pickup without brittle node paths. - Physics introduction — Ghost/spirit modes swap collision layers/masks; never rely on modulate alone to stop hazard overlaps.
- CharacterBody3D — Zero
velocity(and clear angular impulse) on revive or residual momentum throws the body into walls. - SceneTreeTimer — Death→respawn delay and I-frame windows use
create_timer/ one-shot timers so fades and UI can finish before restore. - Tween — Smooth health restitution and I-frame opacity pulses; kill/recreate tweens if the player dies mid-restore.
- FileAccess — Append death telemetry JSON lines under
user://for heatmaps and balancer input. - Spatial shader — Spectral downed visuals use spatial
ALPHA/EMISSIONpulses instead of hiding the mesh.
Related Skills
Prerequisites
- godot-signal-architecture — Death, revive-available, and true-death events need clear ownership so UI, graves, and analytics stay decoupled from the player node.
- godot-resource-data-patterns — Checkpoint state and world-progress bitmasks belong in typed Resources with safe save/load, not mutable singletons alone.
- godot-save-load-systems — Checkpoint activation should trigger a durable auto-save path (
user://) so progress survives crashes mid-run. - godot-composition — Keep revival charges, I-frames, and grave droppers as components rather than baking mortality into a monolithic Character script.
Complements
- godot-combat-system — Combat
died/ health-zero signals are the usual entry into revival charges, true death, and corpse-run drops. - godot-rpg-stats — Post-revive health/mana restitution and invincibility flags should write through the same stats layer combat reads.
- godot-tweening — Async restorers and I-frame modulate loops need interruptible Tween lifecycles, not stacked parallel flashes.
- godot-shaders-basics — Spectral/ghost materials and spirit-realm post-process cues live in the shader skill once the revive state machine exists.
- godot-economy-system — Corpse-run currency loss and soul-grave recovery must reconcile with the wallet/ledger so pickups cannot duplicate funds.
- godot-scene-management — Prefer disabling/hiding the existing player instance over reloading the whole level; graves and world progress must outlive the death transition.
Downstream / consumers
- godot-monte-carlo-balancer — Feed
revival_death_analyticscause/position logs into Monte Carlo runs to prove difficulty spikes and I-frame TTK bands before shipping. - godot-genre-action-rpg — Souls-like shrine, ghost, and soul-retrieval loops assemble this skill with combat, stats, and save systems.
- godot-genre-roguelike — Run-ending deaths, meta penalties, and consequence trackers consume revival/true-death outcomes for permadeath or mercy variants.
Master
- godot-master — Library router and mirrored module entry; use when discovering peer skills or syncing shared script mirrors after Domain Skill edits.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/thedivergentai/gd-agentic-skills/godot-mechanic-revival">View godot-mechanic-revival on skillZs</a>