Duel at Dusk
GAME SUMMARY
In Duel at Dusk, each player selects the angle and power of their shots to launch projectiles at their opponent, factoring in ever-changing wind conditions. The first player to knock out their opponent wins!
MY CONTRIBUTION
I built this two-player, turn-based artillery game entirely in Easy68k assembly, delivering precise projectile gameplay under tight low-level constraints.
Low-Level Systems
- Memory Manager: Heap initialization, allocation/deallocation, block coalescing, and shrinking to support bitmap rendering and dynamic projectile lifecycles without leaks.
- Bitmap Renderer: Selective sprite-sheet extraction, transparency handling, and background redraws tuned for 30–40 FPS on 68k hardware.
- Fixed-Point Physics: 12.4 fixed-point math, lookup-table sine/cosine, and pre-shifted multiplication for accurate wind-affected trajectories.
- Collision & UI: AABB hit detection with segmented head/body/leg hitboxes and an assembly-driven 7-segment display for real-time health and wind.
- Presentation: Timestamp-bit wind randomization, frame-by-frame throw and hit animations, and sound effects.
Instructions to Play
- Clone or download the repository from the GitHub link below.
- Open
DuelAtDusk.X68in the Easy68k environment. - Assemble and run the program to begin the duel.