Skip to content
Game inspired by MIT and Cira Centre building hacks, for the desktop Chrome browser.
JavaScript TypeScript HTML
Branch: master
Clone or download
Pull request Compare This branch is 308 commits ahead, 2 commits behind github:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Play Here:

  • Chrome desktop browser works best.
  • Firefox works OK.
  • Untested on Safari.
  • Edge lags too much to be playable.



  • Megan McDuffee - Music
  • Alex Sengsoury - Building Model
  • Alisa Tana - Sprites
  • Anthony Villena - Design and Programming
  • AI is based on Yiyuan Lee's GA research
  • Sound FX are CC0 and acquired from 1, 2, 3, 4


Lighting was written for GitHub's Game Off 2016, where the theme was to write a game loosely based on "hacking, modding, and/or augmenting".

A popular real-life hack is the repurposing of office building lights to simulate low resolution displays. This game was inspired by two events that showcased this type of hack:

  • Building Design - Green Building, MIT, 2012
    • The building design, window lighting, and collapse animation came from this event.
    • There was no gameplay sound that I could tell from at this event, just the noise of the crowd, and I decided to keep it that way for the atmosphere of this game.
  • Gameplay Design - Cira Centre, Philadelpha, 2014
    • The idea of having two competing buildings whose lines cleared affected each other came from this event.
  • The idea of a crowd watching gathering, reacting, and then leaving came from videos of both events.


Install the latest gulp-cli if not already installed. This project was built with CLI version 1.2.2.

npm install gulpjs/gulp-cli -g

Run the default task to build the dist directory and start a server for it.


The dist directory can be removed with the clean task

gulp clean


  • gulp - Trying something new after having using grunt with my previous project.
  • three.js - This is my first 3D game.
  • tween.js - Easing functions for camera, NPC travel, light strobing, etc...
  • howler.js - I had a good experience using this with mazing so I used it again.

Original Plan

The original plan was to have random office lights on. As you cleared the rows they were on, the lights would go out and people would exit the building and gather together to see what was going on. Unfortunately, during playtesting it became apparent that having random lights scattered throughout the board was really difficult to fit shapes around. That's when I changed the gameplay to what they did at the Cira Centre.

You can’t perform that action at this time.