anchor.diff:  
       Q.rooms = {
           dimensions: { w: 2, h:  2 },
  -        items: ["room_0.tmx", "room_1.tmx", "room_2.tmx", "room_3.tmx"]
  +        items: ['<%= asset_path("room_0.tmx") %>', '<%= asset_path("room_1.tmx") %>', '<%= asset_path("room_2.tmx") %>', '<%= asset_path("room_3.tmx") %>']
       };
   
       Q.state.damagePlayer = function (amount) {
  -        this.set("hp", this.p.hp - amount);
  +        this.set("damage", this.p.damage + amount);
  +        Q.state.checkPlayerDeath();
  +    };
  +
  +    Q.state.checkPlayerDeath = function () {
  +        console.log("Checking player death...");
  +        if (this.p.hp > this.p.damage) return;
  +
  +        /* player is dead */
  +        Q.stageScene("endGame",1, { label: "Game Over" }); 
  +        collision.obj.destroy();
       };
   
       /* this is a little weird: the room list is an array with
  
positive.code: 
      Q.Sprite.extend("Heart", {
          init: function (p) {
              p.asset  = "full-heart.png";
              p.damage = 0;
  
              this._super(p);
  
negative.code:         };
  
          stage.p.hearts = hearts;
          /* when the player loses hearts we 
           * do this */
          this.updateHearts = function (hp) {
              var length = stage.p.hearts.length;
  
  