Skip to content

feat: finalize Magic Exam Hall visual and HCI integration#129

Open
SilverSupplier wants to merge 18 commits into
sw1029:mainfrom
SilverSupplier:codex/consolidated-work
Open

feat: finalize Magic Exam Hall visual and HCI integration#129
SilverSupplier wants to merge 18 commits into
sw1029:mainfrom
SilverSupplier:codex/consolidated-work

Conversation

@SilverSupplier

Copy link
Copy Markdown
Collaborator

Summary

  • Unifies title, menu, options, pause, codex, quest HUD, and ending report with the magic manuscript visual theme.
  • Integrates bundled Korean pixel fonts, player animations, and mentor mood sprites with asset coverage tests.
  • Consolidates HCI experiment logging, analysis tooling, documentation, and the latest mentor/quest UI updates from main.
  • Hides presentation-only debug controls in release builds and fixes HUD, codex, and ending-layer rendering.

Validation

  • Unity EditMode: 124/124 passed
  • Unity PlayMode: 50/50 passed
  • Windows player build completed
  • Windows player 10-second startup smoke passed
  • Title, menu, options, gameplay, pause, codex, ending report, and floors 1-5 reviewed from fresh captures

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant