   @addBackground(0, @level.visibleHeight - 290, e, .5)
 
 generator.defineElement 'cityStart', ->
-  e = Crafty.e('2D, WebGL, ImageWithEffects, Collision, SunBlock, Horizon')
-    .image('images/city-start.png').attr(z: -305)
+  e = Crafty.e('2D, WebGL, cityStart, Collision, SunBlock, Horizon')
+    .attr(z: -305)
     .colorDesaturation(Game.backgroundColor)
     .saturationGradient(.4, .4)
   e.collision([220, 155, 220, 20, 270, 20, 270, 0, 330, 0, 330, 155])

    y: 0

  assets: ->
    images: ['water-horizon.png', 'city.png', 'city-layer2.png']

  generate: ->
    super

    y: 0

  assets: ->
    sprites:
      'city-layer2.png':
        tile: 297
        tileh: 220
        map:
          cityLayer2: [0, 0]
      'city.png':
        tile: 402
        tileh: 270
        paddingY: 1
        map:
          city: [0, 0]
      'water-horizon.png':
        tile: 201
        tileh: 155
        map:
          waterHorizon: [0, 0]

  generate: ->
    super
