battlecraft

Fully distributed multiplayer browser game.
25 Oct 2019181

battlecraft

This repository is not longer maintained. I am working on the next version of battlecraft to be released at a later date. I hope to upgrade a number of features about the game (both internal and external) but keep the core gameplay intact.

battlecraft is a simple multiplayer browser-based game built with erlang and elm. It is an implementation of a distributed game engine. The objective of the game is to spawn units to destroy your opponents base.

battlecraft

to begin a game simply create an appropriately sized game from the games page (/games) and share the game url with your friends.

Controls

Spawn units with the standard wasd keys and use the arrow keys to move the view.

Install

Requirements

  • erlang otp 18+
  • rebar3
  • node + npm

Instructions

git clone https://github.com/jbreindel/battlecraft
cd battlecraft
rebar3 release
_build/default/rel/bc/bin/bc start

Developing

battlecraft is built using rebar3, and gulp. I also highly recommend using observer to inspect erlang at runtime. Any rebar3 commands and usage can also be used to debug, and open shells to battlecraft.

Motivations

I wrote battlecraft to understand how to build a complete game and game engine. I wanted to divorce battlecraft from the traditional game loop and model the AI entities in an asynchronous system.

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Thank You

Battlecraft would have not been possible without the assets from opengameart.org and the tiled map editor.