Inspiration

Games like Mafia and Secret Hitler, where there's elements of uncertainty, sabotage, and hedging your bets, with the pressure of time running out. But it's on a train. And it's a bomb. And no-one knows who is who (henchman or commuter).

What it does

Intended basic game loop:

  • Investigate a room to reveal the likeliness of there being a bomb (likely, unlikely, or uncertain).
  • Only the person who investigated knows the likeliness.
  • Once investigated, get 3 or more people in the room together to defuse the bomb: the bomb will actually be in the room (in which case, game win for commuters), or it will not, in which case the game will go on until time runs out.
  • Remember, people can't communicate with each other, so who knows who is trying to sabotage this defusal attempt?

Actual game loop: The above but single-player.

How we built it

Node.js for the server, Godot for the game server, Websockets to communicate.

Challenges we ran into

  • Websockets/networking hell.
  • People working on client code have never used a game engine before.
  • Teammate working on the server felt unwell and left early :(

Accomplishments that we're proud of

  • What is up of multiplayer is pretty smooth - the players move around in close to real time.
  • We learned a game engine in a day :) (Neither of us have done game code before either)

What we learned

Game code is harder than expected. So is websockets and networking.

What's next for That Bombs!

  • Fully doing multiplayer.
  • Messages for the user ie. to display likeliness of a bomb being in a room.
  • Limited emotes eg. "Come defuse", "This guy is a henchman", etc.
  • Voting off system (train stop, police detain an individual?)

Built With

Share this project:

Updates