Inspired by What Next? Boardgame, Reigns, and Jackbox.
Players join a lobby on their phones like Jackbox, and then play through a "choose your own adventure", voting together on options by swiping, and playing mini games that affect how it progresses.
git clone git@github.com:maael/what-now.git
cd what-now
yarn prep
yarn dev
This will start the backend at http://localhost:8081, and the frontend at http://localhost:3000.
Next.js client with Tailwind for styling, deployed to Vercel.
Socket.io server deployed to Heroku.
┌────┐
┌──┤Join├──┐
│ └────┘ │
│ │
┌┬─────┬┐ ┌───▼──────────┴───┐
││Start│┼───►Waiting for Player│
└┴─────┴┘ └────────┬─────────┘
│
┌─────▼────┐
│Start Game│
└─────┬────┘
│
┌────────▼─────────┐
┌─────┬──────►Assign Lead Player│
│ │ └────────┬─────────┘
│ │ │
│ │ ┌──────▼──────┐
│ │ │Vote Decision│
│ │ └──────┬──────┘
│ │ │
│ ┌───┴────┐ ┌─────▼──────┐ ┌───────────────┐
│ │Get Item◄────┤Resolve Vote├─────►Start Mini Game│
│ └────────┘ └─────┬──────┘ └──────┬────────┘
│ │ │
│ │ ┌─────▼──────┐
│ │ │Resolve Game│
│ │ └─────┬──────┘
│ ┌────────▼─────────┐ │
└────────────┤Draw Next Decision◄─────────┘
└──────────────────┘
- How much game state to have in client?
- How to handle game state in server? Worth using a state machine?
- How to handle reconnects?
- How to handle others viewing the active mini game?
- Stream screen or replay events.
- Sliding tile picture
- Free the tile sliding game
- Reaction time target tap game
- Memory see and repeat game
- Slide and land in zone game
- Slide and land in moving zone game
- Tap amount in X time
- Flip coin
- Memory matching card game
- Item hunt in picture
- Path through maze game
- Spin tiles to connect pipe game
- Use shapes to make a shape outline
- Phone tilting/gyro marble maze game