diff --git a/assets/game.levels.json b/assets/game.levels.json
index ee4dc60..9751f71 100644
--- a/assets/game.levels.json
+++ b/assets/game.levels.json
@@ -306,7 +306,7 @@
       ]
     },
     {
-      "comment": "Melting platform tutorial",
+      "comment": "Melty platform tutorial",
       "characters": [
         {
           "pos": [
@@ -384,6 +384,389 @@
     },
     {
       "comment": "First puzzle",
+      "characters": [
+        {
+          "pos": [
+            -96.0,
+            472.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            -264.0,
+            472.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            648.0,
+            600.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.7,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            648.0,
+            -8.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            0.3,
+            1.0
+          ]
+        }
+      ],
+      "platforms": [
+        {
+          "pos": [
+            -168.0,
+            424.0
+          ],
+          "size": [
+            464.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            432.0,
+            424.0
+          ],
+          "size": [
+            352.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            156.0,
+            152.0
+          ],
+          "size": [
+            312.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            352.0,
+            -208.0
+          ],
+          "size": [
+            176.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            484.0,
+            -56.0
+          ],
+          "size": [
+            104.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            360.0,
+            64.0
+          ],
+          "size": [
+            96.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            64.0,
+            -272.0
+          ],
+          "size": [
+            320.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            600.0,
+            716.0
+          ],
+          "size": [
+            16.0,
+            312.0
+          ]
+        },
+        {
+          "pos": [
+            696.0,
+            412.0
+          ],
+          "size": [
+            16.0,
+            920.0
+          ]
+        },
+        {
+          "pos": [
+            600.0,
+            232.0
+          ],
+          "size": [
+            16.0,
+            368.0
+          ]
+        },
+        {
+          "pos": [
+            600.0,
+            -8.0
+          ],
+          "size": [
+            16.0,
+            80.0
+          ]
+        },
+        {
+          "pos": [
+            576.0,
+            56.0
+          ],
+          "size": [
+            32.0,
+            16.0
+          ]
+        },
+        {
+          "pos": [
+            564.0,
+            40.0
+          ],
+          "size": [
+            8.0,
+            16.0
+          ]
+        }
+      ],
+      "absorbing_filters": [
+        {
+          "pos": [
+            56.0,
+            492.0
+          ],
+          "size": [
+            16.0,
+            120.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            56.0,
+            628.0
+          ],
+          "size": [
+            16.0,
+            152.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            264.0,
+            492.0
+          ],
+          "size": [
+            16.0,
+            120.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            264.0,
+            628.0
+          ],
+          "size": [
+            16.0,
+            152.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            -48.0,
+            152.0
+          ],
+          "size": [
+            96.0,
+            16.0
+          ],
+          "color": [
+            0.0,
+            0.0,
+            1.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            600.0,
+            488.0
+          ],
+          "size": [
+            16.0,
+            112.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            1.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            524.0,
+            556.0
+          ],
+          "size": [
+            56.0,
+            8.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            1.0,
+            1.0
+          ]
+        }
+      ],
+      "rotating_filters": [
+        {
+          "pos": [
+            -48.0,
+            40.0
+          ],
+          "angle": -120.0
+        }
+      ],
+      "melty_platforms": [
+        {
+          "pos": [
+            112.0,
+            424.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            208.0,
+            424.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            208.0,
+            288.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            600.0,
+            552.0
+          ],
+          "color": [
+            0.0,
+            1.0,
+            1.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            616.0,
+            40.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        },
+        {
+          "pos": [
+            584.0,
+            -56.0
+          ],
+          "color": [
+            1.0,
+            0.0,
+            0.0,
+            1.0
+          ]
+        }
+      ],
+      "texts": []
+    },
+    {
+      "comment": "Second puzzle",
       "characters": [
         {
           "pos": [