Repository navigation
Tutorial Victory Screen
Owner: Joel Zhan (@Joel9368), Team 2
Sprint: 4
Task: #448, under #439
Implementation: #460; final narration correction 4af84db9; main delivery #531.
Reviewed: 21 October 2026 against main 80a33a33.
flowchart LR
A[Enter Tutorial] --> B[Opening narration]
B --> C[Guided battle]
C -->|Real victory| D[Complete enemy release animations]
D --> E[Tutorial completion screen]
E -->|Continue once| F[Dispose and reset run]
F --> G[Fresh Map with introduction]
Completing the prompts alone does not count as victory. BattleActions waits for all available enemy release animations before opening TutorialVictoryScreen. The completion page generates no normal reward and does not complete or autosave a normal Map encounter.
Continue requests one transition, disables repeated input and navigates after UI update/render dispatch. It calls GdxGame.startRunAfterTutorial(): dispose the outgoing screen, reset the run, then open Map directly. Opening narration already played before the teaching battle, so it is not repeated.
Voluntary Exit Tutorial also resets and opens Map through startRunAfterTutorial(), but bypasses the victory/release screen. Skip Tutorial remains startNewRun(), which resets, plays opening narration and opens Map. Normal battle victory retains its existing release, reward and encounter/autosave behaviour.
| Component | Responsibility |
|---|---|
components/battle/BattleActions.java |
Detects the actual tutorial outcome and waits for release animations before result navigation. |
screens/TutorialVictoryScreen.java |
Renders completion, resizes the panel, processes Continue once outside input dispatch and cleans up assets. |
GdxGame.startRunAfterTutorial() |
Uses the shared reset operation and enters Map without another narration screen. |
GdxGame.startNewRun() |
Retains reset plus narration for ordinary new-run/Skip entry. |
Sources are in the reviewed main build. The page reuses existing dungeon/victory artwork and the supplied Continue frame; composition and button integration are Joel's work, while reused artwork retains its original ownership. Caption scaling follows the frame on hover/press without changing the click area.
- #460 records 268 focused/regression checks covering battle outcomes/animations, tutorial guidance, screen lifecycle, fresh-run state, narration, menu, audio and save restoration. Formatting, Desktop compilation and diff checks passed. Layout and button states were checked at 1280 x 800 and 1600 x 900.
- That 14 October desktop record used the earlier post-victory narration route. It establishes the completion/release presentation, not the final narration order.
-
4af84db9updated the Continue regression to require a fresh Map, no constructed narration screen, cleared player/reward state and once-only input. #531 records the regression failing against the old behaviour and passing after the correction, with 2,618 Core tests at that snapshot. This is a project total, not a personal test count. - The final #531 review reports a playthrough and passing suite before merge. This is reviewer-reported evidence, not a new personal manual execution for this Wiki update.
The following retained images show the component's 14 October presentation. The release capture predates Team 1's later Votive Attendant integration; it is not a screenshot of the current tutorial enemy.



#460 originally reused startNewRun() after victory. Later integration moved opening narration before the tutorial, so reusing that route replayed the same story after Continue. 4af84db9 changed Continue to startRunAfterTutorial(), retaining disposal-before-reset while entering Map directly. The regression checks both the absent second narration and clean new-run state. This change was necessary because a valid component transition became wrong in the combined player journey. Future integration checks should follow entry through completion and interruption, not stop at an isolated victory screen.
- Tutorial Entry and Fresh Run Transition
- Tutorial Status Teaching
- Map Introduction
- Tutorial Acceptance Test Plan
Codex assisted with drafting and checking this documentation against source and PR records. Historical screenshots and test results retain their original build scope.
Entities and Components
Input Handling
Game Screens and Areas
Encounters
Tutorials and Contextual Help (Team 2)
- Feature Overview
- Tutorial Entry and Fresh Run Transition
- Tutorial Battle Setup and Enemy Integration
- Battle Tutorial Guidance UI
- Battle Tutorial Steps and Progression
- Contextual Event Help and Tutorial Content
- Tutorial Acceptance Test Plan
- Card Keyword Tooltips
- Map Introduction
- Tutorial Status Teaching
- Tutorial Victory Screen