Created
May 12, 2022 00:25
-
-
Save pancelor/992118856e19192c33ed42bc3a3fadf8 to your computer and use it in GitHub Desktop.
Like a Hot Knife Through Butter v0.5 (Puzzlescript Plus Script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title Like a Hot Knife Through Butter v0.5 | |
author pancelor | |
homepage pancelor.com | |
background_color #feeb3e | |
text_color #754665 | |
( --------------------- ( | |
hello! how to edit: | |
- ctrl-click on any level to jump there instantly | |
- open the editor (E) | |
- place/remove some butter/bread/knives/walls/etc | |
- **ctrl-click on the level in the console - this will reload the level, which correctly joins the bread together** | |
- send me the text version of your level! | |
) --------------------- ) | |
case_sensitive | |
level_select | |
continue_is_level_select | |
( verbose_logging ) | |
noaction | |
run_rules_on_level_start | |
again_interval 0.04 | |
realtime_interval 1.25 | |
mouse_left m_down | |
mouse_drag m_drag | |
( mouse_up m_up ) | |
======== | |
objects | |
======== | |
butter_a0 | |
#feeb3e | |
.000. | |
00000 | |
00000 | |
00000 | |
.000. | |
vbutter_shine | |
#fffef3 | |
..... | |
..00. | |
..00. | |
..... | |
..... | |
wall | |
#754665 #49333b #49333b #49333b #49333b #49333b | |
00010 | |
12111 | |
01000 | |
13115 | |
00040 | |
vwall1 copy:wall | |
transparent transparent #754665 transparent transparent transparent | |
vwall2 copy:wall | |
transparent transparent transparent #754665 transparent transparent | |
vwall3 copy:wall | |
transparent transparent transparent transparent #754665 transparent | |
vwall4 copy:wall | |
transparent transparent transparent transparent transparent #754665 | |
bread | |
#894304 #d7ab69 | |
.000. | |
00010 | |
00000 | |
01000 | |
.000. | |
background | |
#cccccc #c0c0c0 | |
11111 | |
10000 | |
10000 | |
10000 | |
10000 | |
vtrackup | |
#dfdbbc #d6d3ad | |
.111. | |
.000. | |
.000. | |
..... | |
..... | |
vtrackdown | |
#dfdbbc #d6d3ad | |
..... | |
..... | |
.000. | |
.000. | |
.000. | |
vtrackleft | |
#dfdbbc #d6d3ad | |
..... | |
100.. | |
100.. | |
100.. | |
..... | |
vtrackright | |
#dfdbbc #d6d3ad | |
..... | |
..000 | |
..000 | |
..000 | |
..... | |
cratestill | |
transparent | |
crateup | |
transparent | |
cratedown | |
transparent | |
crateleft | |
transparent | |
crateright | |
transparent | |
( cratestill ) | |
( red transparent ) | |
( .000. ) | |
( 01110 ) | |
( 01.10 ) | |
( 01110 ) | |
( .000. ) | |
( crateup ) | |
( red black ) | |
( .000. ) | |
( 0.1.0 ) | |
( 01.10 ) | |
( 0...0 ) | |
( .000. ) | |
( cratedown ) | |
( red black ) | |
( .000. ) | |
( 0...0 ) | |
( 01.10 ) | |
( 0.1.0 ) | |
( .000. ) | |
( crateleft ) | |
( red black ) | |
( .000. ) | |
( 0.1.0 ) | |
( 01..0 ) | |
( 0.1.0 ) | |
( .000. ) | |
( crateright ) | |
( red black ) | |
( .000. ) | |
( 0.1.0 ) | |
( 0..10 ) | |
( 0.1.0 ) | |
( .000. ) | |
knifeleft | |
#646469 #646469 #130e24 transparent | |
.333. | |
31103 | |
10002 | |
33333 | |
..... | |
kniferight | |
#646469 #646469 #130e24 transparent | |
..... | |
33333 | |
20001 | |
30113 | |
.333. | |
knifeup | |
#646469 #646469 #130e24 transparent | |
.313. | |
.3013 | |
.3013 | |
.3003 | |
.323. | |
knifedown | |
#646469 #646469 #130e24 transparent | |
.323. | |
3003. | |
3103. | |
3103. | |
.313. | |
heat | |
transparent | |
vheatleft1 copy:knifeleft | |
#ff004d #ff004d transparent transparent | |
vheatright1 copy:kniferight | |
#ff004d #ff004d transparent transparent | |
vheatup1 copy:knifeup | |
#ff004d #ff004d transparent transparent | |
vheatdown1 copy:knifedown | |
#ff004d #ff004d transparent transparent | |
vheatleft2 copy:knifeleft | |
#ebebf5 #ebebf5 transparent #ff004d | |
vheatright2 copy:kniferight | |
#ebebf5 #ebebf5 transparent #ff004d | |
vheatup2 copy:knifeup | |
#ebebf5 #ebebf5 transparent #ff004d | |
vheatdown2 copy:knifedown | |
#ebebf5 #ebebf5 transparent #ff004d | |
viscera1 | |
#894304 #d7ab69 | |
..... | |
..... | |
....1 | |
..... | |
.0... | |
viscera2 | |
#894304 #d7ab69 | |
..... | |
...0. | |
..... | |
..... | |
....0 | |
viscera3 | |
#894304 #d7ab69 | |
..... | |
.0... | |
..... | |
0.... | |
..... | |
viscera4 | |
#894304 #d7ab69 | |
.1... | |
..... | |
..... | |
...0. | |
..... | |
viscera5 | |
#894304 #d7ab69 | |
....0 | |
..... | |
1.... | |
..... | |
..... | |
viscera6 | |
#894304 #d7ab69 | |
..... | |
...0. | |
..... | |
....0 | |
..1.. | |
( m_down ) | |
( transparent ) | |
( m_drag ) | |
( transparent ) | |
( m_up ) | |
( transparent ) | |
m_down | |
green | |
.00.. | |
..0.. | |
..0.. | |
..0.. | |
.000. | |
m_drag | |
green | |
..00. | |
.0..0 | |
...0. | |
..0.. | |
.0000 | |
m_up | |
green | |
.00.. | |
...0. | |
.00.. | |
...0. | |
.00.. | |
m_prev | |
transparent | |
( red ) | |
( ..... ) | |
( ..0.. ) | |
( .000. ) | |
( ..0.. ) | |
( ..... ) | |
temp_cut | |
green | |
temp_heat | |
green | |
temp_nostarted | |
green | |
temp_nosave | |
green | |
temp_hitwall | |
green | |
realtime | |
transparent | |
started | |
transparent | |
winning | |
transparent | |
glueup | |
transparent | |
gluedown | |
transparent | |
glueleft | |
transparent | |
glueright | |
transparent | |
vbutter_glueup_a0 | |
#feeb3e transparent | |
0.1.0 | |
..... | |
..... | |
..... | |
..... | |
vbutter_gluedown_a0 | |
#feeb3e transparent | |
..... | |
..... | |
..... | |
..... | |
0.1.0 | |
vbutter_glueleft_a0 | |
#feeb3e transparent | |
0.... | |
..... | |
1.... | |
..... | |
0.... | |
vbutter_glueright_a0 | |
#feeb3e transparent | |
....0 | |
..... | |
....1 | |
..... | |
....0 | |
vbread_glueup copy:vbutter_glueup_a0 | |
#894304 #d7ab69 | |
vbread_gluedown copy:vbutter_gluedown_a0 | |
#894304 #d7ab69 | |
vbread_glueleft copy:vbutter_glueleft_a0 | |
#894304 #d7ab69 | |
vbread_glueright copy:vbutter_glueright_a0 | |
#894304 #d7ab69 | |
vbutter_plopup | |
#feeb3e | |
..... | |
..... | |
..... | |
..... | |
00000 | |
vbutter_plopdown | |
#feeb3e | |
00000 | |
..... | |
..... | |
..... | |
..... | |
vbutter_plopleft | |
#feeb3e | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
vbutter_plopright | |
#feeb3e | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
butter_aup | |
#feeb3e | |
00000 | |
00000 | |
00000 | |
.000. | |
..... | |
butter_adown | |
#feeb3e | |
..... | |
.000. | |
00000 | |
00000 | |
00000 | |
butter_aleft | |
#feeb3e | |
000.. | |
0000. | |
0000. | |
0000. | |
000.. | |
butter_aright | |
#feeb3e | |
..000 | |
.0000 | |
.0000 | |
.0000 | |
..000 | |
vbutter_glueup_aup | |
#feeb3e transparent transparent transparent | |
.3.2. | |
1...1 | |
..... | |
..... | |
..... | |
vbutter_glueup_adown copy:vbutter_glueup_aup | |
transparent #feeb3e transparent transparent | |
vbutter_glueup_aleft copy:vbutter_glueup_aup | |
transparent transparent #feeb3e transparent | |
vbutter_glueup_aright copy:vbutter_glueup_aup | |
transparent transparent transparent #feeb3e | |
vbutter_gluedown_aup | |
#feeb3e transparent transparent transparent | |
..... | |
..... | |
..... | |
0...0 | |
.3.2. | |
vbutter_gluedown_adown copy:vbutter_gluedown_aup | |
transparent #feeb3e transparent transparent | |
vbutter_gluedown_aleft copy:vbutter_gluedown_aup | |
transparent transparent #feeb3e transparent | |
vbutter_gluedown_aright copy:vbutter_gluedown_aup | |
transparent transparent transparent #feeb3e | |
vbutter_glueleft_aup | |
#feeb3e transparent transparent transparent | |
.3... | |
1.... | |
..... | |
0.... | |
.3... | |
vbutter_glueleft_adown copy:vbutter_glueleft_aup | |
transparent #feeb3e transparent transparent | |
vbutter_glueleft_aleft copy:vbutter_glueleft_aup | |
transparent transparent #feeb3e transparent | |
vbutter_glueleft_aright copy:vbutter_glueleft_aup | |
transparent transparent transparent #feeb3e | |
vbutter_glueright_aup | |
#feeb3e transparent transparent transparent | |
...2. | |
....1 | |
..... | |
....0 | |
...2. | |
vbutter_glueright_adown copy:vbutter_glueright_aup | |
transparent #feeb3e transparent transparent | |
vbutter_glueright_aleft copy:vbutter_glueright_aup | |
transparent transparent #feeb3e transparent | |
vbutter_glueright_aright copy:vbutter_glueright_aup | |
transparent transparent transparent #feeb3e | |
======= | |
legend | |
======= | |
player = m_down | |
. = background | |
# = wall | |
* = cratestill and butter_a0 | |
@ = cratestill and bread | |
2 = knifeup and heat | |
3 = knifedown and heat | |
0 = knifeleft and heat | |
1 = kniferight and heat | |
6 = knifeup | |
7 = knifedown | |
4 = knifeleft | |
5 = kniferight | |
cratemove = crateup or cratedown or crateleft or crateright | |
crate = cratestill or cratemove | |
knife = knifeup or knifedown or knifeleft or kniferight | |
viscera = viscera1 or viscera2 or viscera3 or viscera4 or viscera5 or viscera6 | |
vheat = vheatup1 or vheatup2 or vheatdown1 or vheatdown2 or vheatleft1 or vheatleft2 or vheatright1 or vheatright2 | |
vwall = vwall1 or vwall2 or vwall3 or vwall4 | |
solid = wall or crate | |
(any animation) | |
butter_aany = butter_aup or butter_adown or butter_aleft or butter_aright | |
(none animation or any animation) | |
butter = butter_a0 or butter_aany | |
(glue animations) | |
vbutter_glueup_aany = vbutter_glueup_aup or vbutter_glueup_adown or vbutter_glueup_aleft or vbutter_glueup_aright | |
vbutter_gluedown_aany = vbutter_gluedown_aup or vbutter_gluedown_adown or vbutter_gluedown_aleft or vbutter_gluedown_aright | |
vbutter_glueleft_aany = vbutter_glueleft_aup or vbutter_glueleft_adown or vbutter_glueleft_aleft or vbutter_glueleft_aright | |
vbutter_glueright_aany = vbutter_glueright_aup or vbutter_glueright_adown or vbutter_glueright_aleft or vbutter_glueright_aright | |
vbutter_glue_aany = vbutter_glueup_aany or vbutter_gluedown_aany or vbutter_glueleft_aany or vbutter_glueright_aany | |
aany = butter_aany or vbutter_glue_aany | |
(little bits that stick out into the next cell over. for animation, but handled a bit differently) | |
vplop = vbutter_plopup or vbutter_plopdown or vbutter_plopleft or vbutter_plopright | |
(butter trails) | |
vtrack = vtrackup or vtrackdown or vtrackleft or vtrackright | |
vbutter_glueup = vbutter_glueup_a0 or vbutter_glueup_aany | |
vbutter_gluedown = vbutter_gluedown_a0 or vbutter_gluedown_aany | |
vbutter_glueleft = vbutter_glueleft_a0 or vbutter_glueleft_aany | |
vbutter_glueright = vbutter_glueright_a0 or vbutter_glueright_aany | |
vbutter_glue = vbutter_glueup or vbutter_gluedown or vbutter_glueleft or vbutter_glueright | |
glue = glueup or gluedown or glueleft or glueright | |
vbread_glue = vbread_glueup or vbread_gluedown or vbread_glueleft or vbread_glueright | |
vglue = vbutter_glue or vbread_glue | |
rider = bread or butter or glue or vglue or vbutter_shine (metadata that should move with crates) | |
mouse = m_down or m_drag or m_up | |
temp = temp_cut or temp_heat or temp_nostarted or temp_nosave or temp_hitwall | |
======= | |
sounds | |
======= | |
butter move 30943107 | |
sfx1 21657302 (butter stopped) | |
bread move 96469504 | |
sfx2 67370707 (bread stopped) | |
( sfx0 5897102 ) | |
sfx0 31578302 (sticky butter) | |
(butter die) | |
sfx3 38765304 | |
( temp_cut create 70323503 ) | |
( temp_cut create 45859902 ) | |
sfx4 97425301 | |
(bread die) | |
sfx5 38765304 | |
( sfx6 28391902 ) | |
( sfx6 20117702 ) | |
sfx6 94202102 | |
sfx9 18299108 (error) | |
endlevel 73412903 | |
================ | |
collisionlayers | |
================ | |
background | |
vtrackup | |
vtrackdown | |
vtrackleft | |
vtrackright | |
viscera1 | |
viscera2 | |
viscera3 | |
viscera4 | |
viscera5 | |
viscera6 | |
crate | |
butter | |
vplop | |
vbutter_shine | |
bread | |
glueup | |
gluedown | |
glueleft | |
glueright | |
vbutter_glueup, vbread_glueup | |
vbutter_gluedown, vbread_gluedown | |
vbutter_glueleft, vbread_glueleft | |
vbutter_glueright, vbread_glueright | |
wall | |
vwall | |
knife | |
heat | |
vheat | |
mouse | |
m_prev | |
temp | |
winning | |
started | |
realtime | |
====== | |
rules | |
====== | |
(todont: multidrag -- too much time wasted with bad-feeling results) | |
(todo: add wasd to move last clicked...?) | |
(todo: use phrase "bread and butter" somehow) | |
(todo: use again_interval to flash knives when level is lost b/c no butter left) | |
(startup) | |
random [background] -> [background temp_nostarted] | |
[started][temp_nostarted] -> [started][] | |
(generate glue) | |
up [temp_nostarted][crate | crate] -> [temp_nostarted][crate up glueup | crate down gluedown] | |
left [temp_nostarted][crate | crate] -> [temp_nostarted][crate left glueleft | crate right glueright] | |
(generate vheat) | |
[temp_nostarted][knifeup heat] -> [temp_nostarted][knifeup heat vheatup1] | |
[temp_nostarted][knifedown heat] -> [temp_nostarted][knifedown heat vheatdown1] | |
[temp_nostarted][knifeleft heat] -> [temp_nostarted][knifeleft heat vheatleft1] | |
[temp_nostarted][kniferight heat] -> [temp_nostarted][kniferight heat vheatright1] | |
[temp_nostarted][butter > glue | bread < glue] -> [temp_nostarted][butter | bread] | |
(is this a realtime_interval turn?) | |
[realtime] -> [] | |
random [background] -> [background realtime] | |
[realtime][temp_nostarted] -> [][temp_nostarted] (startup) | |
[realtime][cratemove] -> [][cratemove] (from again) | |
[realtime][moving player] -> [][moving player] (player input) | |
[realtime][mouse] -> [][mouse] (player input) | |
(generate wall variations) | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall1] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall2] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall3] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall4] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall1] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall2] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall3] | |
random [temp_nostarted][wall] -> [temp_nostarted][wall vwall4] | |
[temp_nostarted] -> [started] checkpoint | |
(generate butter glue) | |
up [butter no glueup no knife | butter no knife] -> sfx0 | |
up [butter | butter] -> [butter glueup | butter gluedown] | |
left [butter no glueleft no knife | butter no knife] -> sfx0 | |
left [butter | butter] -> [butter glueleft | butter glueright] | |
(tracks part ii) | |
up [ | butter crateup] -> [ | vtrackdown butter crateup] | |
down [ | butter cratedown] -> [ | vtrackup butter cratedown] | |
left [ | butter crateleft] -> [ | vtrackright butter crateleft] | |
right [ | butter crateright] -> [ | vtrackleft butter crateright] | |
(dirinfo) | |
[glueup] -> [up glueup] | |
[gluedown] -> [down gluedown] | |
[glueleft] -> [left glueleft] | |
[glueright] -> [right glueright] | |
(cut) | |
[bread knife no temp_cut] -> [bread knife temp_cut random viscera] | |
[crate knife] -> [knife temp_cut] | |
(cleanup) | |
[temp_cut heat vheat] -> [temp_cut] | |
[temp_cut > glue | < glue] -> [temp_cut | ] | |
[temp_cut butter] -> [temp_cut] sfx3 sfx4 | |
[temp_cut bread] -> [temp_cut] sfx5 sfx6 | |
[temp_cut rider] -> [temp_cut] | |
[temp_cut] -> [] | |
(no interaction is possible mid-slide b/c the again's are running.) | |
(multi-dragging is awkward b/c drag events don't happen during agains) | |
(so, it's very possible to drop these events, but they're better than nothing) | |
[m_down][m_prev] -> [m_down][] | |
[m_down] -> [m_drag] | |
[cratestill m_prev | m_drag] -> [> cratestill m_prev | m_drag] | |
startloop (start moving) | |
(transfer dirinfo) | |
[up cratestill] -> [crateup] | |
[down cratestill] -> [cratedown] | |
[left cratestill] -> [crateleft] | |
[right cratestill] -> [crateright] | |
(flood fill movement) | |
[crateup > glue | < glue cratestill] -> [crateup > glue | < glue crateup] | |
[cratedown > glue | < glue cratestill] -> [cratedown > glue | < glue cratedown] | |
[crateleft > glue | < glue cratestill] -> [crateleft > glue | < glue crateleft] | |
[crateright > glue | < glue cratestill] -> [crateright > glue | < glue crateright] | |
(start movement) | |
[crateup] -> [up crateup] again | |
[cratedown] -> [down cratedown] again | |
[crateleft] -> [left crateleft] again | |
[crateright] -> [right crateright] again | |
(propagate moving) | |
[> crate | crate] -> [> crate | > crate] | |
endloop | |
startloop (stop moving) | |
[> crate | stationary solid] -> [crate > temp_hitwall | solid] | |
[stationary crate temp_hitwall > glue | < glue moving crate] -> [stationary crate temp_hitwall > glue | < glue stationary crate temp_hitwall] | |
endloop | |
(squash animation) | |
[butter_aany] -> [butter_a0] | |
[vplop] -> [] | |
up [temp_hitwall butter crateup | ] -> [temp_hitwall butter_aup crateup | vbutter_plopup] | |
down [temp_hitwall butter cratedown | ] -> [temp_hitwall butter_adown cratedown | vbutter_plopdown] | |
left [temp_hitwall butter crateleft | ] -> [temp_hitwall butter_aleft crateleft | vbutter_plopleft] | |
right [temp_hitwall butter crateright | ] -> [temp_hitwall butter_aright crateright | vbutter_plopright] | |
[temp_hitwall butter] -> [butter] sfx1 | |
[temp_hitwall bread] -> [bread] sfx2 | |
[stationary crate] -> [stationary cratestill] | |
(mouse handling) | |
[m_drag][m_prev] -> [m_drag][] | |
[m_drag] -> [m_prev] | |
[mouse] -> [] | |
(visuals) | |
[vglue] -> [] | |
[bread glueup] -> [bread glueup vbread_glueup] | |
[bread gluedown] -> [bread gluedown vbread_gluedown] | |
[bread glueleft] -> [bread glueleft vbread_glueleft] | |
[bread glueright] -> [bread glueright vbread_glueright] | |
[butter_a0 glueup] -> [butter_a0 glueup vbutter_glueup_a0] | |
[butter_a0 gluedown] -> [butter_a0 gluedown vbutter_gluedown_a0] | |
[butter_a0 glueleft] -> [butter_a0 glueleft vbutter_glueleft_a0] | |
[butter_a0 glueright] -> [butter_a0 glueright vbutter_glueright_a0] | |
[butter_aup glueup] -> [butter_aup glueup vbutter_glueup_aup] | |
[butter_aup gluedown] -> [butter_aup gluedown vbutter_gluedown_aup] | |
[butter_aup glueleft] -> [butter_aup glueleft vbutter_glueleft_aup] | |
[butter_aup glueright] -> [butter_aup glueright vbutter_glueright_aup] | |
[butter_adown glueup] -> [butter_adown glueup vbutter_glueup_adown] | |
[butter_adown gluedown] -> [butter_adown gluedown vbutter_gluedown_adown] | |
[butter_adown glueleft] -> [butter_adown glueleft vbutter_glueleft_adown] | |
[butter_adown glueright] -> [butter_adown glueright vbutter_glueright_adown] | |
[butter_aleft glueup] -> [butter_aleft glueup vbutter_glueup_aleft] | |
[butter_aleft gluedown] -> [butter_aleft gluedown vbutter_gluedown_aleft] | |
[butter_aleft glueleft] -> [butter_aleft glueleft vbutter_glueleft_aleft] | |
[butter_aleft glueright] -> [butter_aleft glueright vbutter_glueright_aleft] | |
[butter_aright glueup] -> [butter_aright glueup vbutter_glueup_aright] | |
[butter_aright gluedown] -> [butter_aright gluedown vbutter_gluedown_aright] | |
[butter_aright glueleft] -> [butter_aright glueleft vbutter_glueleft_aright] | |
[butter_aright glueright] -> [butter_aright glueright vbutter_glueright_aright] | |
(shine) | |
[vbutter_shine] -> [] | |
up [butter | no butter] -> [butter vbutter_shine | ] (create) | |
right [butter vbutter_shine | butter] -> [butter | butter] (delete) | |
(animate vheatup) | |
[realtime][vheatup1] -> [realtime][vheatup2 temp_heat] | |
[realtime][vheatup2 no temp_heat] -> [realtime][vheatup1] | |
[realtime][temp_heat] -> [realtime][] | |
(animate vheatdown) | |
[realtime][vheatdown1] -> [realtime][vheatdown2 temp_heat] | |
[realtime][vheatdown2 no temp_heat] -> [realtime][vheatdown1] | |
[realtime][temp_heat] -> [realtime][] | |
(animate vheatleft) | |
[realtime][vheatleft1] -> [realtime][vheatleft2 temp_heat] | |
[realtime][vheatleft2 no temp_heat] -> [realtime][vheatleft1] | |
[realtime][temp_heat] -> [realtime][] | |
(animate vheatright) | |
[realtime][vheatright1] -> [realtime][vheatright2 temp_heat] | |
[realtime][vheatright2 no temp_heat] -> [realtime][vheatright1] | |
[realtime][temp_heat] -> [realtime][] | |
(move riders) | |
random [wall] -> [wall temp_nosave] | |
[temp_nosave][moving crate] -> [][moving crate] | |
[stationary crate moving rider] -> [stationary crate stationary rider] | |
[> crate rider] -> [> crate > rider] | |
[temp_nosave] -> [] nosave | |
(tracks part i) | |
up [butter crateup] -> [ butter crateup vtrackup] | |
down [butter cratedown] -> [ butter cratedown vtrackdown] | |
left [butter crateleft] -> [ butter crateleft vtrackleft] | |
right [butter crateright] -> [ butter crateright vtrackright] | |
(win checking) | |
random [background] -> [background winning] | |
[heat][winning] -> [heat][] | |
[moving crate][winning] -> [moving crate][] | |
[aany][winning] -> [aany][] | |
(invisible things that might stick around between turns: m_prev started glue realtime) | |
============== | |
winconditions | |
============== | |
some winning | |
======= | |
levels | |
======= | |
( (beatable but not focused) ) | |
( ################### ) | |
( #####7777#####7777# ) | |
( #####***@#####@***# ) | |
( #####*.@@77777@@.*# ) | |
( #####*#*********#*# ) | |
( #####*7.........7*# ) | |
( #####***..###..***# ) | |
( #####*....###....*# ) | |
( #*###*###.....###*# ) | |
( #*3##*#.........#*# ) | |
( #*.##*#.........#*# ) | |
( ##.##*#.@@...@@.#*# ) | |
( #7.@#*#.@*...*@.#*# ) | |
( #...#*#..*...*@.#*# ) | |
( #...#*#.........#*# ) | |
( #...#*#.........#*# ) | |
( #...#*#....#....#*# ) | |
( #....*####@#@####*# ) | |
( #....*@@@@@*@@@@@*# ) | |
( ##...****.....****# ) | |
( ###66666666#666666# ) | |
( ################### ) | |
( ################### ) | |
( #####7777@@@@@7777# ) | |
( #####***@@...@@***# ) | |
( #####*.@@*###*@@@*# ) | |
( #####*....###....*# ) | |
( #####*###.....###*# ) | |
( #333#*#.........#*# ) | |
( #...#*#.@@...@@.#*# ) | |
( #...#*#.@.....@.#*# ) | |
( #...#*#.......@.#*# ) | |
( #...#*###.....###*# ) | |
( #...#*#*#.*.*.#*#*# ) | |
( #...#*#**.*#*.**#*# ) | |
( #...#*####.#.####*# ) | |
( #....*@@@@@*@@@@@*# ) | |
( #....****.....****# ) | |
( #####666666#666666# ) | |
( ################### ) | |
( ########## ) | |
( ###3##3### ) | |
( ###....### ) | |
( ###.$..### ) | |
( ##***..### ) | |
( ##.....### ) | |
( ##..2..### ) | |
( ##..#..### ) | |
( ########## ) | |
section === Chapter I === | |
message Oh no! All the knives are scalding hot! | |
message Also, we have way too much butter! | |
message Two disasters in one day -- it's too much! | |
message hmm... unless... | |
message Controls: click+drag / Z / R. Press Escape for level select. | |
section Level 1 | |
(difficulty(of 3) | sparkle(of 3)) | |
(1|2) | |
########## | |
###3##3### | |
###....### | |
###....### | |
##***..### | |
##.....### | |
##..2..### | |
##..#..### | |
########## | |
message == Level 2 of 15 == | |
section Level 2 | |
(2|1) | |
######### | |
#.###3### | |
#.3...3.# | |
#.......# | |
#.......# | |
#***#...# | |
##*##...# | |
######### | |
message Level 3 of 15 (by Michael Kamm) | |
section Level 3 (Michael Kamm) | |
############# | |
#..*.....***# | |
#..........## | |
#..........## | |
#...####...## | |
#...#3##.6.## | |
#.....####### | |
#......###### | |
#......###### | |
############# | |
message == Level 4 of 15 == | |
section Level 4 | |
############ | |
########.### | |
###*####.### | |
###.####.### | |
#...*.#3.33# | |
#.....#....# | |
#.*........# | |
###.##.....# | |
###*####.### | |
############ | |
message I guess having some leftover butter is okay. | |
message But these knives! Too hot!! | |
message == Level 5 of 15 == | |
section Level 5 | |
(2|2) | |
############# | |
##777###...## | |
#3...3#.....# | |
#...........# | |
#*..........# | |
##***.......# | |
###........## | |
####......### | |
############# | |
( (1|1) ) | |
( ################ ) | |
( ###737####...### ) | |
( ##7...7##..*..## ) | |
( ##.........**.## ) | |
( ##............## ) | |
( ###..........### ) | |
( ####........#### ) | |
( #####......##### ) | |
( ################ ) | |
message == Level 6 of 15 == | |
section Level 6 | |
(2|2) | |
############ | |
#.3........# | |
#......#...# | |
#......#...# | |
#...***#...# | |
#...*###2..# | |
#....####..# | |
############ | |
section === Chapter II === | |
message Ah! Here's my trusty loaf of bread. | |
message People keep saying that sliced bread is incredible. I'm not really sure what they mean, but I guess I'll try it! | |
message == Level 7 of 15 == | |
section Level 7 | |
############### | |
#5@.....####### | |
##@..6..####### | |
#5@.....####### | |
##..#1..#1...4# | |
##.##1..#5...0# | |
##..#######.### | |
#5*.........### | |
##*..7......### | |
#5*.........### | |
############### | |
( (beatable but not a good tutorial, and it gives away the other level maybe) ) | |
( ############## ) | |
( #5......###### ) | |
( ##@..2..###### ) | |
( #5@.....###### ) | |
( ##@.##1..1..4# ) | |
( ###.##5..0..0# ) | |
( ##*.#######.## ) | |
( #5*.........## ) | |
( ##*..3......## ) | |
( #5..........## ) | |
( ############## ) | |
message Level 8 of 15 (by Patrick) | |
section Level 8 (Patrick) | |
(patrick) | |
########################### | |
######*##*##*##*#*######### | |
#.........................# | |
#...................#.....# | |
#...................#.....# | |
#...................#.....# | |
##66666666#@#666666##.....# | |
###########@#########.....# | |
###########@...######26666# | |
###########@@@@############ | |
########################### | |
message == Level 9 of 15 == | |
section Level 9 | |
(2|3) | |
############## | |
#1...##*..***# | |
####.##*.....# | |
##....#......# | |
##....#......# | |
#5....#*.....# | |
#5.@...*.....# | |
#5.....*.....# | |
############## | |
( ############# ) | |
( ####..0###### ) | |
( ####.###....# ) | |
( ##.....*....# ) | |
( ##...##*....# ) | |
( ##..........# ) | |
( ##.....@....# ) | |
( #6....***...# ) | |
( ############# ) | |
( ############# ) | |
( ##.....*##### ) | |
( ##.....*##### ) | |
( #1.....*#***# ) | |
( ##...##.....# ) | |
( ##...@#.....# ) | |
( ##....#.....# ) | |
( #5..........# ) | |
( ############# ) | |
message == Level 10 of 15 == | |
section Level 10 | |
(2|3) | |
########### | |
##.3#.3#.3# | |
##..#..#..# | |
##.##.##.## | |
#.........# | |
#..*@.@*..# | |
#..*@.@*..# | |
#.........# | |
########### | |
message == Level 11 of 15 == | |
section Level 11 | |
(3|2) | |
############### | |
#3#####.......# | |
#.#..***......# | |
#.#..#@#......# | |
#......#......# | |
###....#......# | |
#5..........#*# | |
###.........#*# | |
##5..........*# | |
############### | |
( (2|2) ) | |
( ############# ) | |
( ###.3#*.....# ) | |
( ###.##*.....# ) | |
( #...........# ) | |
( #....#...***# ) | |
( #....#..*...# ) | |
( #.......*.@.# ) | |
( #.......*...# ) | |
( ############# ) | |
( (3|2 -- required shape (cradle) is hard to know, and then quite hard to build - pre-shove comment) ) | |
( ########## ) | |
( ##2.#.*..# ) | |
( ###.#.*..# ) | |
( ##.......# ) | |
( ##..@.**.# ) | |
( ##.......# ) | |
( #.....*..# ) | |
( #.....*.## ) | |
( ########## ) | |
( ########## ) | |
( ##2.#.*..# ) | |
( ###.#.*..# ) | |
( ##.......# ) | |
( ##...@**.# ) | |
( ##.......# ) | |
( #1....*..# ) | |
( #.....*.## ) | |
( ########## ) | |
( (more understandable but LOTS of easy cheese - pre-shove comment) ) | |
( ########## ) | |
( ##2.#.*..# ) | |
( ###.#.*..# ) | |
( #........# ) | |
( #....@**.# ) | |
( #........# ) | |
( #.....*..# ) | |
( #.....*### ) | |
( ########## ) | |
message Level 12 of 15 (by Patrick) | |
section Level 12 (Patrick) | |
(patrick) | |
############################ | |
#########.................4# | |
#########.................4# | |
#########.................4# | |
#########.....#######.....4# | |
#########.....#######.....4# | |
###*****........#####.....4# | |
###*****........#####.....4# | |
###*****........#####.....4# | |
###*****........#####.....4# | |
###*****........#####.....4# | |
###.............#####.....4# | |
###......6......##.@#.....4# | |
#3#.............@@@@#.....4# | |
#.#.............@####.....4# | |
#.........................4# | |
###.......................4# | |
###.......................## | |
###.............############ | |
############################ | |
message == Level 13 of 15 == | |
section Level 13 | |
#################### | |
#.......0#***##777## | |
#..@.@..0###*#*...0# | |
#..@@@.......##...0# | |
#..@.@.###....#*..0# | |
#......###....**..## | |
#.*.*..###....#*..4# | |
#.***........##...4# | |
#.*.*...0###*#*...4# | |
#.......0#***##666## | |
#################### | |
( ############### ) | |
( #.......0###### ) | |
( #..@.@...0##### ) | |
( #..@@@.......## ) | |
( #..@.@.###5..0# ) | |
( #......######## ) | |
( #.*.*..###1..0# ) | |
( #.***........## ) | |
( #.*.*....0##### ) | |
( #.......0###### ) | |
( ############### ) | |
( ###################### ) | |
( ##########333333###### ) | |
( ##########.....*#7777# ) | |
( #.......0#.....**....# ) | |
( #..@.@..0########....# ) | |
( #..@@@........###....# ) | |
( #..@.@.###....***....# ) | |
( #......###..########## ) | |
( #.*.*..###....***....# ) | |
( #.***.........###....# ) | |
( #.*.*...0########....# ) | |
( #.......0#.....**....# ) | |
( ##########.....*#6666# ) | |
( ##########222222###### ) | |
( ###################### ) | |
message Level 14 of 15 (by Le Slo) | |
section Level 14 (Le Slo) | |
(TODO bonus) | |
(le slo) | |
############ | |
###77#.##### | |
#*.........# | |
#*.........# | |
##........## | |
##...#..*.0# | |
##..##.*..0# | |
##2.#...*.0# | |
#######...## | |
############ | |
message == Level 15 of 15 == | |
section Level 15 | |
message The final showdown... | |
(1|2) | |
#################### | |
#@@@@@@@@@@@@@@@@@.# | |
#@.#######*######@.# | |
#@.#3777***#3377#@.# | |
#@**@@@@@4##....#@.# | |
#@.#...........@@@.# | |
####..@..###...@.### | |
###**...**##.......# | |
###...@...##.......# | |
####.....######6622# | |
#################### | |
( ####################### ) | |
( ############*########## ) | |
( ######555****########## ) | |
( #*@*@@@@@@5############ ) | |
( #*@.#............###### ) | |
( #*.##....###.....###### ) | |
( #*.##....###....@.##### ) | |
( #*.##....###....@.###*# ) | |
( #*.####.@###....@@@@*.# ) | |
( #*.###**.###.....#.@*.# ) | |
( #*.#**...###44440#..*.# ) | |
( #*.###############..*.# ) | |
( #********************.# ) | |
( ####################### ) | |
message Crises averted! | |
message Time to eat some victory toast. | |
message * crunch * | |
((( | |
(tech test: glue) | |
###############3 | |
#...*..........# | |
#.@.....**.....# | |
#.@@...@@@.....# | |
#..........*...# | |
#..*....#......# | |
#..*.........*.# | |
#...#.*.*.#.@..# | |
#.....*.....@..# | |
#......*.#*....# | |
#...@..........# | |
#...@..****....# | |
#..............# | |
################ | |
(16:9 screen) | |
###############3 | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
################ | |
(10:9 gameboy) | |
#########3 | |
#........# | |
#........# | |
#........# | |
#........# | |
#........# | |
#........# | |
#........# | |
########## | |
(16:14 NES) | |
###############3 | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
#..............# | |
################ | |
(tech test) | |
############ | |
##.........# | |
#......#...# | |
#......#...# | |
#@@.*#*#...# | |
#@@.*###2..# | |
#....####### | |
############ | |
(lockpick concept; doesn't work b/c mechanics only "push" in one direction) | |
################....... | |
#1##1##1##............. | |
#**#**#**#............. | |
#..#**#**#............. | |
#..#**#..#............. | |
#..#**#..#............. | |
#..#..#..#............. | |
#...................... | |
#...................... | |
#........*****......... | |
#...................... | |
#...................... | |
#...................... | |
################....... | |
(wip trying to build a gizmo that wants one butter before unlocking the next bit) | |
################ | |
#.#.....#####..# | |
#.###########..# | |
#.###########..# | |
#.##......0#...# | |
#.##*..0#.##...# | |
#****.....##...# | |
#.####.##**#...# | |
#.#.....####...# | |
#.#...*........# | |
#.#............# | |
#.#............# | |
#.#............# | |
################ | |
(0|0) | |
################## | |
2##########**##### | |
###....#*##.###### | |
#**.............0# | |
###...##.##.#....# | |
###...#..##......# | |
#**.............0# | |
###...#..##.#....# | |
###...#.###*.....# | |
#**........*....0# | |
#######.###*#....# | |
######**########## | |
################## | |
(concept: force-stop) | |
####### | |
####..# | |
###3..# | |
#*#...# | |
#**..## | |
###..## | |
###*.## | |
####### | |
(concept: avoid) | |
###### | |
###3## | |
###.## | |
#.*..# | |
###.## | |
###*## | |
###### | |
(regression test: swiping up shouldn't move the second butter) | |
###3 | |
#.## | |
#*3# | |
#..# | |
#..# | |
#.*# | |
#### | |
))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment