- Billiards: add native Russian Pyramid & American Eight-Ball pool with physics prediction, controls, and regression tests - Scratch Tickets: add dedicated counter, mat presentation, elliptical coin scraping, 4 ticket types, and payout effects - First-Person Dice: add native dice scene, hand anchor frames, throwing animation, and table perspective - City Wake & Weather: add arrival cutscene, alley geometry, weather/rain effects, and lighter/rocker animation - World Dressing: add hall paintings, furniture packs, hall lighting, and scene regression tests - Build & Tooling: update build.bat for modern MSVC toolchain, update launcher hash, and refresh shipping binaries
52 lines
3.1 KiB
Markdown
52 lines
3.1 KiB
Markdown
# Alley Wake-Up
|
|
|
|
The Eblan Games intro leads into the exterior cinematic on every launch.
|
|
Runtime camera, weather, sprite playback, compositing and input remain MASM.
|
|
PNG generation and normalization are offline tools only.
|
|
|
|
The protagonist opens their eyes while seated on the alley ground. Bent knees
|
|
remain in the foreground while a scruffy cyberpunk rocker crouches nearby and
|
|
speaks. The agreed dialogue is shown as Russian subtitles, without synthesized
|
|
voice: "Вставай, самурай, пора дэпнуть все в казино".
|
|
|
|
The protagonist raises a cigarette, opens and ignites a flip-top lighter,
|
|
looks into the cloudy sky and exhales, then rises smoothly, turns right and discards the butt
|
|
into the existing projected dumpster mouth and follows the city route to the
|
|
guards. Profile selection still happens at the casino entrance. Enter can
|
|
skip to the guards; existing Escape handling is preserved.
|
|
|
|
The seated view faces east, toward the rocker. Dumpsters are south of the
|
|
protagonist, off-screen to their right. The separate look-right phase rotates
|
|
the camera only after standing; the throw then uses the real dumpster mouth.
|
|
Traffic timing follows the pre-alley duration, preserving the safe red-light
|
|
crossing after the longer wake-up sequence.
|
|
|
|
There are thirty-two grounded rocker poses and sixteen lighter poses. The
|
|
speaking cycle has sixteen distinct crouched poses, then eight rise/turn poses
|
|
and eight walking-away poses. The coat's red SAMURAI back emblem follows the
|
|
[official jacket reference](https://www.cyberpunk.net/en/news/30631/pre-order-your-samurai-bomber-jacket-now).
|
|
Character
|
|
normalization uses whole connected silhouettes rather than nominal atlas cells,
|
|
so neighbouring fragments cannot move the feet anchor. Generated assets and
|
|
exact prompts are under `assets/sprites/arrival/wake-*`; packed runtime assets
|
|
are under `assets/animations/arrival/wake-*`.
|
|
|
|
The lighter forearm is a separate continuous leather sleeve placed underneath
|
|
the animated cuff using measured per-frame anchors. It extends out of the
|
|
viewport rather than ending at a floating wrist. New vent/poster/crate/cabinet
|
|
materials are in `alley-materials-v1.bin`; wall-mounted fittings, drainage
|
|
pipes, stacked crates and a floor drain use actual ray/depth-tested surfaces.
|
|
The centre walking strip and the right-hand dumpster reveal remain clear.
|
|
`wake-v2-prompts.json` records all three built-in image-generation prompts.
|
|
|
|
Rain uses three visual-depth layers with different speeds, length and opacity.
|
|
Streaks blend into the rendered scene rather than replacing it with blue blocks.
|
|
Ground splashes are rejected behind nearer geometry. Weather reads cinematic
|
|
time, not the gameplay random generator. Looking vertically into the sky blends
|
|
the raycast view into the sky rather than abruptly switching projections.
|
|
|
|
Verification uses the actual native action-test renderer, camera continuity
|
|
samples, route/vehicle checks, profile transitions, packed-asset checks and
|
|
framebuffer sequences. `check_arrival_frames.py` writes wake/ignition preview
|
|
GIFs from those native captures. `check_city_wake.py --parity` checks dialogue,
|
|
anchors and equality of shipping/tested cinematic procedures.
|