1088 lines
No EOL
17 KiB
JSON
1088 lines
No EOL
17 KiB
JSON
{
|
|
"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."
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |