Giter VIP home page Giter VIP logo

the-resistance's Introduction

The Resistance

This is an open source version of the popular party board game The Resistance / Avalon, based on original game by Don Eskridge.

Play it now at https://thesilican.com/resistance

Example Gameplay

About

Similar to party games like Mafia and Werewolf, The Resistance challenges players' skills of deception, lying, and social deduction to determine who to trust. Agents try to determine who their teammates are and succeed on missions, while Spys must work together to decieve everyone, and fail as many missions as possible. Read the full rules here.

Features

  • Full online multiplayer support
  • Games for 5-10 players
  • Easy-to-learn user interface
  • Many games can run simultaneously

Attributions

The original game concept and rules belong to Don Eskridge, creator of The Resistance / Avalon.

Much of the inspiration for the user interface came from a free-to-play steam game called MINDNIGHT. You should check it out! It has better graphics, cool music, and you can even save your progress.

Technologies

The Resistance was build with the following technologies

Installation

Building docker container

The easiest way to build and run this app is to use docker-compose. First download this repository, then run using docker-compose.

$ git clone https://github.com/thesilican/the-resistance.git
$ cd the-resistance
$ docker-compose up --build

Alternatively, you may build using docker directly.

$ git clone https://github.com/thesilican/the-resistance.git
$ cd the-resistance
$ docker build . -t the-resistance
$ docker run -d -p 8080:8080 --name the-resistance the-resistance

Then you can access the game at http://localhost:8080.

Node.js/Javascript

You can run the project using node.js only. It is recommended that you use version >=16.

This project has the following directory structure:

the-resistance
├─ common
│  └─ src (Redux reducers shared among frontend & backend)
├─ frontend
│  ├─ assets (GIMP image asset files)
│  ├─ public (index.html and generated spritesheets)
│  └─ src (Frontend code)
│     ├─ components (React Components)
│     └─ store (Redux store/selectors)
└─ backend
   └─src (Backend code)

The project is split into 3 main portions - frontend, the React.js website; backend, a node.js server; and common, which contains code and types shared between frontend and backend.

Here are the steps to fully build the project:

Clone repository from GitHub
$ git clone https://github.com/thesilican/the-resistance.git
$ cd the-resistance

Build common code
$ cd ./common
$ npm install
$ npm run build

Build frontend website
$ cd ../frontend
$ npm install
$ npm run build

Build & run backend server
$ cd ../backend
$ npm install
$ npm run build
$ node dist/index.js

Then you can access the game at http://localhost:8080.

the-resistance's People

Contributors

dependabot[bot] avatar mdhs-science avatar thesilican avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

zahidsqldba07

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.