Files
goldeneye-pc-port/docs/dev/M-35-PLAYTEST-CHECKLIST.md
T
James Dansereau 10b278311f docs: M-35 QoL run — review sheet, playtest checklist, options-menu plan
- M-35-QOL-REVIEW.md: per-change file:area breakdown, config keys with
  ranges/defaults, verification evidence.
- M-35-PLAYTEST-CHECKLIST.md: the human handoff — what to do, what
  correct feels like, which key tunes it. Item 0 (default-config
  regression) first.
- OPTIONS-MENU-PLAN.md: WI-3 design — recommends a port-layer fast3d 2D
  overlay over a src/ menu edit; resume checklist.

Claude-Session: https://claude.ai/code/session_01GULf6knbsqfsnW39tMr9WT
2026-09-02 01:30:01 -04:00

4.2 KiB
Raw Blame History

M-35 QoL playtest checklist

Everything on this branch is config-gated to prior behaviour, so the first thing to confirm is that nothing changed with a default ge007.ini. Then flip the new keys and check the feel.

Edit data/ge007.ini while the game is closed.


0. Regression (default config) — do first

  • Delete data/ge007.ini, launch, quit. It rewrites with new keys: [Input] MouseCaptureMode = 0, [Game] ScreenShakeIntensity = 1. Existing keys keep their values.
  • Play a level normally (mouse grabbed on focus, as before). Mouse look, aim (RMB), menus — all exactly as the last build. No behaviour change expected at defaults.
  • Alt-tab away and back — cursor frees / re-grabs (unchanged).

1. Click-to-lock capture — Input.MouseCaptureMode = 1

  • Launch. At the main menu the OS cursor is visible and free; moving the mouse moves the game crosshair 1:1 (see item 3).
  • Click in the window during a level → cursor hides, mouse-look engages.
  • Press ESC during a level → cursor reappears, mouse-look stops, you can move the pointer off the window. (ESC does not quit.)
  • Click back in → re-locks. First click only re-locks — it must not fire the weapon.
  • Open the pause/watch (Start), then a front-end menu → cursor frees automatically. Return to the stage → re-locks without a click.
  • Alt-tab out mid-level → cursor frees; alt-tab back → stays free until you click (Quake behaviour).
  • Correct feel: exactly like Quake/Nightdive remasters — click to play, ESC to get your cursor back.
  • Tune: none — it's a mode toggle.

2. Aim sensitivity — B3

  • With Input.MouseCaptureMode either value, hold RMB (aim mode) and make small aiming corrections. Default is now MouseAimSpeed = 16 (was 25).
  • Correct feel: you can settle the sight on a distant guard's head without overshooting; a fast flick still crosses the screen.
  • Tune: Input.MouseAimSpeed (1–100+). Up = faster. If hipfire turning now feels faster than aiming, raise MouseAimSpeed or lower Input.MouseTurnSpeed (default 100). Input.AimBand (5–40, default 20) widens the usable stick range past the aim gate — raise it if aim feels capped/notchy at the extremes.
  • Check the D166 hipfire pitch (mouse up/down without RMB): still proportional taps, consistent with the yaw. Tune Input.HipfirePitchSpeed (default 100).

3. Menu pointer 1:1 — needs Input.MouseCaptureMode = 1

  • On the mission-select grid, move the OS cursor to each of the four corner level tiles — the game crosshair must reach all of them (this is the D169 case; absolute mapping should make it exact now).
  • File-select, mode-select, difficulty-select, watch menu — crosshair tracks the OS cursor with no drift, no lag, no acceleration.
  • Keyboard nav (arrows / stick) still works on every screen.
  • Correct feel: the crosshair sits exactly under the OS pointer, like a normal PC menu.
  • Tune: Input.MenuPointerSpeed (default 100) still scales the legacy relative path; with capture mode the absolute path ignores it. If tracking feels off, check the window isn't a weird aspect ratio (the map assumes the render fills the window).
  • Note: in legacy mode (MouseCaptureMode = 0) the menu still uses the D165/D169 relative estimator — 1:1 menu tracking requires capture mode.

4. Screen shake — Game.ScreenShakeIntensity

  • Default 1 — explosions shake the screen exactly as before.
  • Set 0 — no shake on explosions / big hits.
  • Set 2–3 — exaggerated.
  • Correct: 1 is indistinguishable from the current build.

Single most important thing to test first

Item 0 — confirm a default ge007.ini produces a build that plays identically to def0e0ac. If that holds, everything else is opt-in polish.

Known not-done (parked, see OPTIONS-MENU-PLAN.md)

  • No in-game options menu yet — only the config file + the expanded config.c API and the Game.ScreenShakeIntensity hook. The menu is a port-layer overlay design, documented, not built.