Project information

  • Category: Game Creation (Hardware)
  • Client: SUTD (school)
  • Project date: 01 - 04/2022 (Term 4)

Defusinator 3000

Our task was to use the concepts learnt in the

  • 50.002 module (Computation Structures)
to create a game that teaches logic/math.

My group decided to create a bomb defuser simulation, teaching simple inversion logic.

Languages:

  • Lucid (Alchitry Labs)
    • to code our Field Programmable Gate Arrays (FPGA) that acts the main controller for the game.

Inspiration and Ideation

In the first 6 weeks, we focused on creating our Arithmetic Logic Unit (ALU) and brainstorming ideas for our game (using Miro board).

We were inspired by a video game called "Keep Talking and Nobody Explodes", a cooperation game that requires good communication and logic to play. We then simplified the game to a single-player one with lights and buttons for the interface.

During the brainstorming period, we also came up with our

  • Finite State Machine (FSM)
    • diagram of all (or 90%) known states of the game
    • what signals are needed at each state
  • Datapath
    • diagram of data needed, where it is stored
    • what signals are needed and when
both of which are crucial when coding a hardware game.

Prototype Making

Then we moved on to creating the user interface (soldering and hardware) while coding the different components of the FSM.

This proved to be a bigger challenge than we anticipated. We faced challenges like fragile wires and damaged LEDs/buttons. Thankfully we got through it all and moved forward to debugging within the final weeks.

Final Prototype

Diagrams of the final prototype were confirmed and followed, and the prototype is assembled!

Summary