This project is the front end of a small game developed in the context of a Jam.
The game is a 1vAll where the player aim to keep it's olympic flame alive as long as possible while the other players try to extinguish it.
To run the project, you need to have Node.js installed on your machine.
Then, you can run the following commands:
npm install
npm run dev
The backend of the project is a python flask server.
You can find the repository here
Each player wait for his turn to play.
During his turn, the player has 3 possible actions:
- Play a card
- Discard a card
- Gamble
The player has 2 cards in his hand. He can play one of them.
Each card has a value between 1 and 6, with each card getting progressively more rare has it's value increase.
A card can perform 2 actions:
- Heal the flame of the player by the value of the card.
- Attack the flame of another player by the value of the card.
When choosing to attack, the player must choose a target among the other players.
The player can discard a card from his hand.
This action is useful when the player has a card he doesn't want to play or when he has too many cards in his hand.
After a discard, the player draws a new card from the deck.
With the draw come two possible actions:
- Play the card immediately
- Keep the card in his hand and end his turn
The gamble mechanic is the core of the game action.
Each player can call a gamble one time per match.
When gambling, all players must choose a card from their hand and play it face down.
After the selection, a question is asked to all players.
Depending on the answer:
-
- The card gambled is return to the player hand, and he can play a new card with the same value.
-
- The card gambled is discarded and the player take 2 times the value of the card in damage.
When a player call a gamble, it doesn't end his turn.