All Projects → Longwelwind → Swords And Ravens

Longwelwind / Swords And Ravens

Licence: gpl-3.0
A reimplementation of the board game "A Game of Thrones: The Board Game 2nd Edition"

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Swords And Ravens

Khan
khan will drive all your enemies to the sea (and also take care of your game's clans)!
Stars: ✭ 22 (-24.14%)
Mutual labels:  online, multiplayer
sdk-for-unity-vr-starter-project
[Deprecated] SpatialOS SDK for Unity Virtual Reality Starter Project
Stars: ✭ 43 (+48.28%)
Mutual labels:  online, multiplayer
Gdk For Unity Fps Starter Project
SpatialOS GDK for Unity FPS Starter Project
Stars: ✭ 119 (+310.34%)
Mutual labels:  online, multiplayer
FC2MPPatcher
A community-made utility for patching Far Cry 2 to yet again support multiplayer online.
Stars: ✭ 25 (-13.79%)
Mutual labels:  online, multiplayer
sdk-for-unity
SpatialOS SDK for Unity
Stars: ✭ 49 (+68.97%)
Mutual labels:  online, multiplayer
Kosm-Classic-FPS-Template-UE4
Classic Arena First-Person-Shooter Mechanics for Unreal Engine 4.
Stars: ✭ 38 (+31.03%)
Mutual labels:  online, multiplayer
Openspades
Compatible client of Ace of Spades 0.75
Stars: ✭ 769 (+2551.72%)
Mutual labels:  online, multiplayer
fourinarow-app
An online version of the popular game four in a row, written in Flutter + Dart on the client and Rust on the server side.
Stars: ✭ 23 (-20.69%)
Mutual labels:  online, multiplayer
UniSpySDK
Updated and Cleaned GameSpy SDK
Stars: ✭ 31 (+6.9%)
Mutual labels:  online, multiplayer
gdk-for-unity-blank-project
SpatialOS GDK for Unity Blank Project
Stars: ✭ 33 (+13.79%)
Mutual labels:  online, multiplayer
Gdk For Unity
SpatialOS GDK for Unity
Stars: ✭ 296 (+920.69%)
Mutual labels:  online, multiplayer
Trinitycore
TrinityCore Open Source MMO Framework (master = 9.1.5.41488, 3.3.5 = 3.3.5a.12340)
Stars: ✭ 7,074 (+24293.1%)
Mutual labels:  multiplayer
Online Markdown
A online markdown converter specially for Wechat Public formatting.
Stars: ✭ 812 (+2700%)
Mutual labels:  online
Ubernet
Flexible networking library for Unity
Stars: ✭ 10 (-65.52%)
Mutual labels:  multiplayer
Com.unity.multiplayer.mlapi
A game networking framework built for the Unity Engine to abstract game networking concepts.
Stars: ✭ 781 (+2593.1%)
Mutual labels:  multiplayer
Ancientbeast
Turn Based Strategy Game. Master your beasts! 🐺
Stars: ✭ 907 (+3027.59%)
Mutual labels:  multiplayer
Cyaron
CYaRon: Yet Another Random Olympic-iNformatics test data generator
Stars: ✭ 784 (+2603.45%)
Mutual labels:  online
Mtasa Blue
Multi Theft Auto is a game engine that incorporates an extendable network play element into a proprietary commercial single-player game.
Stars: ✭ 739 (+2448.28%)
Mutual labels:  multiplayer
Dodgem
A Simple Multiplayer Game, built with Mage Game Engine.
Stars: ✭ 12 (-58.62%)
Mutual labels:  multiplayer
Retrotanks
RetroTanks: Atari Combat Reimagined, built in Meteor.js. Great isomorphic JavaScript example.
Stars: ✭ 9 (-68.97%)
Mutual labels:  multiplayer

Swords and Ravens

"Swords and Ravens" is a reimplementation of the board game published by Fantasy Flight Games "A Game of Thrones: Board Game - Second Edition".

This repository also serves as a bug tracker. Head to the issues section if you want to report a bug, see the progression on the different features, or to see what's planned for the game! Before creating an issue to report a bug or propose a feature, please make sure that an issue does not already exist by using the search functions.

Suggestions, remarks and other feedbacks can done on the discord server (Ask Tex for access to the feedback channel).

General Architecture

The project is separated into 2 components:

  • A website in Python with the Django framework. This component handles user registrations, creating games as well as a joining them. It exposes a REST API used by the game server. Finally, it also contains the logic for the chat used in the games. The code is located in agot-bg-website/.
  • A game server in Typescript with React, mobx and bootstrap. It runs the games of AGoT. It is itself composed of a front-end and a back-end. The code is located in agot-bg-game-server/.

Additional documentation about how those components work can be found in the folder of each component.

How to Run

There a multiple ways to run the code, depending on what components on what you want to run.

Launching the Game Only

Requires NodeJS and yarn. Install the dependencies and initialize the environment variables by executing:

cd agot-bg-game-server/
yarn install
yarn run generate-json-schemas
cp .env.dev.local .env

In 2 different terminals, execute:

  • yarn run run-client
  • yarn run run-server

Open http://localhost:8080/static/#1 in your browser. Additional players can be simulated by opening new browser tabs and changing the number at the end of the url.

Closing and re-reunning run-server will create a new game.

Note: The chat, which is managed by the website, will not be available.

Launching the Website Only

Requires docker and python3.

To spin up the PostgreSQL database and a Redis database, open a terminal and execute docker-compose up.

Install the dependencies of the component, initialize the database and create a super user by running:

cd agot-bg-website/
cp .env.dev .env
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 manage.py migrate

# This command will ask for a password. Use "rootroot"
python3 manage.py createsuperuser --username Longwelwind

Once done, you can run the server by executing:

python3 manage.py runserver

The website will be accessible at http://localhost:8000/ (as well as http://localhost:8000/admin). Some functionalities such as mail notifications and social authentications will require environment variables defined in .env.

Note: If you try to open a game via the website, you will land on a template page.

Launching the Game and the Website

To launch the 2 components and make them inter-connected, make sure the dependencies are installed and the database is up and running (follow the instructions given in the precedent sections).

Replace the environment configuration of the game-server with a live one: cp .env.live .env.

The front-end of the game server must be built and placed in the website. This can be done by executing ./build_and_place_game_client_into_django.sh.

You can now run the game server and the website by launching, in 2 two different terminals:

  • In agot-bg-game-server/, execute yarn run run-server.
  • In agot-bg-website/, execute python3 manage.py runserver.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].