Fighting Game · Guides & deep dives

Puzzle Skip Option

Run these checks after changing puzzle skip:

1section1 minread

On this page

This runbook covers TODOS.phase-72.72.13.2.9: offering an opt-in puzzle skip after repeated attempts or configurable elapsed time.

The profile id is Input.PuzzleSkip.PerPlayer.V2. It persists per player, defaults to PuzzleSkip.Off, applies during startup before gameplay, and is exposed through Settings.Accessibility.PuzzleSkip.

Players can opt into PuzzleSkip.AttemptsOrElapsedTime. The offer appears only in single-player story puzzle contexts after either the configured attempt threshold or elapsed-time threshold is reached. The threshold rows are Settings.Accessibility.PuzzleSkipAttempts and Settings.Accessibility.PuzzleSkipElapsedTime, with defaults of 3 attempts and 120 seconds.

The mode evaluator uses FV2PuzzleSkipPolicy, FV2PuzzleSkipRequest, and FV2PuzzleSkipOffer. Default policies cover Puzzle.Story.GlyphLock, Puzzle.Krypt.ForgeGlyph, and Puzzle.Konquest.AncientRelay. An offered skip requires player confirmation, includes a narrative summary, preserves rewards, and completes the puzzle without a fail-state penalty.

Puzzle skip is blocked in ranked and tournament contexts, remains story-only, and does not alter authored frame data. If the feature is off or the thresholds are not met, narrative summaries and preserved rewards stay hidden.

Implementation signoff lives in V2/ue/Content/V2/Input/Accessibility/PuzzleSkipOption_V2_Contract.json and V2/ue/Tools/check-v2-puzzle-skip-option.py.

Verification#

Run these checks after changing puzzle skip:

bash
python3 V2/ue/Tools/check-v2-puzzle-skip-option.py
python3 V2/ue/Tools/check-v2-input-module.py
python3 V2/ue/Tools/check-v2-modes-module.py
python3 V2/ue/Tools/check-v2-accessibility-feature-set.py
python3 V2/ue/Tools/check-v2-settings-ui.py
python3 V2/ue/Tools/check-v2-profile-save-game.py
python3 V2/ue/Tools/check-v2-persistence-module.py
python3 V2/ue/Tools/check-v2-ui-module.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py
python3 -m json.tool V2/ue/Content/V2/Input/Accessibility/PuzzleSkipOption_V2_Contract.json

Automation coverage:

  • V2.Input.Module
  • V2.Modes.Module
  • V2.Persistence.Module
  • V2.Persistence.ProfileSave.AssetContract
  • V2.UI.Module
  • V2.UI.SettingsScreen.AssetContract