RISC game stands for Really Interesting Strategic Conquest game. This is a multiplayer web-based strategic game, accommodating up to 4 players, where they can conquer territories, strategize movement and upgrades for soldiers, and utilize random game cards.

Game Deployment

Game deployment is easy because Docker is employed to streamline the process. I reserved a publicly accessible VM at our school with an IP address of http://vcm-33920.vm.duke.edu/. The game repository can be accessed here:

On the VM,

git clone https://github.com/YushunChen/risc-game.git
sudo apt install docker-compose
cd risc-game
sudo docker-compose build
sudo docker-compose up

Then, the game is up and running and can be access at http://vcm-33920.vm.duke.edu:3000/

Game Features

Sign in/Register

The user has to register first if they have not done so. They can log back into the game and continue plays a previous game they have participated in.

Game List

Once the user is logged in, they are able to create games based on the number of players available. They can join a new game by finding available games that have already been created. They can start or continue to play a game by simply clicking the green "Play" button on the left card.

Game Play

The detailed game play is rather complicated since the game had 3 iterations in terms of requirements definitions. Here are the detailed requirements:

Now, I will highligh some of the major features of the game.

Game Goal

The goal of this game is to conquer territories on the map.

Move and Attack

Each territory has some number of soldiers defending it. Players can move their soldiers to their own territories for attacking or defending purposes.

The more soldier you have in a territory, the more likely you are able to win a battle if you attack another territory or another player attacked your territory. Also, each territory has different food and technology resources so its value vary. The players can gain food and technology resources that are generated from their territories.


Each player has a technology level as seen on far right of the player info card. This allows them to upgrade their soldier to be more powerful, which means more likely to win battles.


Upgrade order basically upgrades some number of soldiers which is allowed by the technology level.


The players can draw 3 random cards each turn that have either positive or negative effects on their gameplay. There is a probability distribution designed to avoid abusing the card drawing system because the cards that are effective (other than no luck card) are powerful in the game. Each player can draw 3 cards per turn, and the cards are played automatically.

  • CARD_CONQUERING_WARRIORS: (10% chance of drawing): This card would add one Level-6 unit to every territory owned by the player, even if the player does not have a sufficient tech level for level-6 units.

  • CARD_FAMINE: (10% chance of drawing): This card is a negative effect card which would stop the tech/food resource creation for the player for the next round.

  • CARD_UNBREAKABLE_DEFENCE: (10% chance of drawing): This card would give the player an opportunity to defend one of their territories no matter the opponent. Defending players would not lose any units from that territory; however, opponents would lose all their attacking units.

  • CARD_NO_LUCK: (70% chance of drawing): This card would not have any effect on the gameplay and the player would waste drawing a card.


Spy is a special type of soldier that you can deploy to enemy territories. By doing so, you are able to see territories that you are not supposed to. By the game rules, you are only able to see territories that are directly adjacent to your own territories. Other territories are invisible as seen on the map.


Once the player reached technology level 3, he can cloak a territory, which means hiding the territory from the enemies. This cloaking hides from adjacent viewing, but not from spies.

Here are only the main features in a nutshell. Make sure to check out the actual game yourself! :)

Project Management

Project Repo

This is only a duplicate version of the GitLab repo that we actually used. Unfortunately, the GitLab repo is only internally visible.

Task Breakdown

UML Diagram

Last updated