KAZIK/docs/HALL_LAYOUT.md
Artvasil09 3ad5bf4c9d Develop assembly-only casino scenes and native games
Add native Durak, poker, blackjack, roulette, Buckshot and billiards scenes with animation assets and regression tests. Improve arrival, city, hall, profiles, shops, audio and exit handling; remove the portable C game core and refresh shipping executables.
2026-10-08 22:39:19 +03:00

62 lines
3.2 KiB
Markdown

# Hall and Basement
The runtime stays MASM32. Image generation and Python packing are offline asset
work only. Original generated atlases and prompts live in `assets/sprites/hall`.
## Bar and Dining
The six-unit walnut counter occupies x=3..9, y=23..24. Its top, end panels and
front panels use different dedicated materials. The bartender works at y=22.5;
three bottle shelf sections are behind him at y=22. They are fixed world planes,
not sprites that rotate towards the camera. Dining tables and red seating are
south of the counter at y=27..29, on the customer side. The central x=5..8 aisle
stays open. Counter, back-bar cabinet and dining footprints block walking.
The drink view uses the same world scene as walking. Mixing has sixteen
bartender poses; drinking uses eight hand poses. Rendering does not debit money.
## Basement
The shop uses faded green wall tiles, worn plaster, a stepped vault and small
stone floor tiles. A wooden counter separates the trader from customers; card
decks, chips and talismans fill the mesh-front shelves and glass display cases.
The desktop has a lamp, ledger, cards and an old CRT, not workshop equipment.
Texture slots 92..99 are dedicated bunker materials, not outdoor facade or
dumpster materials. Eight actual stair treads connect the entrance to the lower
room. Merchant interaction stays inside the basement and the stair interaction
returns to the hall. The vault is stepped geometry, not a smooth curved mesh.
## Architecture and Texture Sampling
The hall has patterned carpet, wood flooring in the lounge and pool area, low
partitions with walkable openings, a plaster ceiling and six individually
placed chandeliers. Columns and stone cornices frame the gaming area. The
street facade includes projecting masonry, bay windows, porch supports and
wall lanterns. The entrance retains the CASINO lettering in its original
artwork rather than drawing a second sign over it.
Nearby indoor surfaces and detailed outdoor planes sample their full 256-pixel
source width. Alpha-cutout architectural planes only write depth at opaque
pixels. Horizontal surfaces crossing the camera's near plane remain visible.
These fixes do not increase the native 640x480 framebuffer resolution.
## Visitors
Ten stationary guests stand at game tables and the bar or sit in the dining
area. Two additional guests walk a twenty-second loop through the central
aisles, with four source walk poses each. Route phase uses elapsed time, not
render calls; accepted positions must pass the world's collision checks.
Sprites share ground anchors and depth testing with furniture.
This is the first population pass: walking sprites are camera-facing billboards,
not eight-direction character sets, and guests do not yet converse or play full
autonomous rounds. Visitor routes pause while a table mode is active.
## Verification
`tools/tests/test_casino_actions.ps1` builds and runs the real assembly executable
with isolated profile fixtures. Hall tests cover a full visitor route, furniture
collision, room transitions, drink charges, one-pixel texture detail and
near-plane surface clipping. Native framebuffer snapshots
include close views of the bar, basement, stairs and dining area. Tests are not
a substitute for manually playing on the target low-end laptop.