Skip to content

gamezop/garuda

Repository files navigation

garuda logo

Garuda

A multiplayer game server framework for phoenix.

Build and run game servers intuitively.

Garuda CI

Garuda is an Authoritative Multiplayer Game Server for Phoenix framework

The project focuses on providing a game framework system, matchmaking, real-time game-session monitoring system and ease of usage both on server-side and client-side, by leveraging the powerful phoenix framework.

The goal of the framework is to be have a standard framework & matchmaking solution for all type of games. BEAM directly maps the use cases of a typical game server. So Let's build and run game servers, in a much more intuitive way.

Current feature list.

  • WebSocket-based communication (Will support more transports layer in future, thanks to phoenix)

  • Simple API in the server-side and client-side.

  • Game specific module behaviours.

  • Matchmaking clients into game sessions.

  • Realtime interactive game session monitoring.

Realtime monitoring

Client Side Support.

Garuda ships with a javascript client garudajs, which allows easy communication with the server (This also leverages phoenixjs).

Installation

def  deps  do
  [
    {:garuda, "~> 0.2.5"}
  ]
end

Demo

A multiplayer Bingo game is developed, to showcase the Garuda. try the game

Bingo client source code

Dingo (bingo server, using Garuda) source code

Documentation

The docs can be found at https://hexdocs.pm/garuda.

Collaborators

ghostdsb, Brotchu