this.pvx * 10, this.pvy * 10, this.tx-this.ppx, this.ty-this.ppy, this.tx2-this.ppx, this.ty2-this.ppy];
        return s;
      },
      sampleNextState: function(a) {

        // world dynamics
        this.ppx += this.pvx; // newton
        this.ppy += this.pvy;
        this.pvx *= 0.95; // damping
        this.pvy *= 0.95;

        // agent action influences puck velocity
        var accel = 0.002;
        if(a === 0) this.pvx -= accel;
        if(a === 1) this.pvx += accel;
        if(a === 2) this.pvy