Skip to content

vlado-github/BoredGames

Repository files navigation

💖 Found BoredGames interesting?

⭐ Please consider giving us a star to support the project! ⭐

ClashOfHands game logo

BoredGames

Web platform for hosting custom web-based games and games' backends.

GitHub Release

Client Deploy

Server Deploy

Website 🌎Installation ⚙️

📚 Introduction

BoredGames is a web platform for creators to host their games and for players to enjoy playing web-based games. Games that run in browser can be played on any device without any installation. Platform API provides backend logic for scoring and multiplayer gaming.

BoredGames website with gallery of games
BoredGames website

🌟 Key Features

BoredGames offers tools for your game:

🔧 Hosting

  • WebGL/Wasm/JS: upload a game draft which is then reviewed and hosted for free

🏆 Scoring and muliplayer API

  • Scoring: tracks gameplay scores
  • Multiplayer: play with other people on the network

📧 Player Profiles

  • Anonymous: play without registration by using ephemeral session
  • Registered: crete account to keep your scores and library of your favourite games

📱 Mobile-Friendly

  • Cross Platform: runs in any browser natively
  • Screen Size: supports different screen resolutions

🚀 Getting Started

🐳 Quick Start with Docker

Important

Please ensure you have Docker and Docker Compose installed on your system. If not, you can download them from the official Docker website: Docker.

  1. Clone the Repository:

    git clone git@github.com:vlado-github/BoredGames.git
  2. Navigate to the Root Directory (BoredGames):

    cd BoredGames
  3. Start the Docker Containers:

    docker compose --env-file .env.local up --scale gameserver-silo=3 -d --force-recreate
  4. Open API documentation:

    Open your browser and navigate to http://localhost:5008/index.html
    

💻 Local Setup

BoredGames.Server

Important

Please ensure you have .NET SDK 8 installed on your system. If not, you can download them from the official Microsoft website: .NET.

Server side contains two parts:

  • BoredGames.Server.GameServer: a backend server for handling queueing, players actions, game logic and game state.
  • BoredGames.API: a REST API for clients to interact with the game server.

Build

  1. Run shell or cmd
  2. Position to source folder of solution (BoredGames/BoredGames.Server)
  3. Execute command: dotnet build

Run

  1. Run shell or cmd
  2. Position to source folder of solution (BoredGames/BoredGames.Server)
  3. Execute command: dotnet run --project BoredGames.Server.GameServer --launch-profile local
  4. Execute command: dotnet run --project BoredGames.API --launch-profile local
  5. Open swagger documentation in browser via url https://localhost:7075/index.html

BoredGames.Client

Important

Please ensure you have NodeJS and NPM installed on your system. If not, you can download them from the official NodeJS website: NodeJS.

Build

  1. Run shell or cmd
  2. Position to source folder of project (BoredGames/BoredGames.Client/BoredGames.Portal)
  3. Execute command: npm install

Run

  1. Run shell or cmd
  2. Position to source folder of project (BoredGames/BoredGames.Client/BoredGames.Portal)
  3. Execute command: npm run dev

About

BoredGames platform for hosting custom web-based games and games' backends.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors