feat: finalize Magic Exam Hall visual and HCI integration#129
Open
SilverSupplier wants to merge 18 commits into
Open
feat: finalize Magic Exam Hall visual and HCI integration#129SilverSupplier wants to merge 18 commits into
SilverSupplier wants to merge 18 commits into
Conversation
The two-track personalization pivot changed floors 2-4 from the draft (broken runes / single bridge / spreading cracks) to the shipped design (custom-shape reaction marks / four blocked passages / training targets). Section 9 floor specs, density table, story arc, BGM note, and moment 4 now describe the implementation in ExamGameController.BuildFloorDefinitions. Draft remains in git history.
scripts/analyze-playtest-attempts.py auto-derives the protocol metrics from attempts.csv: per-session learning curve (RQ1), before/after-hint success rates (RQ2), per-family first-attempt success and confusion matrix (RQ3), failure type distribution, assist reach, stuck points, and SUS scoring. Stdlib only; verified against synthetic data. RESEARCH_PROTOCOL gains the SUS-10 questionnaire (Korean), a behavioral feedback-comprehension coding procedure (stated fix vs actual next attempt), and analysis steps. FINAL_REPORT metrics table updated to match.
HintAssistanceTests verifies the assist escalator (ReasonHint -> Checklist -> GhostTrace with cap), clean-success behavior, assisted flag retention, hintShown/level invariant, per-family checklists, and mentor profile mapping. EditMode total 113/113 locally. Inspection report corrections: the 8-second first-floor silence trigger does exist (ghost gesture at 8s, missed by the initial grep); dialogue pool/cooldown remain unimplemented features rather than missing tests.
…label polish UI/art quality pass after the running game looked unfinished: - Bundle Galmuri (SIL OFL 1.1) Korean bitmap font in Resources/Fonts and load it for all UI text, replacing the OS Malgun Gothic/Arial dependency. Crisp, deterministic Korean glyphs on every machine. - Replace the procedural blob player and mentors with recolored sprites sliced from the 'Zelda-like tilesets and sprites' pack (ArMM1998, CC0): 4-direction idle/walk/cast player frames plus 15 mentor poses (5 floors x neutral/happy/frown), via the new scripts/import-character-pack.py. - Goal labels get a 1px outline and alternate above/below their target so neighbouring labels no longer stack and overlap. - Relocate the gameplay codex button off the parchment quest panel to the bottom-right above the skip button. - Screenshot exporter now disables the pixel-perfect 632x356 windowbox during capture so HUD text is captured at full resolution (it was smearing every small glyph), and leaves the title screen / clears stale floor roots for clean per-floor shots. License: docs/CREDITS.md and docs/asset-licenses/fonts updated.
The launch/title screen was built on top of a fully-loaded floor 1 behind a 94%-opaque overlay, so the level and HUD bled through and the tower silhouette (offset to x=250) overlapped the title text. - Make the boot overlay fully opaque and put it on its own canvas at sorting 200, above the HUD (100) and world labels (42), so the title/menu/pause screens cover the game cleanly instead of letting stray panels poke through. - Recompose the tower silhouette as a centered, low-contrast backdrop drawn behind the title text (was a crude off-center panel clipping the title), and nudge subtitle/flavor/prompt spacing. - Add FloorScreenshotExporter.ExportTitle to capture the title screen for review.
- Codex note body started at y=202 and ran straight through the tab row (y=164); move it below the tabs so tabs and text no longer collide (affects both the note and discovery tabs). - Ending report was a 760x520 card on the gameplay canvas, so the finished floor showed around it. Make it a full-screen opaque backdrop with a gold-bordered card and larger (18pt) centered text. - Add FloorScreenshotExporter.ExportAllScreens to capture every menu/boot screen (title, menu, options, pause, codex, discovery, ending report) for review.
# Conflicts: # docs/FINAL_REPORT.md # docs/RESEARCH_PROTOCOL.md
# Conflicts: # unity/MagicExamHall/Assets/Tests/EditMode/HintAssistanceTests.cs
# Conflicts: # unity/MagicExamHall/Assets/MagicExamHall/Editor/FloorScreenshotExporter.cs # unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/ExamGameController.cs # unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/GameBootController.cs
# Conflicts: # unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/ExamGameController.cs # unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/GameBootController.cs # unity/MagicExamHall/Assets/Tests/PlayMode/MagicExamHallSceneSmokeTests.cs
This was referenced Jun 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation