/enka

Primary LanguageJavaScriptMIT LicenseMIT

##What is Enka?

A tile matching game, brought to you by Andre Deutmeyer, Keith Grout, and the Famo.us framework.

Play the game here: http://enkaapp.github.io/enka/.

The Enka app is a tile game, that challenges users to match the colors of currently placed tiles with the colors of upcoming tiles. It is simple enough to draw in gamers from all ages, but challenging enough to keep all skill levels occupied. If there are 3 or more color matches, the adjoining tiles to the most recently placed tile are deleted. Tiles must be placed adjacent to the last tile placed. The game is lost when there are no more positions available to move (no more unoccopied game positions).

How is our app structured?

app/
  assets/
    fonts/ 
      * fonts contains fonts and icons from the fontAwesome toolkit
    images/
      * images contains custom images for the app and level layouts
    styles/
      * styles are pre-processed using Less
  content/
    * famo.us logo
  lib/
    * the Famo.us frameworks' library and polyfills
    * Handlebars templating
    * es6 promises
    * localForage
    * require
    * lodash
  src/
    * models
    * views and templates
    * controllers
  styles/
    * app.css
  index.html

What is Famo.us

Famo.us is the only JavaScript framework that includes an open source 3D layout engine fully integrated with a 3D physics animation engine that can render to DOM, Canvas, or WebGL, helping users create smooth, complex UI's for any screen.

##Dependencies It is actually quite simple really

First make sure you have node.js installed... without that nothing works! You can either install it with your favorite package manager or with the installer found on nodejs.org.

This project relies on grunt-cli, and bower to do all the heavy lifting for you

npm install -g grunt-cli bower

##Getting Started

npm install && bower install

That's it!!!

##Running the Development Server

Simply run grunt serve and you will start a local development server and open Chrome. Watch tasks will be running, and your browser will be automatically refreshed whenever a file in the repo changes.

You can run serve with --port=9001 to manually pick the port that the server will run on

This option is currently borked... You can also change the port livereload is running on with the option --livereload=8675309 ... if you think you can fix it check out the issue on github

If you would like to have your server be accessible to other devices on your local machine use the option --hostname=0.0.0.0

##Production

If you would like to compile your project for distribution simply run the command grunt build to build dist/ which will be a deployment ready version of your app. Preprocessing will be applied to html, all js will be concatenated and minified. All js / css assets will also have their name prepended with a hash for cache busting.

Contributing

All contributions are welcome! The simplest way to show your support for this project is to "star" it.

##License ISC

Release History

  • 2014-07-07 v0.1.0 First game release. Basic gameplay implemented. Design done through Stage 1.
  • 2014-06-13 v0.0.1 Generated by the Yeoman Generator for Famo.us