4.9 KiB
4.9 KiB
Candy Survival Implementation (Completed)
This file contains the complete list of tasks, features, and refactors successfully implemented for the Candy Survival game mode, replacing the legacy Gauntlet mode.
1. Project-Wide Renaming & Asset Scrubbing
- Codebase: Replaced all
GAUNTLET,Gauntlet, andgauntlet_references withCANDY_SURVIVALacross 21+ scripts, scenes, and UI nodes. - Assets & Models: Renamed directories and files from
assets/models/arena/gauntlet/tocandy_survival/, including.gltf,.bin, and all texture.pngfiles. - Meta Scrubbing: Purged cached Godot importer metadata inside
.importand.gltffiles referencing the old paths. - Changelog: Updated historical
version.jsonreferences to use the new naming convention.
2. Arena & Environment
- 18x18 Grid: Set boundaries to 18x18 with solid outer walls.
- Collision System: Sticky cells now act as pure collision boundaries (no slow-mo or growth algorithms).
- Spawn Points: Updated to
(2,2), (16,2), (2,16), (16,16)to successfully avoid row 1 stairs geometry.
3. Mekton NPC (Center Boss)
- Spawning: Replaced the primitive "Candy Pump" tank with a fully instanced
static_tekton_meshatVector2i(8,8). - Face Color Cycling: The
ted_bodymaterial cycles its emission and albedo color (Heart/Diamond/Star/Coin) every 5 seconds. - Integration: Spawning and color state fully self-contained inside
candy_survival_manager.gdwithout relying onmain.gd.
4. Core Gameplay: Blueprints & Stacks
- Auto-Pickup Tiles: Modified
player_movement_manager.gdso walking over a tile automatically picks it up if the playerboard has an open slot. - 3x3 Auto-Detection: Rewrote
_check_goal_completioninplayerboard_manager.gdto detect fully filled 3x3 grids of a single dominant color. - Off-Color Blueprints: If the board's majority color is depleted from the arena grid, mixed-color blueprints are accepted for 50% points.
- Stacking & Multipliers: Successful blueprints award a candy on the player's head. Generates continuous points:
1.0 + (Stack * 0.1).
5. Core Gameplay: Delivery & Sugar Rush
- Auto-Delivery: Proximity trigger (distance <= 2) to the center Mekton automatically attempts delivery.
- Face Matching: Delivery succeeds only if the player's candy stack matches the current glowing color of the Mekton's face.
- Sugar Rush Activation: Successful delivery clears the stack and triggers
Engine.time_scale = 2.0(2x global speed) for2s + (candies * 0.4s).
6. Sabotage: Knock & Ghost
- Knock Mechanic: Starts with 5 charges. Bound to
action_knock_tekton. Targets adjacent players to steal their full candy stack and color. - Knock Backfire: Hitting an empty-handed player consumes a charge and backfires (both players get knocked).
- Ghost Mechanic: Starts with 5 charges. Bound to
action_grab_tekton. - Ghost Phase-Through: Hijacks the core game's
is_invisiblestate for 4s (40% opacity). Grants knock immunity and explicitly allows walking through sticky collision walls.
7. Visuals & UI (HUD Rewrite)
- HUD Scene Rebuild: Removed script-based GUI generation. Rebuilt
candy_survival_hud.tscnnatively using Godot Control nodes for easy artist iteration. - UI Elements Added:
SugarRushBar,CandyStackBadge,KnockChargesLabel,GhostChargesLabel, andPointsLabel. - Delivery Indicator: Added a visual
READY TO DELIVER!indicator that dynamically listens to the Mekton's 5s color cycle and validates against the player's held stack. - 3D Visual Candy Stacks: Hooked
sync_candy_stackto physically spawnMeshInstance3Dtiles (Heart/Diamond/Star/Coin) stacked vertically (y += 0.4) on the player character's head.
8. AI / Bot Integration
- Mekton Delivery AI: Bots prioritize (Priority 0.7) checking if their candy color matches the Mekton's face, pathfinding directly to the center to deliver and score.
- Ghost AI: Bots evaluate proximity to sticky walls and actively trigger the native Candy Survival ghost charges to phase through traps.
- Test Updates: Re-wrote
test_bot_gauntlet.gdto test the new mechanics (overlay checks, unsafe neighbor counts) and deleted 8+ obsolete Gauntlet mechanic test files.
9. Code Health & Documentation
- Compilation: Fixed a dangling
_on_doors_updatecall inlobby_room.gd. Verified 100% clean compilation (godot --headless --build-solutions). - Gitea Issues: Bulk-closed and commented on issues #54-57 and #65-70 with detailed technical implementation logs.
- Wiki: Fully rewrote the
Game-Modes.-.mdwiki page to document the new rules, RPC lists, Sabotage input mappings, and arena coordinates. - Git Branching: Deleted
gauntlet, verified all features on the cleancandy_survivaltracking branch.