TECHNICAL FOUNDATIONS
Duel at Dusk
GAME SUMMARY
In Duel at Dusk, two players choose the angle and power of each shot while adapting to changing wind. The first player to reduce the opponent’s health to zero wins.
THE PROJECT
Build a complete game within low level constraints.
I wrote the game in Easy68k assembly, which meant every feature had to account for memory layout, instruction cost, limited number formats, and the order in which the screen was redrawn.
SYSTEMS I BUILT
- Memory Manager: Heap initialization, allocation, deallocation, shrinking, and coalescing for bitmaps and projectiles.
- Bitmap Renderer: Sprite sheet extraction, transparency, and selective redraws tuned to hold roughly 30 to 40 FPS.
- Fixed Point Physics: 12.4 fixed point values, sine and cosine lookup tables, and bit shifting for projectile motion under wind.
- Collision and Feedback: AABB collision with separate head, body, and leg regions, plus hit reactions and audio.
- UI and Match Flow: Seven segment health and wind displays, randomized wind, start and win screens, and instant restart.
INSTRUCTIONS TO PLAY
Run the assembly build.
- Clone or download the GitHub repository.
- Open
DuelAtDusk.X68in Easy68k. - Assemble and run the program.

