play-riot-root
v0.0.1-0
Published
root directory
Downloads
1
Readme
Riot!
Riot is a card game strongly inspired by Bang!.
My friends and I designed this game as kids, with the intention of making a competitive card game with multiple common strategies and a modular rule system.
In other words, we wanted the "meta" to vary over time as other strategies arose, and we wanted to change the game's rules mid-play.
Premise
You find yourself in the sandy streets of Kabul, when suddenly a riot breaks out! The rebels spring to action and take their chance to kill the mayor and his officers. You quickly scavenge what gear you can and prepare to fight for your friends.
How will you survive? Will you fight with guns, blades, or explosives? Or will you attempt to call the town to order in the nearby courthouse?
Gameplay
Roles
Each player is assigned a role at the beginning of the game. These roles are:
- Mayor
- Visible to everyone
- Wins by eliminating all rebels and maniac
- Draws two cards each turn
- Plays first
- Officer
- Wins by eliminating all rebels and maniac
- Rebel
- Wins by eliminating mayor and all officers
- Maniac
- Wins by eliminating everyone else
Turns
Players initially draw cards. During the first round, players are unable to attack without the use of consumables. It is advised that players take this turn to equip items and sell duplicates.
After the first round, players are free to attack using weapons. Players can collect a variety of melee, ranged, explosive weapons, in addition to head and body armors to protect themselves.
Court
During each turn, players have the option to call court against another player. This is an opportunity for players to discuss an action in the game and impose their own laws.
Unfortunately the electronic version of this game does not play so well with modifying core mechanics, so we leave enforcement of laws up to the players.
However, when a court case is decided, a punishment is chosen and inflicted on the losing party in the case.
Blackmarket
Players can sell unwanted items to collect cash. This cash can be spent at the blackmarket to purchase powerful, one-of-a-kind items that are unobtainable otherwise.
Contributing
To setup your local development environment, run this code in your terminal:
git clone https://github.com/hawkins/play-riot
cd play-riot
npm run setup
Testing
Unfortunately, testing is currently done manually.
You can configure your own local server by running npm run localhost
in the root project directory.
Then, start the server with npm run server
and connect to it with npm run client
in as many terminals as you like.
To test deployments, deploy and reconfigure your client by running npm run deploy
.
This will deploy your code to now.sh
and modify the client's URL to match the new deployment.
Then, start the server with npm run server
and connect to it with npm run client
in as many terminals as you like.
Client
The client is currently a TUI made with Blessed.
Its source can be found in /client
.
Server
The server is responsible for the rules of the game, and is designed to be deployed to now.sh
.
The server's source can be found in /server
.