No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
public
_typeface_js.
.buildpack
.gitignore
README.md
config.json
game.js
package.json
player.js
server.js
territory.js

README.md

Attrition

Toy / Interactive conceptual art in JavaScript, built with three.js and WebGL.

When you visit the world of Attrition, you are assigned standing armies in a few random places on the globe. Where you start is an accident of birth, if you will. Click on other countries (either in the sidebar, or on the globe) to select them. You have one action available, and that is to move troops around. At the end of each turn (5 seconds, watch the timer!) all armies (from different players) who happen to be in the same country eliminate each other one-for-one. We designed Attrition to be impersonal, boring, and zero-sum - much like modern warfare.

Unfortunately, our execution was time constrained, so this project is languishing in proof-of-concept stage with no further development anticipated.

Notes / Todo

We built this game roughly seven weeks into learning how to code, and there are a bunch of things that are not the greatest. In a perfect world we would fix some of these things:

  • the game is slow to load
    • compress moon images
    • minify production.js and maybe other js files
    • simplify some of the rendering code in /public/js
    • find a simpler way to represent country contour data (we are currently using a lot of lat-long coordinates
  • some tests would be nice :(
  • clumsy UI
    • add some explanatory tooltips
    • use tab to move between countries
  • as a commentary on modern conflict, the game really doesn't mean much without a social element i.e. chat feature
  • we also think it would be more interesting if armies don't magically vanish after their players have disconnected

Getting Started

This project is currently running at http://attrition.xianny.com. An older version (with different graphics) is at http://kopisusu.github.io/Globe/.

These instructions will get you a copy of the project up and running on your local machine.

Prerequisites

You'll need Node.js and an updated version of npm.

$ node --version
v7.6.0
$ npm -v
4.1.2

Installing

npm install

Running

node server.js

Built With

Authors

Acknowledgements

This project was built in our final weeks at Lighthouse Labs web development bootcamp. Many thanks to Don Burks for his mentorship, and the many great teaching assistants at Lighthouse for their help, encouragement, and inspiration.