Dev log – Day 11
Summary
Today focused on fully implementing Level 2 – Puzzle D, an observation-driven pattern puzzle that links environmental server-light cues to a console-based input sequence. The work established the complete interaction loop—from readable world signals, to responsive console input, to a persistent unlock state—then validated the system end-to-end to ensure reliability, clarity, and no unintended relocking.
What I Worked on Today
Level 2 – Puzzle D – Server Light Pattern → Console Entry → Unlock Logs
Intent
Implement Room 2’s observation-based pattern puzzle where players read a repeating server-light sequence and reproduce it via a console to unlock access to terminal logs, with the unlocked state persisting afterward.

What Actually Happened
Work began by setting up the core console pattern-entry blueprint and its interaction flow, including debug input handling, buffer management, and sequence validation. Console buttons were implemented as interactables that send indexed inputs to the parent console, with visual feedback displayed through console indicator lights. Server rack indicator lights were configured to loop a readable color pattern that represents the correct sequence, and console visuals were updated to mirror player input in real time. Failure handling was added to reset visuals and input cleanly, while success handling locks the console state and triggers the associated door and log access. The full puzzle was then wired end-to-end, visually aligned, and tested to confirm correct behavior, persistence, and the absence of unintended relocking.

Accomplished
- [STEP] Created BP_Console_PatternEntry_L2D (BP_Trigger child) and wired BPI_Interact LookAt/InteractWith with bSolved gate
- [STEP] Added CorrectSequence/EnteredSequence data + MaxEntryLength init to BP_Console_PatternEntry_L2D and reset entry buffer on interact
- [STEP] Enabled debug entry mode on BP_Console_PatternEntry_L2D and added clamped 1-4 key input to append to EnteredSequence with HUD feedback
- [STEP] Added Backspace clear and Escape exit to BP_Console_PatternEntry_L2D debug entry mode (buffer reset + disable input)
- [STEP] Added Enter-to-submit flow on BP_Console_PatternEntry_L2D by wiring Enter key to SubmitEntry stub with HUD feedback
- [STEP] Implemented sequence validation in SubmitEntry for BP_Console_PatternEntry_L2D with clear success/failure feedback (no trigger fire yet)
- [STEP] On successful pattern entry, set bSolved and fired BP_Trigger OnTriggered once, then exited entry mode
- [STEP] Created BP_ConsoleButton_L2D interactable with ButtonIndex and ParentConsole ref that sends AddInputDigit(ButtonIndex) on press
- [STEP] Updated console InputUpdate to auto-call SubmitEntry when EnteredSequence reaches MaxEntryLength, resetting on incorrect entry
- [STEP] Updated InputUpdate to display each entered digit by setting console Light A-D color per button index, then auto-validating on full entry
- [STEP] Added ClearEntryVisuals and wired SubmitEntry failure to clear EnteredSequence and reset console Light A-D back to off
- [STEP] On correct pattern, set bSolved, fired BP_Trigger OnTriggered, and locked console Light A-D display by blocking further input
- [STEP] Updated server rack indicator light colors to match Puzzle D correct sequence for consistent visual pattern cues
- [FIX] Updated console button visuals so each button color correctly represents its corresponding pattern input color
- [TEST] Verified Puzzle D end-to-end by wiring BP_Door to BP_Console_PatternEntry_L2D trigger and confirming door unlocks on correct pattern
- [TEST] Confirmed Puzzle D completion state remains locked after solve with no unintended relock during normal gameplay




Why This Matters
- Establishes a reusable, readable pattern-based puzzle structure for future rooms.
- Confirms persistence and failure safety, preventing soft-locks or accidental relocks.
- Locks in a clear visual language linking world indicators, player input, and puzzle state.

Technical Notes
- Pattern entry relies on a buffered sequence with an auto-submit on reaching
MaxEntryLength, simplifying player flow and validation timing. - Visual feedback is centralized through console Light A–D states, ensuring a single source of truth for both input echo and locked success display.
- Persistence is enforced via a solved-state gate (
bSolved) that blocks further input and prevents re-triggering once complete.
Challenges & Lessons Learned
- Ensuring failure resets did not inadvertently affect solved state required strict separation between visual reset and state reset logic.
- Aligning server-light world cues with console button colors was critical for readability; mismatches quickly degraded player comprehension.
Next Steps
- Apply the same pattern-entry framework to future puzzles that require observation-to-input translation.
- Perform a broader playtest pass in Room 2 to confirm Puzzle D’s readability under varied lighting and player pacing.
- Document the Puzzle D pattern system for reuse and consistency across later levels.

