-
-
Main menu with single-player, multiplayer, rules, leaderboard, wallet, and settings.
-
Difficulty selection with Easy, Medium, and Hard game modes.
-
Local leaderboard showing player scores, completion time, moves, and difficulty.
-
Midnight wallet connection screen for the planned private-transaction integration.
-
Rules page explaining movement, bombs, scanning, diffusers, and multiplayer.
-
Main gameplay board with the Thief’s resources, scanner, diffuser, and objective.
Inspiration
We wanted to explore how privacy can make games more strategic and fair. In many hidden-information games, players must trust a server or each other not to reveal or change secret game state. Midnight Heist imagines a stealth game where traps remain hidden during play, while outcomes can still be reviewed afterward.
What it does
Midnight Heist is a cyber-noir grid strategy game. A Guard secretly places bombs while a Thief navigates toward a diamond.
The Thief can move tile by tile, scan nearby spaces for danger, and use diffusers to remove threats. The game includes single-player AI and local hot-seat multiplayer modes, difficulty levels, scoring, and a local leaderboard. After a game ends, a verification screen reveals the final bomb map and action history.
How we built it
We built Midnight Heist as a React and Vite web app with Tailwind CSS, Framer Motion animations, and browser local storage for player names and leaderboard scores.
The gameplay logic separates hidden bomb state from the information shown to the Thief. We created a Midnight-inspired contract adapter that records bomb placements, movement, scans, diffuses, and final outcomes, then exposes the full history only after the game ends.
Challenges we ran into
The hardest challenge was making hidden information feel fair and understandable. We needed players to make meaningful choices without simply showing them the whole map.
We also balanced risk and reward: scanners reveal nearby danger but have a cost, while diffusers can remove bombs but must be used carefully. Building a clear, polished game flow for both Guard and Thief roles was another key challenge.
Accomplishments that we're proud of
- A complete playable game loop
- Single-player AI and local multiplayer modes
- Hidden bomb placement and turn-based strategy
- Scanner and diffuser mechanics
- Difficulty settings, scoring, and a local leaderboard
- A post-game verification view
- A polished cyber-noir interface
What we learned
We learned that privacy is not only a technical feature; it changes game design. Hiding information can create tension, strategy, and trust when players still have a clear way to understand outcomes.
We also learned how important it is to separate game logic from the interface so that a local prototype can later be connected to a real privacy-preserving backend.
What's next for Midnight Heist
Next, we plan to replace the local Midnight-inspired adapter with real Midnight Compact smart contracts and wallet-backed transactions. This would let bomb placements and game actions use actual private state and verifiable outcomes while preserving the gameplay experience.
We also want to add online multiplayer, player-owned cosmetic rewards, richer game maps, and additional Guard and Thief abilities.
Built With
- blockchain-gaming
- framer-motion
- game-development
- javascript
- local-storage
- midnight
- privacy
- react
- react-router
- tailwind-css
- vite
Log in or sign up for Devpost to join the conversation.