shian / bqs

Erlang implementation of the BrowserQuest server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Backend to BrowserQuest (http://browserquest.mozilla.org/) in Erlang/OTP. Build Status

We make use of Cowboy websocket handlers for communication with the BrowserQuest client. No modifications were done to the BrowserQuest Client except for ip configuration. The goal is to build a more scalable backend for websocket-based games.

Features: * Player login and movement works. Map collision detection and player start position generation. * Basic monster spawning and fighting. * Different architecture compared to original nodeJS backend; we hope to add more scalability features later on. The architecture is event-based and players, monsters and items are mapped as Erlang processes.

Future: * Support item drops and static NPCs. * Proper supervisor tree.

Installation: Backend:

  1. git clone git@github.com:Spawnfest2012/win.git
  2. cd win
  3. ./rebar get-deps
  4. ./rebar compile
  5. ./init.sh
  6. Launch a new terminal
  7. Start Client (see below)

Client:

  1. git clone git@github.com:Gustav-Simonsson/BrowserQuest.git
  2. Launch backend.
  3. Point browser to BrowserQuest/client/index.html
  4. If you cannot connect, check the config files in BrowserQuest/client/config for host/port settings. Default port in backend is set to 8000 but can be changed in the app.src

The original BrowserQuest repo is at https://github.com/mozilla/BrowserQuest

About

Erlang implementation of the BrowserQuest server


Languages

Language:Erlang 94.8%Language:Makefile 2.7%Language:HTML 2.3%Language:Shell 0.2%