{ "levels": [ { "comment": "Movement tutorial", "characters": [ { "pos": [ 0.0, -192.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] }, { "pos": [ -128.0, -192.0 ], "color": [ 0.0, 1.0, 0.0, 1.0 ] }, { "pos": [ 128.0, -192.0 ], "color": [ 0.0, 0.0, 1.0, 1.0 ] } ], "platforms": [ { "pos": [ 0.0, -256.0 ], "size": [ 800.0, 16.0 ] } ], "absorbing_filters": [], "rotating_filters": [], "melty_platforms": [], "texts": [ { "pos": [ 0.0, 64.0 ], "font_size": 32.0, "text": "Combine the colors\nto synthetize a white light.\nUse arrows to move." } ] }, { "comment": "Switch tutorial", "characters": [ { "pos": [ 0.0, -192.0 ], "color": [ 0.0, 1.0, 0.0, 1.0 ] }, { "pos": [ -128.0, -192.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] }, { "pos": [ 128.0, 320.0 ], "color": [ 0.0, 0.0, 1.0, 1.0 ] } ], "platforms": [ { "pos": [ 0.0, -256.0 ], "size": [ 800.0, 16.0 ] }, { "pos": [ 128.0, 256.0 ], "size": [ 96.0, 16.0 ] } ], "absorbing_filters": [], "rotating_filters": [], "melty_platforms": [], "texts": [ { "pos": [ 0.0, 0.0 ], "font_size": 32.0, "text": "Press Tab to switch." } ] }, { "comment": "Absorbing filter tutorial", "characters": [ { "pos": [ -160.0, -192.0 ], "color": [ 1.0, 0.64, 0.0, 1.0 ] }, { "pos": [ 160.0, -192.0 ], "color": [ 0.0, 0.37, 1.0, 1.0 ] } ], "platforms": [ { "pos": [ 0.0, -256.0 ], "size": [ 800.0, 16.0 ] }, { "pos": [ 0.0, -128.0 ], "size": [ 800.0, 16.0 ] } ], "absorbing_filters": [ { "pos": [ 0.0, -192.0 ], "size": [ 16.0, 112.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] } ], "rotating_filters": [], "melty_platforms": [], "texts": [ { "pos": [ 0.0, 0.0 ], "font_size": 32.0, "text": "This filter absorbs light." }, { "pos": [ 0.0, -64.0 ], "font_size": 32.0, "text": "Press R to reset." } ] }, { "comment": "Rotating filter tutorial", "characters": [ { "pos": [ 0.0, -192.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] }, { "pos": [ -128.0, -192.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] }, { "pos": [ 128.0, -192.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] } ], "platforms": [ { "pos": [ 0.0, -256.0 ], "size": [ 800.0, 16.0 ] } ], "absorbing_filters": [], "rotating_filters": [ { "pos": [ 0.0, -64.0 ], "angle": 120.0 } ], "melty_platforms": [], "texts": [ { "pos": [ 0.0, 0.0 ], "font_size": 32.0, "text": "Let's rotate the hue!\nPress Space to jump." } ] }, { "comment": "Melty platform tutorial", "characters": [ { "pos": [ -304.0, -208.0 ], "color": [ 0.7, 0.7, 0.7, 1.0 ] }, { "pos": [ 304.0, -208.0 ], "color": [ 0.3, 0.3, 0.3, 1.0 ] } ], "platforms": [ { "pos": [ -304.0, -256.0 ], "size": [ 192.0, 16.0 ] }, { "pos": [ 304.0, -256.0 ], "size": [ 192.0, 16.0 ] } ], "absorbing_filters": [], "rotating_filters": [], "melty_platforms": [ { "pos": [ 0.0, -256.0 ], "color": [ 0.5, 0.5, 0.5, 1.0 ] } ], "texts": [ { "pos": [ -304.0, -64.0 ], "font_size": 32.0, "text": "Too much light\ncauses some platforms to melt." } ] }, { "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": [ 184.0, 168.0 ], "color": [ 0.85, 0.5, 0.0, 1.0 ] }, { "pos": [ -184.0, 168.0 ], "color": [ 0.0, 0.5, 0.1, 1.0 ] }, { "pos": [ -1376.0, -184.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] }, { "pos": [ -1512.0, -184.0 ], "color": [ 0.0, 0.0, 0.9, 1.0 ] }, { "pos": [ 0.0, 368.0 ], "color": [ 0.15, 0.0, 0.5, 1.0 ] } ], "platforms": [ { "pos": [ -12.0, -264.0 ], "size": [ 456.0, 16.0 ] }, { "pos": [ -148.0, 120.0 ], "size": [ 200.0, 16.0 ] }, { "pos": [ 148.0, 120.0 ], "size": [ 200.0, 16.0 ] }, { "pos": [ -1336.0, -256.0 ], "size": [ 576.0, 16.0 ] }, { "pos": [ -240.0, 292.0 ], "size": [ 16.0, 328.0 ] }, { "pos": [ 240.0, 292.0 ], "size": [ 16.0, 328.0 ] }, { "pos": [ 0.0, 20.0 ], "size": [ 176.0, 24.0 ] }, { "pos": [ -200.0, 60.0 ], "size": [ 16.0, 104.0 ] }, { "pos": [ 200.0, 60.0 ], "size": [ 16.0, 104.0 ] }, { "pos": [ 0.0, 320.0 ], "size": [ 96.0, 16.0 ] } ], "absorbing_filters": [ { "pos": [ -1176.0, -96.0 ], "size": [ 16.0, 304.0 ], "color": [ 0.0, 0.5, 0.5, 1.0 ] }, { "pos": [ -140.0, 16.0 ], "size": [ 104.0, 16.0 ], "color": [ 0.6, 0.0, 0.0, 1.0 ] }, { "pos": [ 140.0, 16.0 ], "size": [ 104.0, 16.0 ], "color": [ 0.0, 1.0, 0.0, 1.0 ] } ], "rotating_filters": [], "melty_platforms": [ { "pos": [ 0.0, 120.0 ], "color": [ 0.7, 0.7, 0.0, 1.0 ] }, { "pos": [ -616.0, -256.0 ], "color": [ 0.45, 0.0, 0.0, 1.0 ] }, { "pos": [ -856.0, -256.0 ], "color": [ 0.0, 0.0, 0.5, 1.0 ] }, { "pos": [ -400.0, -256.0 ], "color": [ 0.0, 0.0, 0.6, 1.0 ] } ], "texts": [] }, { "comment": "Game over", "characters": [ { "pos": [ 0.0, -64.0 ], "color": [ 1.0, 0.0, 0.0, 1.0 ] } ], "platforms": [ { "pos": [ 0.0, -256.0 ], "size": [ 800.0, 16.0 ] } ], "absorbing_filters": [], "rotating_filters": [], "melty_platforms": [], "texts": [ { "pos": [ 0.0, 128.0 ], "font_size": 48.0, "text": "Thank you for playing!" }, { "pos": [ 0.0, 0.0 ], "font_size": 32.0, "text": "There is no more light to combine." } ] } ] }