ADITYA SINHAGAMEPLAY DESIGN + ENGINEERING
← All projects
TECHNICAL FOUNDATIONS

Duel at Dusk

ROLEGameplay Programmer

TEAMSolo project

DATEOct – Nov 2024

GENRETurn Based Artillery

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.

  1. Clone or download the GitHub repository.
  2. Open DuelAtDusk.X68 in Easy68k.
  3. Assemble and run the program.
Duel at Dusk gameplay. Watch on YouTube ↗
Duel at Dusk artillery gameplay
Duel at Dusk game screen