Skip to content

kratos2377/vortex

Repository files navigation

Vortex

Vortex is a multiplayer platform for turn-based games such as Chess, Scribble, Monopoly, and more.

Note: Currently, only Chess is supported. Additional games will be added in future updates.

🧩 Features

👥 Multiplayer Gameplay

  • Play turn-based games with friends or matched players.
  • Friends on your list can spectate your games, enhancing community engagement.

🎮 Game Types

  • Staked Games

    • Players place a bet on their victory.
    • Spectators can also place bets within the first 5 minutes of the match.
  • Normal Games

    • Function exactly like staked games, but without any monetary bets.

🕹 Game Modes

  • Create a Lobby

    • Start a private lobby and invite friends to play.
    • Currently supports 2 players (since only Chess is available).
  • Find a Match

    • Automatically match with random players.
    • Staked players are only matched with other staked players.

🔁 Replay Feature

  • Rewatch completed matches at any time.

    • Normal Games: Restart automatically.
    • Staked Games: Require players to place new bets to restart.

Note: Every match (including replays) is treated as a unique, separate entity.
Bets are evaluated independently for each instance.

Project Demo

Vortex Project Demo

Project Architecture

Architecture Design (Lucid Chart)

Repo Links

Codebase Description
Vortex Contains Axum APIs for Auth and other services for necessary processing
Vortex-Client Tauri Client Used to Play/Join Games as Players or specate any games
Vortex-Mobile React Native App to scan QR codes and stake in the game and check status of any previous bets
Vortex-Pub-Sub Elixir Service to broadcast realtime events to players and spectators
Vortex-Exchange Smart Contracts made using Anchor framework so that players/spectators can place their bets
Executor-Bots Bots which consume game result events and settle bets for the players
Vortex-Matchmaker Matchmaking Service which matches any two players with similar ratings

This Repo Structure

Codebase Description
messier Axum API
cerotis Consume Specific Kafka Events and process
ton Entity Models
migration Migration Logic
orion Common Models for mongodb , WS and some kafka events
nebula API to Stake In Games and find status of those stakes + APIs for DEX as well
nova Redis Key Subscriber and Game bet Event Publisher

Backend Explaination and Documentation

Backend Explanantion | Backend Documentation

Messier Documentation

Certois Documentation

Nebula Documentation

Nova Documentation

Vortex-Pub-Sub Documentation

Vortex Matchmaker Documentation

Executor-Bots Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published