One button and arcade games. The hook shot is inspired from Legend of Zelda, and the graphics style from games like Neon Tango (and many others).

What it does

The player is a disc in a 2D world. It has a hook that's rotating about it. Whenever you press a button (any button), the hook will fly out into the direction it's pointing and attach itself to the first object in that way. The player will then fly to the hook, dealing damage along the way.

There are static pillars and moving boxes to aid the player in moving around, and to provide smooth bouncy fun.

The game gets progressively harder, as enemies spawn faster and faster. See how high a score you can get!

How I built it

The game is built with Unity and C#, using mostly Unity inbuilt functionality.

Challenges I ran into

  • Merging edits on Unity scenes is unpleasant - we ended up agreeing to only modify the scene one person at a time.
  • The hook would sometimes attach to the second object along a direction, leading to the player being stuck to the first object. The damage aura would stay on and kill enemies indefinitely.
  • When an enemy dies and explodes, the explosion object would stick around and repeat the animation.
  • Getting the collisions to work properly (e.g. player with enemies and with walls, but not enemies with walls) required a bit of engineering.
  • Getting the small hook to hit and object was very hard, but making it slower makes the game feel slow. We implemented an auto-aim feature that finds objects in a small angle around the hook shot and attaches to them.

Accomplishments that I'm proud of

  • This is the first game we made.
  • We fixed all of the above issues.
  • It looks quite good and the movement is satisfying.
  • The game is reasonably playable - there's an element of skill to it, one doesn't just play until they're swarmed with enemies.

What I learned

  1. Unity:
    • Collisions
    • Materials and textures
    • Scripting
    • Prefabs

What's next for DAMP

  • Implementing spawning health packs.
  • Different difficulty levels.
  • Hosting on the web.
  • Highscore table.
Share this project: