godot-mechanic-secrets
Secrets & Easter Eggs (Mechanics)
Overview
This skill provides reusable components for hiding content behind specific player actions (e.g., Konami code, repetitive interaction) and managing the persistence of these discoveries.
Core Components
secret_meta_persistence.gd
Expert logic for saving global unlocks and discovery flags across all save profiles.
secret_visibility_detector.gd
View-dependent hidden wall detection using optimized Dot Product calculations.
secret_sequence_combo_matcher.gd
Professional time-sensitive input buffer for detecting complex cheat combos and sequences.
secret_interaction_spam_tracker.gd
Logic for tracking repetitive player actions to trigger curiosity-based Easter Eggs.
secret_audio_environment_occluder.gd
Spatial logic for dynamically adjusting AudioBus effects in sealed or hidden areas.
secret_progress_threshold_unlocker.gd
Percentage-based unlocker for meta-content and 'True Ending' triggers.
secret_random_encounter_spawner.gd
Weighted random system for rarest-tier entities and secret vendor encounters.
secret_lockout_cheat_guard.gd
Anti-brute-force lockout manager to protect secret integrity.
secret_vfx_discovery_glimmer.gd
Subtle procedural visual cues for hinting at hidden interactables.
secret_konami_legacy_code.gd
Specialized implementation of the iconic Konami code using the buffer matcher.
Usage Example (Cheat Code)
# In your Game Manager or Player Controller
@onready var cheat_watcher = $InputSequenceWatcher
func _ready():
# Define UP, UP, DOWN, DOWN...
cheat_watcher.sequence = [
"ui_up", "ui_up", "ui_down", "ui_down"
]
cheat_watcher.sequence_matched.connect(_on_cheat_unlocked)
func _on_cheat_unlocked():
print("God Mode Enabled!")
SecretPersistence.unlock_secret("god_mode")
NEVER Do (Expert Secret Rules)
Discovery & Triggers
- NEVER hardcode input checks in
_process— Frame-dependent polling is unreliable for fast combos. Always use an event-based buffer likesecret_sequence_combo_matcher.gd. - NEVER use complex Raycasts for 'LookingAt' secrets — Physics raycasts are expensive if every wall is checking. Use the Dot Product method in
secret_visibility_detector.gdfor overhead efficiency. - NEVER make 'Hidden Walls' identical to real walls — Players need a subtle "Glimmer" or texture discrepancy. Total invisibility isn't a secret; it's a bug to the player.
Persistence & Meta
- NEVER save "Secrets Found" in the main Save Slot — If the player deletes their save to try a different build, their meta-progress (Gallery, Achievement flags) should persist. Use
secret_meta_persistence.gd. - NEVER trust client-side cheat validation in Peer-to-Peer — If a secret grants a stat boost, other peers should validate the "Unlock" to prevent simple memory-editing cheats.
- NEVER use
PlayerPrefs(Godot's equivalent of Settings) for secrets — Use a dedicateduser://secrets.cfg.
UX & Anti-Brute Force
- NEVER allow unlimited rapid-fire cheat attempts — A simple macro can brute-force a 4-button combo in seconds. Use
secret_lockout_cheat_guard.gdto add a penalty for excessive failures. - NEVER trigger a secret without an 'Aha!' audio/visual cue — The reward for finding a secret is the feeling of discovery. Use
secret_audio_environment_occluder.gdto change the atmosphere.
Reference
- Master Skill: godot-master
More from thedivergentai/gd-agentic-skills
godot-master
Consolidated expert library for professional Godot 4.x game and application development. Orchestrates 94 specialized blueprints through architectural workflows, anti-pattern catalogs, performance budgets, and Server API patterns. Use when: (1) starting a new Godot project, (2) designing game or app architecture, (3) building entity/component systems, (4) debugging performance or physics issues, (5) choosing between 2D/3D approaches, (6) implementing multiplayer, (7) optimizing draw calls or script time, (8) porting between platforms. Primary entry point for ALL Godot development tasks.
526godot-shaders-basics
Expert blueprint for shader programming (visual effects, post-processing, material customization) using Godot's GLSL-like shader language. Covers canvas_item (2D), spatial (3D), uniforms, built-in variables, and performance. Use when implementing custom effects OR stylized rendering. Keywords shader, GLSL, fragment, vertex, canvas_item, spatial, uniform, UV, COLOR, ALBEDO, post-processing.
201godot-2d-animation
Expert patterns for 2D animation in Godot using AnimatedSprite2D and skeletal cutout rigs. Use when implementing sprite frame animations, procedural animation (squash/stretch), cutout bone hierarchies, or frame-perfect timing systems. Trigger keywords: AnimatedSprite2D, SpriteFrames, animation_finished, animation_looped, frame_changed, frame_progress, set_frame_and_progress, cutout animation, skeletal 2D, Bone2D, procedural animation, animation state machine, advance(0).
180godot-particles
Expert blueprint for GPU particle systems (explosions, magic effects, weather, trails) using GPUParticles2D/3D, ParticleProcessMaterial, gradients, sub-emitters, and custom shaders. Use when creating VFX, environmental effects, or visual feedback. Keywords GPUParticles2D, ParticleProcessMaterial, emission_shape, color_ramp, sub_emitter, one_shot.
163godot-ui-theming
Expert blueprint for UI themes using Theme resources, StyleBoxes, custom fonts, and theme overrides for consistent visual styling. Covers StyleBoxFlat/Texture, theme inheritance, dynamic theme switching, and font variations. Use when implementing consistent UI styling OR supporting multiple themes. Keywords Theme, StyleBox, StyleBoxFlat, add_theme_override, font, theme inheritance, dark mode.
160godot-save-load-systems
Expert blueprint for save/load systems using JSON/binary serialization, PERSIST group pattern, versioning, and migration. Covers player progress, settings, game state persistence, and error recovery. Use when implementing save systems OR data persistence. Keywords save, load, JSON, FileAccess, user://, serialization, version migration, PERSIST group.
147