Home

Awesome

Diamondback Railroad

NOTE: This repo has been archived.

Demonstrates a game engine for a visually-pleasing 2-D game.

Purpose

A group of us is developing this game as an exercise in learning Elm. We have evolved to a specific purpose for this game:

Implement a non-trivial 2-D board game to develop our skills in using Elm to drive svg and interact w/ HTML in general.

To Run the Game

http://oc-elixir-elm.github.io

Installation Assumption

  1. Mac OSX (Modify installation instructions for Windows and Linux)

Installation

  1. Install Elm 0.17.1
  2. Run following commands in your terminal:
cd <your elm projects work directory>
git clone git@github.com:oc-elixir-elm/diamondback-railroad.git
cd diamondback-railroad
elm make
elm reactor

"Playing" the Game

Remember, this is simply showing off the game engine that generates the visualations.

  1. Browse http://localhost:8000/MainBoard.elm
  2. Move the numbered chain around by typing on the arrow keys.

Here's a "game" challenge if you want one:

  1. Traverse all of the flashing perimeter squares (they will stop flashing as you traverse them), then...
  2. Move the chain back completely onto the grid inside the perimeter squares.
  3. Don't trap yourself by getting yourself into a situation where you have nowhere to go but backwards. Guess what? You can't go backwards.
  4. If you trap yourself, you have to reload the game by refreshing the page.
  5. Your score is the number of move counts. A lower score is better.

Hint: you cannot tranverse all of the permeter squares in one try because you will trap yourself. You have to "dodge" the tail of the chain you dragging behind.

Have fun!

Status

We've implemented most of the game interaction infrastructure including

Tested on:

There is lots still not done:

The Wiki

We're slowly growing the wiki; feel free to take a look.

Contributing

Come learn Elm with us and contribute your code and ideas. Until we develop our own guidelines, we're loosely following the Contributin to Elm document.

Credits