       gs.addEntity( new shapeClass(id: data.id, x:data.x, y:data.y, rotation: data.rotation, color: data.color) )
     for block in info.blocks
       Tetris.blocks.add(new Tetris.Block(x:block.x, y:block.y), false)
-    gs.addEntity(Tetris.Shape.randomShape(x:Tetris.initialShapeOffset(), y:0, color: {r:0, g:0, b:0}, owned: true))
+    gs.addEntity(Tetris.Shape.randomShape(x:Tetris.initialShapeOffset(), y:0, color: Tetris.playerBlockColor, owned: true))
 
   channel.bind 'refreshLines', (blocks) ->
     Tetris.blocks.reset()

      for id, shape of @shapes
        for i in [0,1,2,3]
          block = shape.blockPosition(i)
          @drawBlock(c, block.x, block.y, '#FF6FCF')
    drawBlocks: (c) ->
      @drawBlock(c, block.x, block.y, "#FF0080") for block in @blocks
    drawBlock: (c, x, y, color) ->
      c.fillStyle = color
      x = @x + (@gridSize * x)

        return false if x >= Tetris.levelSize
        return false if y >= Tetris.viewport.y
      return true
    
    colorString: ->
      alpha = if @owned then 1 else 0.4
      if @color.r?
        "rgba(#{@color.r},#{@color.g},#{@color.b},#{alpha})"
      else
        "hsla(#{@color.h},#{@color.s},#{@color.l},#{alpha})"
    
    draw: (c) ->
      drawBlock = (blockDef) =>
        x = (@x*Tetris.gridSize) + (blockDef[0]*Tetris.gridSize) + 1
        y = (@y*Tetris.gridSize) + (blockDef[1]*Tetris.gridSize) + 1
        vs = Tetris.viewportSpace(x,y)
        return unless vs.visible
        c.fillStyle = @colorString()
        c.fillRect(vs.x, vs.y, Tetris.blockSize, Tetris.blockSize)
      definition = @shapeDefinition(this.rotation)
      drawBlock(definition[0])
