Gameplay validation and production boundaries
Validation date: 16 October 2026. Engine: Unreal 5.8.3, Win64 Development Editor. Use this alongside the feature authoring documents; passing these scenarios does not mean a finished content-complete game.
Verified evidence
- Native automation: 23 succeeded, zero failed, zero warnings. Report:
Saved/Automation/Gameplay/index.json(18:32 UTC). Covers authority and invalid inputs, equipment/modifiers, skill prerequisites, interactions, quest/story reward claims, persistence, combat, markers, riding, faction damage rules, companion bags and offline guidance. - Dedicated server plus two separate clients: run
f7c090e6dd654ab5b4cd18d26c6a66fc, all three reports succeeded. Clients selected the inherited Mover and CMC families. The scenario exercised private inventory/companion data, public equipment, skill-gated gun combat, attachment/reload, synthetic gamepad driving/dismount, companion fetch/delivery, guide dialogue, strict-majority party story, gated boss spawning and seamless travel with retained progression. - Listen host plus Mover/CMC clients: run
3bbcf544fa594afcb62a3cbf2dd445c2, all three reports succeeded with the same remote-client flow and retained host progression. Test vehicles use parallel lanes to avoid blocking one another; synthetic centered-axis events continue across possession changes. - Rendered standalone: run
6df007eb41914952908bbdf8b2da0b4dsucceeded. Lit scene and minimap captures were visually reviewed: character/geometry, daylight and top-right tracking display are visible. Setup uses named Python Rotator arguments so the sun points downward.NGS_WorldMap.png,NGS_Minimap.pngandNGS_SceneOnly.pngare underSaved/Screenshots. - Setup commandlet: zero reported errors. Navigation projection at the example-map origin succeeds. Navigation geometry is built with Unreal's volume actor factory; an empty bounds actor alone is insufficient.
- Real menu/controller route: standalone opens the existing Widget Blueprint menu, selects Inventory, cycles to Skill Tree with a Slate gamepad shoulder event, opens World Map and places a marker with a gamepad button. Screenshots are stored under
Saved/Screenshots.
The runtime driver is opt-in under -NGSValidate and excluded from Shipping activation. It uses transient character/campaign records. The PowerShell runner owns and cleans up only its spawned test processes.
Repeat locally
After building NiceLobbySystemEditor, run Tools/setup_gameplay.py using Unreal's Python commandlet. Close editors that have unsaved versions of the integration assets first. Then run:
& Tools/run_gameplay_validation.ps1 -Mode Solo
& Tools/run_gameplay_validation.ps1 -Mode Network
& Tools/run_gameplay_validation.ps1 -Mode ListenNetwork
& Tools/run_gameplay_validation.ps1 -Mode RenderedSolo
Native tests appear under NiceGame in the Automation window. The AI gateway tests run with python -m unittest discover -s Services/CompanionAI -p 'test_*.py' -v; the previous provider slice passed seventeen fixture/loopback tests. No live model-provider account was called.
Rendered validation captures lit gameplay, world map, minimap, scene-only output and an explicitly named unlit diagnostic. The unlit image is a diagnostic and must not be used as evidence of correct lighting. Review lit images as well as JSON success.
Remaining acceptance work
- EOS login/P2P/session joining with authorized accounts on separate machines; packaged client and dedicated-server builds. New gameplay uses Unreal replication and the existing subsystem transport; no additional EOS service or developer-portal change has been introduced for these plugins.
- Physical gamepads, platform text entry, remapping/accessibility and console certification. Synthetic controller events verify input paths, not hardware behavior.
- Latency/loss, join/rejoin, respawn and travel across production maps, plus full packaging/cook audits. Existing editor utility debug widgets must remain editor-only.
- Cross-host/cloud persistence and campaign host transfer. Current character and campaign files belong to the authoritative host; selecting another host does not synchronize them automatically.
- Finished weapon/martial-arts/rider/animal art and animation, balanced profession gameplay, fishing/cooking/crafting activities and a spatial skill-tree editor. Skill definitions and prerequisites exist, but an unlock record alone is not a finished activity.
- Production vehicle physics, air/sea routing, persistent harvested resources/world NPCs, companion wounds/revival policy and a multi-character selection UI. Current vehicle profiles are replaceable kinematic examples and current paths use walking navigation.
- Hosted AI deployment, credentials, live provider smoke tests and quota/data policies. Offline tips need no provider; the provider extension procedure is in
CompanionAI.md.
These are explicit limits of the delivered framework and example content. Keep acceptance reports scoped to the actual scenario rather than generalizing one successful run to every possible asset, map or platform.
Camera, focus and map input acceptance — 19 October 2026
The Development Editor build passed. The normal Field Camp passed rendered acceptance with both CMC and Mover: center focus HUD, camera FOV and first-person focus, Character Settings controls, upright demo signs/workshops, distinct sun/moon forward-shading priorities, and actual Slate mouse drag/wheel/click plus keyboard map panning. Dragging does not accidentally create markers. Screenshots are in Saved/Screenshots/MGS_BP_NGSCharacter_*.
The dedicated-server scenario passed with both clients, including replicated movement speed changes and restoring the default speed. The native NiceGame suite completed 37 tests with zero failures; one test completed with engine startup warnings (pose-search indexing, EOS tick delay and a connectivity-probe timeout). Physical controllers, live EOS accounts and production packaging remain separate acceptance work.