etaque/tacks

Real-time multiplayer sailing game, in your browser

Elm

134

148 commits

updated Jun 10, 2017

See the code

README

Tacks

A sailing race simulator, multiplayer & real-time, in you browser.

Server app is powered by Scala 2.11 with Play 2.3, Slick 3, Akka for websockets orchestrations and uses PostgreSQL for database. No classes except actors, code is written in a functional style.

Game client is an Elm app, an statically-typed functional language that compiles to Javascript.

Architecture

Server area:

  • Players sync
  • Race management

Done withing Akka actors, communicating with the client through Websockets and JSON API. No rendering from the server.

Client area:

  • Single Page App
  • Game rendering (SVG)
  • Game logic (input handling, player moves, etc)

How to install

Server (Play app):

Client (Elm app with JS boot and SASS stylesheets):

  • cd client
  • npm install
  • npm start
actors
akka
elm
game
websockets

Contributors

etaque

99 commits

ornicar

36 commits

erwan

12 commits

etaque/tacks

Real-time multiplayer sailing game, in your browser

Elm

134

148 commits

updated Jun 10, 2017

See the code

README

Tacks

A sailing race simulator, multiplayer & real-time, in you browser.

Server app is powered by Scala 2.11 with Play 2.3, Slick 3, Akka for websockets orchestrations and uses PostgreSQL for database. No classes except actors, code is written in a functional style.

Game client is an Elm app, an statically-typed functional language that compiles to Javascript.

Architecture

Server area:

  • Players sync
  • Race management

Done withing Akka actors, communicating with the client through Websockets and JSON API. No rendering from the server.

Client area:

  • Single Page App
  • Game rendering (SVG)
  • Game logic (input handling, player moves, etc)

How to install

Server (Play app):

Client (Elm app with JS boot and SASS stylesheets):

  • cd client
  • npm install
  • npm start
actors
akka
elm
game
websockets

Contributors

etaque

99 commits

ornicar

36 commits

erwan

12 commits

Languages

Elm

62.1%

Scala

23.1%

CSS

13.8%