graphics tweaks

This commit is contained in:
2026-07-21 16:46:09 +02:00
parent c703d8b5f3
commit 8420213065
13 changed files with 1131 additions and 290 deletions
+25 -14
View File
@@ -3,23 +3,30 @@
**LabyrinTwo** - a two-player maze duel for the Commodore 64
(ACME + VICE), in the same spirit as [rabbitc64](../rabbitc64).
A fresh maze is carved every round on a 39x23 lattice where the walls
are exactly as wide as the corridors. **Player 1** (joystick 2, or
`w a s d`) runs the corridors toward the green diamond exit while
dodging the roaming colored enemies. **Player 2** (joystick 1, or
`i j k l`) rides the corners of the walls with a blinking cursor -
fire (or `return`) spins the four wall pieces around the cursor by
90 degrees, reshaping the maze in real time. A spin is denied while
anyone is standing in one of the four slots.
A fresh maze carves itself on screen at the start of every round on
a 39x23 lattice where the walls are exactly as wide as the corridors.
**Player 1** (joystick 2, or `w a s d`) runs the corridors toward the
green exit portal while dodging the roaming enemies. **Player 2**
(joystick 1, or `i j k l`) rides the corners of the walls with a
bracket cursor - fire (or `return`) spins the four wall pieces around
the cursor by 90 degrees, reshaping the maze in real time. A spin is
denied while anyone is standing in one of the four slots (the border
blips red); the spun pieces flash white.
The look: brick walls and bolted pivot posts from a custom RAM
charset, every actor (runner, cursor, bullet, enemies) a hardware
sprite gliding smoothly between the cells, an animated exit portal,
a raster color band behind the status row, and a fade to black
between all screens. The menu floats over a dark maze backdrop.
The options screen adds two optional twists:
- **runner gun** - player 1 shoots a bullet with fire/`space`; a hit
enemy respawns on a random cell after a pause.
- **spin cooldown** - each spin starts a recharge; further spins are
denied until the draining bar on the status row runs out and the
readout flips back from *wait* to *ready* (the cursor also dims
while recharging).
denied until the bar on the status row drains (pixel by pixel) and
the readout flips back from *wait* to *ready* (the cursor also
turns red while recharging).
Screens: TTG intro (ported from rabbitc64) -> main menu
(play / options / rules / controls / credits) -> game -> win (back
@@ -45,15 +52,19 @@ acme -DAUTOPLAY=1 -f cbm -o labyrintwo.prg main.asm
## Files
- `main.asm` - entry point, BASIC stub, per-frame state machine
- `main.asm` - entry point, BASIC stub, per-frame state machine,
the border/status-band raster work
- `defs.asm` - registers, constants, zero page, macros
- `intro.asm` - TTG boot logo with the gold color wash
- `menu.asm` - main menu card
- `menu.asm` - main menu card over a dark maze backdrop
- `options.asm` - the optional extras and their toggle screen
- `rules.asm` - how to play
- `controls.asm` - joystick + keyboard mappings
- `credits.asm` - the crew
- `play.asm` - maze generation (recursive backtracker) + the game
- `play.asm` - maze generation (recursive backtracker, animated)
+ the game
- `win.asm` / `over.asm` - end screens
- `common.asm` - shared routines: printing, big block font, input, RNG
- `sound.asm` - single-voice SID SFX driver
- `gfx.asm` - RAM charset with the custom tiles, the sprite engine,
the portal animation and the fade-to-black transition