Created
July 30, 2020 22:32
-
-
Save ClementSparrow/f292e7bb428fb70a6a6ad34ac5e7903f to your computer and use it in GitHub Desktop.
Dr Jelly and Mr Slime (PuzzleScript Script)
This file contains hidden or 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 http://www.puzzlescript.net/editor.html |
This file contains hidden or 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
(bad pun suggestion for the title: s-witches (and use a witch for the player or the switches) ) | |
(winterbeak: came up with this title, not sure if it's a bad pun or great one. "reflecting" is kind of what the mechanic is, but kind of not? can't find another word to portmanteau with ectoplasm, though. feel free to change | |
title Reflectoplasm - Working Title) | |
(Plurmorant: slime mode can be thought of as a flashback) | |
(NotAJumbleOfNumbers: the person in this is probably an amnesiac. the theming makes me think of a laboratory, but it could be something else. maybe he was part of a failed experiement? i don't know. and then there's the level with two people...) | |
(sftrabbit: The impression I get from the "story" now is that this is a scientist descending into their obsession to do great research and is gradually losing themselves.) | |
(title Slippery Memory) | |
title Dr Jelly and Mr Slime | |
author Thinky Collective | |
background_color #303040 (previously #333338) | |
text_color #ccb6f8 (could be anything else, previously just white) | |
run_rules_on_level_start | |
again_interval .08 | |
(verbose_logging) | |
(let's start an actual dev log instead of one or two people putting a comment here every now and then like with gophers - ncr) | |
(#0 patrick: base game, all graphics are squares) | |
(#1 ncrecc: added level 3 and fake border tile, introduced this log (pat's fine with it)) | |
(#2 bagenzo: added level 4 and the collectable) | |
(#3 TophWells: added level ? and fixed a movement bug ) | |
(#4 Sky: Wanted to add a player3 but just made player2 switched to player1 again, find something interesting. :D ) | |
(#5 blubberquark: Added a crate that slides over the overlay.) | |
(#6 [marcosd]: enhanced a bit the overlay sprite, put collectables over walls, added a level) | |
(#7 HRoll: made NoOverlayTile (needs better name) which is passable for P1 but doesn't leave the overlay trail, and a basic level for it) | |
(#8 winterbeak: added the ornament-shaped level. changed Player1 into Ghost, and Player2 into Human. changed Overlay into Slime. added ghost/human graphics, slime graphics, and border/wall/floor graphics. added a preview which shows you what the tiles are going to turn into when they are switched. fixed bug where crates can be pushed into the border. each level is now surrounded by a border. ) | |
(#9 Plurmorant: added crate-blocks-human rule, name suggestion, and another crate level) | |
(#10 Draknek: added a buglist, fixed bug with crate sliding, made crate slide animate, added ending message, added a level) | |
(#11 noa: still changeable graphics for the switcher, goal, coin. added eyes to the ghost, slight texture to the walls. sounds for crate pushing, using the switcher, and removing walls as a ghost. slight color palette changes, old colors in brackets. added a level) | |
(#12 CHz: added a level, preserved player direction when switching between states) | |
(#13 NarrowAdder: added a trivial tutorialization level to teach crates pushing into flashback tokens. Level should go right before blubberquark's level) | |
(#14 zabel: added a level, added author line [copied from Gophers]) | |
(#15 Elyot: Added the wall-counting numbers, added the first level using them. ) | |
(#16 domcamus: Added a level using the new numbers mechanic.) | |
(#17 Jack Lance: Added a level and also added more words to this sentence because no one else just wrote "Added a level") | |
(#18 jackk: adjusted again interval, added slime overlay to collectibles, added 'pushable' appearance for the crate, added smoke & wall animations when activating switcher, added a level ) | |
(#19 zaratustra: refactored the whole number tile code, added easy number level) | |
(#19.5 zaratustra jr.: added sfx2 for slime movement) | |
(#19 zaratustra: removed sfx2 for slime movement) | |
(#20 Justas: "Added a level") | |
(#20 Justas: replaced sfx0 with a more pleasant crate push sound and made number pushing emit sfx0) | |
(#21 NotAJumbleOfNumbers: Added some dangly story bits, because there weren't enough of them) | |
(#22 Henrique de Lima: Added GoalEnabled (should make the win condition more obvious to the player), reordered some number levels, created an easier level that uses the numbers mechanic) | |
(#23 Auroriax: Fixed the GoalEnabled rules to activate in the turn the victory condition is met, instead of the turn after. Added an early level. Resisted the urge to name all the levels, but added a coin message instead.) | |
(#24 jcGyo: Added "bump" animations when attempting an illegal move and another easy number level.) | |
(I didn't have time to beat every level and I'm terrified I broke some weird edge case when I had to futz with the movement rules to get the bumps working, msg me on discord if you find something that needs to work but doesn't) | |
(#25 Le Slo: Added a message, worked on the wall sprites (not the border), fixed unintentionally a bug, added a rule to have that bug again, made a level for that bug, had fun.) | |
(#26 Joel: Fixed a bug where you could push out numberblocks from borders/walls. Fixed another bug where certain number markers were not deleted, leading to incorrect counting when numbers were pushed. Added a level) | |
(#27 EPGAstudios: Changed the number count to update while in ghost mode. Put in a clarifying message about counters, and an easy tutorial level for counters. Fixed bug with four not working.) | |
(#28 knexator: Changed the title and lore since it seemed out of touch with the graphics, added another simple tutorial level for the counters.) | |
(#29 stevenjmiller: Added a level and then wrote about adding said level in the log.) | |
(#30 sftrabbit: Added a level towards the end - unsure about the difficulty, so please move if it makes sense.) | |
(#30 sftrabbit: Shuffled the intro "scanner" levels around based on existing comments and my own judgement.) | |
(#30 sftrabbit: Added enter/exit animations + sfx to give some continuity to the puzzles - if anyone adds another 2+ character level in addition to Blookerstein's, please only have one character animate in.) | |
(#30 sftrabbit: Added a final "cutscene" level with mega-slime (just like in Gophers). I leave it to someone else to figure what to do with it, but I put some ideas next to the level.) | |
(#31 Deusovi: Added another 'deductive' level after Elyot's. Switched Joel and stephenjmiller's levels.) | |
(#32 Pedro PSI: Added only small decorative details - wall border corners, plus a little tweak to the background tile pattern - do revert if you think it doesn't look good) | |
(#33 Grapefruit: Added a level in the middle that is meant to reinforce crate pushing and activating potions using crates.) | |
(#34 ThatScar: Continued work on the epilogue where sftrabbit had laid foundations, introducing the human and the SlimeWall logic to the level. Renamed Wall to SlimeWall) | |
(#35 ClementSparrow: Added a puzzle level and a "cutscene" level for the lore before the final level.) | |
(#36 minotalen: [fill this in, minotalen]) | |
(known bugs and/or features - remove from this list when you either fix the issue or deliberately use it in a level) | |
(no code bugs exist currently!) | |
(minor issue - narrative consistency is lacking; all messages, including epilogue, could be reviewed and edited - ThatScar) | |
(minor issue - epilogue human sprites aren't as pretty as they could be - ThatScar) | |
======== | |
OBJECTS | |
======== | |
Background | |
#c7cbd7 #bbbeca | |
11011 | |
11111 | |
01010 | |
11111 | |
11011 | |
( Old overlay sprites | |
( the placeholder graphic for this is | |
blue | |
00000 | |
..... | |
00000 | |
..... | |
00000 | |
so feel free to change it and delete this comment ) | |
Overlay (I believe this design is more indicative of the overlay's function, but also feel free to change it) | |
blue | |
.0.0. | |
0.0.0 | |
.0.0. | |
0.0.0 | |
.0.0. | |
) | |
( winterbeak: i did the slime, player, and ghost graphics, but feel free to tweak them somewhat if you feel like you can improve on them ) | |
( SlimeMarker is the functional part of the slime. The rest of the slime sprites, as well as WallPreview and BackgroundPreview, are purely decorative, and will appear and disappear whenever SlimeMarker is added/removed ) | |
SlimeMarker | |
transparent | |
SlimePoint | |
#a200ff #a70fff #9d00f7 | |
..... | |
..1.. | |
.000. | |
..2.. | |
..... | |
SlimeLeft | |
#a200ff #a70fff #9d00f7 | |
..... | |
110.. | |
0000. | |
202.. | |
..... | |
SlimeUp | |
#a200ff #a70fff #9d00f7 | |
.102. | |
.002. | |
.100. | |
..0.. | |
..... | |
SlimeRight | |
#a200ff #a70fff #9d00f7 | |
..... | |
..011 | |
.0000 | |
..202 | |
..... | |
SlimeDown | |
#a200ff #a70fff #9d00f7 | |
..... | |
..0.. | |
.102. | |
.002. | |
.100. | |
( noa: added eyes to the ghost - I think that makes it look a little more like one? ) | |
GhostLeft | |
#f748e3 #a200ff #f754e5 #f23fde(bright main color previously #eb44f3, eyes use slime color) | |
.2... | |
2100. | |
20003 | |
0103. | |
.3... | |
GhostUp | |
#f748e3 #a200ff #fa4de6 #f23fde | |
.222. | |
21010 | |
.000. | |
.003. | |
..3.. | |
GhostRight | |
#f748e3 #a200ff #fa4de6 #f23fde | |
...2. | |
.2010 | |
20003 | |
.0013 | |
...3. | |
GhostDown | |
#f748e3 #a200ff #fa4de6 #f23fde | |
..2.. | |
.200. | |
.000. | |
21013 | |
.033. | |
( Human sprites | |
The L and R represent which arm is forward | |
Hair color is the same as the border color | |
Shirt color is the same as the wall color | |
Skin color has an odd pink tinge, as a connection to the ghost | |
) | |
HumanLeftL | |
#303040 #f283c4 #5918db | |
..22. | |
.100. | |
.100. | |
.100. | |
.22.. | |
HumanLeftR | |
#303040 #f283c4 #5918db | |
.22.. | |
.100. | |
.100. | |
.100. | |
..22. | |
HumanUpL | |
#303040 #f283c4 #5918db | |
..... | |
2111. | |
20002 | |
.0002 | |
..... | |
HumanUpR | |
#303040 #f283c4 #5918db | |
..... | |
.1112 | |
20002 | |
2000. | |
..... | |
HumanRightL | |
#303040 #f283c4 #5918db | |
..22. | |
.001. | |
.001. | |
.001. | |
.22.. | |
HumanRightR | |
#303040 #f283c4 #5918db | |
.22.. | |
.001. | |
.001. | |
.001. | |
..22. | |
HumanDownL | |
#303040 #f283c4 #5918db | |
..... | |
2000. | |
20002 | |
.1112 | |
..... | |
HumanDownR | |
#303040 #f283c4 #5918db | |
..... | |
.0002 | |
20002 | |
2111. | |
..... | |
(Illegal Move Bump Sprites) | |
HumanLeftLBump1 | |
#303040 #f283c4 #5918db | |
22... | |
100.. | |
100.. | |
100.. | |
.22.. | |
HumanLeftLBump2 | |
#303040 #f283c4 #5918db | |
22... | |
100.. | |
100.. | |
100.. | |
22... | |
HumanLeftLBump3 | |
#303040 #f283c4 #5918db | |
22... | |
100.. | |
100.. | |
100.. | |
.22.. | |
HumanLeftRBump1 | |
#303040 #f283c4 #5918db | |
.22.. | |
100.. | |
100.. | |
100.. | |
22... | |
HumanLeftRBump2 | |
#303040 #f283c4 #5918db | |
22... | |
100.. | |
100.. | |
100.. | |
22... | |
HumanLeftRBump3 | |
#303040 #f283c4 #5918db | |
.22.. | |
100.. | |
100.. | |
100.. | |
22... | |
HumanUpLBump1 | |
#303040 #f283c4 #5918db | |
.1112 | |
20002 | |
2000. | |
..... | |
..... | |
HumanUpLBump2 | |
#303040 #f283c4 #5918db | |
21112 | |
20002 | |
.000. | |
..... | |
..... | |
HumanUpLBump3 | |
#303040 #f283c4 #5918db | |
.1112 | |
20002 | |
2000. | |
..... | |
..... | |
HumanUpRBump1 | |
#303040 #f283c4 #5918db | |
2111. | |
20002 | |
.0002 | |
..... | |
..... | |
HumanUpRBump2 | |
#303040 #f283c4 #5918db | |
21112 | |
20002 | |
.000. | |
..... | |
..... | |
HumanUpRBump3 | |
#303040 #f283c4 #5918db | |
2111. | |
20002 | |
.0002 | |
..... | |
..... | |
HumanRightLBump1 | |
#303040 #f283c4 #5918db | |
..22. | |
..001 | |
..001 | |
..001 | |
...22 | |
HumanRightLBump2 | |
#303040 #f283c4 #5918db | |
...22 | |
..001 | |
..001 | |
..001 | |
...22 | |
HumanRightLBump3 | |
#303040 #f283c4 #5918db | |
..22. | |
..001 | |
..001 | |
..001 | |
...22 | |
HumanRightRBump1 | |
#303040 #f283c4 #5918db | |
...22 | |
..001 | |
..001 | |
..001 | |
..22. | |
HumanRightRBump2 | |
#303040 #f283c4 #5918db | |
...22 | |
..001 | |
..001 | |
..001 | |
...22 | |
HumanRightRBump3 | |
#303040 #f283c4 #5918db | |
...22 | |
..001 | |
..001 | |
..001 | |
..22. | |
HumanDownLBump1 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
.0002 | |
20002 | |
2111. | |
HumanDownLBump2 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
.000. | |
20002 | |
21112 | |
HumanDownLBump3 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
.0002 | |
20002 | |
2111. | |
HumanDownRBump1 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
2000. | |
20002 | |
.1112 | |
HumanDownRBump2 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
.000. | |
20002 | |
21112 | |
HumanDownRBump3 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
2000. | |
20002 | |
.1112 | |
GhostLeftBump1 | |
#f748e3 red #f754e5 #f23fde | |
2.... | |
100.. | |
2003. | |
103.. | |
3.... | |
GhostLeftBump2 | |
#f748e3 red #f754e5 #f23fde | |
2.... | |
100.. | |
2003. | |
103.. | |
3.... | |
GhostUpBump1 | |
#f748e3 red #fa4de6 #f23fde | |
21210 | |
.000. | |
.003. | |
..3.. | |
..... | |
GhostUpBump2 | |
#f748e3 red #fa4de6 #f23fde | |
21210 | |
.000. | |
.003. | |
..3.. | |
..... | |
GhostRightBump1 | |
#f748e3 red #fa4de6 #f23fde | |
....2 | |
..201 | |
.2003 | |
..001 | |
....3 | |
GhostRightBump2 | |
#f748e3 red #fa4de6 #f23fde | |
....2 | |
..201 | |
.2003 | |
..001 | |
....3 | |
GhostDownBump1 | |
#f748e3 red #fa4de6 #f23fde | |
..... | |
..2.. | |
.200. | |
.000. | |
21313 | |
GhostDownBump2 | |
#f748e3 red #fa4de6 #f23fde | |
..... | |
..2.. | |
.200. | |
.000. | |
21313 | |
( a flag, used so that putting the right arm forward isn't immediately cancelled by putting the left arm forward ) | |
HasWalked | |
transparent | |
( a flag, just used to compress some aesthetic rules slightly ) | |
TogglePlayerState | |
transparent | |
( what could switch between the ghost and player? a different sprite could tell more of a story. ) | |
(Switcher | |
#f283c4 #f748e3 #e7a1d7 | |
.001. | |
00001 | |
01001 | |
01111 | |
.011.) | |
(changed it to a potion) | |
Switcher | |
#ea78d6 #e440c7 #ae1e95 #7f7f7f #1b1b1b #db7838 #9c3d00 | |
.56.. | |
.34.. | |
1012. | |
0102. | |
1212. | |
( winterbeak: i kinda like the look of a solid blue wall. that's just personal preference, though. i'm imagining that it's some sort of gooey but firm ectoplasmic substance, different from the purple substance that the player creates.) | |
(Wall | |
#3928b9) | |
( noa: feel very free to revert to solid blue walls, but this feels even more like the description above for me, perhaps too grid-like in larger areas) | |
SlimeWall | |
#3d2bc4 #5918db | |
01100 | |
11110 | |
11110 | |
01100 | |
00000 | |
(Le Slo: I added a layer on top to make it look more like ectoplasm, but now the floor looks dull in comparison, maybe this was too much? Feel free to change it) | |
EctoPlasm01 | |
#5918db #3d2bc4 #7017ec | |
01111 | |
11120 | |
00112 | |
12111 | |
10100 | |
EctoPlasm02 | |
#3d2bc4 #7017ec #5918db | |
00022 | |
00012 | |
00201 | |
01002 | |
02002 | |
EctoPlasm03 | |
#3d2bc4 #7017ec #5918db | |
00012 | |
02000 | |
00020 | |
02200 | |
01200 | |
EctoPlasm04 | |
#3d2bc4 #5918db #7017ec | |
01001 | |
00021 | |
00100 | |
21000 | |
00011 | |
CornerTL | |
#c7cbd7 #bbbeca #5918db | |
12... | |
2.... | |
..... | |
..... | |
..... | |
CornerTR | |
#c7cbd7 #bbbeca #9047dc | |
...21 | |
....2 | |
..... | |
..... | |
..... | |
CornerBL | |
#c7cbd7 #bbbeca #3017bc | |
..... | |
..... | |
..... | |
2.... | |
12... | |
CornerBR | |
#c7cbd7 #bbbeca #5918db | |
..... | |
..... | |
..... | |
....2 | |
...21 | |
(sprites for animating wall growth) | |
wall_1_grow | |
#8f07f4 #5918db | |
..... | |
..0.. | |
.000. | |
..0.. | |
..... | |
wall_2_grow | |
#6d16e0 #5918db | |
..... | |
.000. | |
.010. | |
.00.. | |
..... | |
wall_3_grow | |
#4d24cd #5918db | |
.00.. | |
0110. | |
0110. | |
.000. | |
..... | |
(sprites for animating wall shrinking) | |
wall_1_shrink | |
#4d24cd #5918db | |
..... | |
..0.. | |
.000. | |
..0.. | |
..... | |
wall_2_shrink | |
#6d16e0 #5918db | |
..... | |
.000. | |
.010. | |
.00.. | |
..... | |
wall_3_shrink | |
#8f07f4 #5918db | |
.00.. | |
0110. | |
0110. | |
.000. | |
..... | |
WallPreview | |
#9f77ef #a97ffc (prev. all #8c84c4) | |
00000 | |
01110 | |
01110 | |
01110 | |
00000 | |
(01100 | |
11110 | |
11110 | |
01100 | |
00000) | |
BackgroundPreview | |
#ccb6f8 #c1a4fc (prev. #b2b9d3 #a3add1) | |
11011 | |
11111 | |
01010 | |
11111 | |
11011 | |
(10101 | |
00100 | |
11111 | |
00100 | |
10101) | |
( still a placeholder? ) | |
Goal | |
#97d745 #8dcd3c | |
10101 | |
00000 | |
10001 | |
00000 | |
10101 | |
( The goal acts like a border to the ghost. ) | |
GoalWall | |
#8dcd3c #3f996f | |
10101 | |
00000 | |
10001 | |
00000 | |
10101 | |
( Should make it more obvious that the player is now able to complete the level ) | |
GoalEnabled | |
#8dcd3c #b4eb6e #c1f57f | |
10101 | |
00000 | |
10001 | |
00000 | |
10101 | |
GoalConditionMarker | |
transparent | |
(NotAJumbleOfNumbers: i thought recoloring these coins would make them look more like past memories, or something else more mysterious. honestly, it could probably be better than this.) | |
Collectable (grab all these before you can win) | |
#ffe642 #f8c032 #f8aa32 (Le Slo: I switched back to the previous because of the ectoplasm, previous next: #c652f8 #b632f8 #a622f8) | |
..... | |
.011. | |
.102. | |
.222. | |
..... | |
Collectable_Slimed (it can be hard to see that a tile is slimed when there is a collectable on it. this makes it easier ) | |
#ffe642 #f8c032 #f8aa32 #d886a3 #cf6493 #cf4493 | |
..... | |
.344. | |
.435. | |
.555. | |
..... | |
Border (the solid, dark grey walls that cannot be transformed) | |
#303040 (previously #333338) | |
BorderL | |
#524b63 #413b4f(previously #4e4f59) | |
0.... | |
0.... | |
0.1.. | |
0.... | |
0.... | |
BorderU | |
#524b63 #413b4f | |
00000 | |
..... | |
..1.. | |
..... | |
..... | |
BorderR | |
#524b63 #413b4f | |
....0 | |
....0 | |
..1.0 | |
....0 | |
....0 | |
BorderD | |
#524b63 #413b4f | |
..... | |
..... | |
..1.. | |
..... | |
00000 | |
(Little corners in wall borders // Pedro PSI) | |
BoLXU | |
#524b63 #413b4f | |
0.1.. | |
..1.. | |
111.. | |
..... | |
..... | |
BoDXL | |
#524b63 #413b4f | |
..... | |
..... | |
111.. | |
..1.. | |
0.1.. | |
BoUXR | |
#524b63 #413b4f | |
..1.0 | |
..1.. | |
..111 | |
..... | |
..... | |
BoRXD | |
#524b63 #413b4f | |
..... | |
..... | |
..111 | |
..1.. | |
..1.0 | |
BorderLkD | |
transparent | |
BorderUkL | |
transparent | |
BorderRkU | |
transparent | |
BorderDkR | |
transparent | |
BorderLkU | |
transparent | |
BorderUkR | |
transparent | |
BorderRkD | |
transparent | |
BorderDkL | |
transparent | |
(sprites for smoke animations) | |
smoke_start | |
gray lightgray | |
..... | |
.111. | |
.101. | |
.111. | |
..... | |
smoke_mid_1 | |
gray lightgray | |
00000 | |
00000 | |
00100 | |
00000 | |
00000 | |
smoke_mid_2 | |
gray lightgray | |
11111 | |
1...1 | |
1...1 | |
1...1 | |
11111 | |
smoke_mid_3 | |
gray lightgray | |
..... | |
..... | |
..... | |
..... | |
..... | |
smoke_down_1 | |
gray lightgray | |
00000 | |
01100 | |
1..11 | |
..... | |
..... | |
smoke_down_2 | |
gray lightgray | |
0.000 | |
0000. | |
00.01 | |
1111. | |
..... | |
smoke_down_3 | |
gray lightgray | |
11.11 | |
0.1.0 | |
.0.0. | |
0.0.1 | |
.1.1. | |
smoke_up_1 | |
gray lightgray | |
..... | |
..... | |
11..1 | |
00110 | |
00000 | |
smoke_up_2 | |
gray lightgray | |
..... | |
.1111 | |
10.00 | |
0000. | |
0.000 | |
smoke_up_3 | |
gray lightgray | |
.1.1. | |
1.0.0 | |
.0.0. | |
0.1.0 | |
11.11 | |
smoke_left_1 | |
gray lightgray | |
..100 | |
...10 | |
...10 | |
..100 | |
..100 | |
smoke_left_2 | |
gray lightgray | |
.1000 | |
.100. | |
.1.00 | |
.1000 | |
..1.0 | |
smoke_left_3 | |
gray lightgray | |
.0.01 | |
1.0.1 | |
.0.1. | |
1.0.1 | |
.1.01 | |
smoke_right_1 | |
gray lightgray | |
001.. | |
01... | |
01... | |
001.. | |
001.. | |
smoke_right_2 | |
gray lightgray | |
0001. | |
.001. | |
00.1. | |
0001. | |
0.1.. | |
smoke_right_3 | |
gray lightgray | |
10.0. | |
1.0.1 | |
.1.0. | |
1.0.1 | |
10.1. | |
smoke_downleft_1 | |
gray lightgray | |
..100 | |
...10 | |
....1 | |
..... | |
..... | |
smoke_downleft_2 | |
gray lightgray | |
.10.0 | |
.1000 | |
..10. | |
...11 | |
..... | |
smoke_downleft_3 | |
gray lightgray | |
10.0. | |
110.0 | |
.1.0. | |
.10.0 | |
..111 | |
smoke_upleft_1 | |
gray lightgray | |
..... | |
..... | |
....1 | |
...10 | |
..100 | |
smoke_upleft_2 | |
gray lightgray | |
..... | |
...11 | |
..10. | |
.1000 | |
.10.0 | |
smoke_upleft_3 | |
gray lightgray | |
..111 | |
.10.0 | |
.1.0. | |
110.0 | |
10.0. | |
smoke_downright_1 | |
gray lightgray | |
001.. | |
01... | |
1.... | |
..... | |
..... | |
smoke_downright_2 | |
gray lightgray | |
0.01. | |
0001. | |
.01.. | |
11... | |
..... | |
smoke_downright_3 | |
gray lightgray | |
.0.01 | |
0.011 | |
.0.1. | |
0.01. | |
111.. | |
smoke_upright_1 | |
gray lightgray | |
..... | |
..... | |
1.... | |
01... | |
001.. | |
smoke_upright_2 | |
gray lightgray | |
..... | |
11... | |
.01.. | |
0001. | |
0.01. | |
smoke_upright_3 | |
gray lightgray | |
111.. | |
0.01. | |
.0.1. | |
0.011 | |
.0.01 | |
( crates ) | |
Crate | |
#e26134 #d74431 (prev. all "brown") | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
Crate_moveable (to differentiate crate when it is pushable vs. when it is not) | |
#f36494 #e84691 | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
CrateLeft | |
#e26134 #d74431 | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
CrateRight | |
#e26134 #d74431 | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
CrateUp | |
#e26134 #d74431 | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
CrateDown | |
#e26134 #d74431 | |
00000 | |
0...1 | |
0...1 | |
0...0 | |
01100 | |
NoSlimeTile (terrain where slime isn't placed by ghost; graphics are placeholder) | |
#3f996f #24786f (previously all #909AB6) | |
0...0 | |
.0.0. | |
..0.. | |
.0.1. | |
0...1 | |
(Counters (Elyot) ) | |
( The shading is to try to make them look better when vertically adjacent, the chosen red and green shades are colour-blind safe... ish ) | |
( They numbers turn green if they agree with the number of wall tiles in their row and column ) | |
( All must be turned green to exit ) | |
( They don't have to go at the top/sides of the grid, you could try putting them anywhere or even making them pushable ) | |
( now they're pushable by the human ) | |
bgwrong | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
99999 | |
88888 | |
77777 | |
66666 | |
55555 | |
bgcorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
99999 | |
88888 | |
77777 | |
66666 | |
55555 | |
zero | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.444. | |
.3.3. | |
.2.2. | |
.1.1. | |
.000. | |
one | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.44.. | |
..3.. | |
..2.. | |
..1.. | |
.000. | |
two | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.44.. | |
...3. | |
..2.. | |
.1... | |
.000. | |
three | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.44.. | |
...3. | |
..22. | |
...1. | |
.00.. | |
four | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.4.4. | |
.3.3. | |
.222. | |
...1. | |
...0. | |
five | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.444. | |
.3... | |
.22.. | |
...1. | |
.00.. | |
six | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
..44. | |
.3... | |
.222. | |
.1.1. | |
.000. | |
seven | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.444. | |
...3. | |
..2.. | |
.1... | |
.0... | |
eight | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.444. | |
.3.3. | |
.222. | |
.1.1. | |
.000. | |
nine | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
.444. | |
.3.3. | |
.222. | |
...1. | |
.00.. | |
(prevents number sensors from looking forward) | |
numberblock | |
#f33 #f55 #f77 #f99 #fbb #100 #200 #300 #500 #700 | |
..... | |
.999. | |
.888. | |
.777. | |
..... | |
zerocorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.444. | |
.3.3. | |
.2.2. | |
.1.1. | |
.000. | |
onecorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.44.. | |
..3.. | |
..2.. | |
..1.. | |
.000. | |
twocorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.44.. | |
...3. | |
..2.. | |
.1... | |
.000. | |
threecorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.44.. | |
...3. | |
..22. | |
...1. | |
.00.. | |
fourcorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.4.4. | |
.3.3. | |
.222. | |
...1. | |
...0. | |
fivecorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.444. | |
.3... | |
.22.. | |
...1. | |
.00.. | |
sixcorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
..44. | |
.3... | |
.222. | |
.1.1. | |
.000. | |
sevencorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.444. | |
...3. | |
..2.. | |
.1... | |
.0... | |
eightcorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.444. | |
.3.3. | |
.222. | |
.1.1. | |
.000. | |
ninecorrect | |
#0f3 #3f6 #6f9 #9fc #cff #031 #052 #073 #094 #0b5 | |
.444. | |
.3.3. | |
.222. | |
...1. | |
.00.. | |
zerocount | |
transparent | |
onecount | |
transparent | |
twocount | |
transparent | |
threecount | |
transparent | |
fourcount | |
transparent | |
fivecount | |
transparent | |
sixcount | |
transparent | |
sevencount | |
transparent | |
eightcount | |
transparent | |
ninecount | |
transparent | |
tenpluscount | |
transparent | |
wallcounteru | |
transparent | |
wallcounterd | |
transparent | |
wallcounterl | |
transparent | |
wallcounterr | |
transparent | |
cornerTop | |
transparent | |
cornerBottom | |
transparent | |
Anim_Entry_0 | |
transparent | |
Anim_Entry_0_C | |
#20202b #a35884 #3c1093 | |
00011 | |
00011 | |
00011 | |
00011 | |
00011 | |
Anim_Entry_0_U | |
#20202b #a35884 #3c1093 | |
..... | |
.222. | |
2222. | |
0001. | |
00011 | |
Anim_Entry_0_D | |
#20202b #a35884 #3c1093 | |
00011 | |
0001. | |
222.. | |
222.. | |
..... | |
Anim_Entry_0_L | |
#20202b #a35884 #3c1093 | |
...00 | |
...00 | |
...00 | |
...00 | |
...00 | |
Anim_Entry_0_R | |
#20202b #a35884 #3c1093 | |
1.... | |
1.... | |
1.... | |
1.... | |
1.... | |
Anim_Entry_0_LU | |
#20202b #a35884 #3c1093 | |
..... | |
..... | |
..... | |
....0 | |
...00 | |
Anim_Entry_0_LD | |
#20202b #a35884 #3c1093 | |
...00 | |
....0 | |
....2 | |
..... | |
..... | |
Anim_Entry_1 | |
transparent | |
Anim_Entry_1_C | |
#242431 #b86495 #4412a6 | |
00011 | |
00011 | |
00011 | |
00011 | |
00011 | |
Anim_Entry_1_U | |
#242431 #b86495 #4412a6 | |
..... | |
..... | |
.222. | |
.222. | |
0001. | |
Anim_Entry_1_D | |
#242431 #b86495 #4412a6 | |
0001. | |
222.. | |
222.. | |
..... | |
..... | |
Anim_Entry_1_L | |
#242431 #b86495 #4412a6 | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
Anim_Entry_2 | |
transparent | |
Anim_Entry_2_C | |
#292936 #ce6fa7 #4c14ba | |
0001. | |
00011 | |
00011 | |
00011 | |
0001. | |
Anim_Entry_2_U | |
#292936 #ce6fa7 #4c14ba | |
..... | |
..... | |
..... | |
..22. | |
.222. | |
Anim_Entry_2_D | |
#292936 #ce6fa7 #4c14ba | |
222.. | |
.22.. | |
..... | |
..... | |
..... | |
Anim_Entry_3 | |
transparent | |
Anim_Entry_3_C | |
#2d2d3b #e17ab6 #5316cb | |
.001. | |
0001. | |
0001. | |
0001. | |
.001. | |
Anim_Entry_3_U | |
#2d2d3b #e17ab6 #5316cb | |
..... | |
..... | |
..... | |
..... | |
..22. | |
Anim_Entry_3_D | |
#2d2d3b #e17ab6 #5316cb | |
.22.. | |
..... | |
..... | |
..... | |
..... | |
Anim_Exit_Goal_0 | |
#8dcd3c #b4eb6e #c1f57f | |
10101 | |
00000 | |
10001 | |
00000 | |
10101 | |
Anim_Exit_Goal_1 | |
#8dcd3c #b4eb6e #c1f57f #151515 #242425 | |
00400 | |
00300 | |
43334 | |
00300 | |
00400 | |
Anim_Exit_Goal_2 | |
#8dcd3c #b4eb6e #c1f57f #151515 #242425 | |
04440 | |
43334 | |
43334 | |
43334 | |
04440 | |
Anim_Exit_Goal_3 | |
#8dcd3c #b4eb6e #c1f57f #151515 #242425 | |
44444 | |
43334 | |
43334 | |
43334 | |
44444 | |
Anim_Exit_HumanUp_0 | |
#303040 #f283c4 #5918db | |
..... | |
.1112 | |
20002 | |
2000. | |
..... | |
Anim_Exit_HumanRight_0 | |
#303040 #f283c4 #5918db | |
..22. | |
.001. | |
.001. | |
.001. | |
.22.. | |
Anim_Exit_HumanDown_0 | |
#303040 #f283c4 #5918db | |
..... | |
2000. | |
20002 | |
.1112 | |
..... | |
Anim_Exit_HumanLeft_0 | |
#303040 #f283c4 #5918db | |
.22.. | |
.100. | |
.100. | |
.100. | |
..22. | |
Anim_Exit_HumanUp_1 | |
#303040 #f283c4 #5918db #754561 #212127 | |
..... | |
.312. | |
.202. | |
.204. | |
..... | |
Anim_Exit_HumanRight_1 | |
#303040 #f283c4 #5918db #754561 #212127 | |
..... | |
.223. | |
.001. | |
.422. | |
..... | |
Anim_Exit_HumanDown_1 | |
#303040 #f283c4 #5918db #754561 #212127 | |
..... | |
.402. | |
.202. | |
.213. | |
..... | |
Anim_Exit_HumanLeft_1 | |
#303040 #f283c4 #5918db #754561 #212127 | |
..... | |
.224. | |
.100. | |
.322. | |
..... | |
Anim_Exit_Human_2 | |
#492594 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Anim_Exit_Human_3 | |
#2d1d51 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Anim_Exit_Human_4 | |
#221935 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Anim_Exit_Human_5 | |
#18161c | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Anim_Exit_Human_6 | |
transparent | |
MegaSlime_C_U0 | |
#bc57b2 #70486c #fb8fef #e87df1 #f38fef #d97ecf #cc72d1 #a200ff #fa96ef #f186ef | |
79847 | |
74327 | |
32425 | |
51116 | |
00000 | |
MegaSlime_C_U1 | |
#f490ef #fb8fef #f287ef #e177f1 #fa9eef #f79eef | |
25131 | |
25102 | |
10342 | |
21011 | |
13212 | |
MegaSlime_C_U2 | |
#fc7bed #fb76ec #f775ed #e871f2 #fb8fef #e894f2 #f89df0 #ed8cef #ed80f1 #fa96ef | |
54349 | |
65943 | |
59534 | |
74456 | |
48464 | |
MegaSlime_C_U3 | |
#e871f2 #b85de8 #fb8fef #d882eb #983ee2 #bf74eb #6c24dd #a961e8 #7830df | |
..... | |
..... | |
45678 | |
01232 | |
32203 | |
MegaSlime_L1_U0 | |
#bc57b2 #fb6feb #a200ff #d97ecf #fb8fef #f186ef | |
41542 | |
11422 | |
..134 | |
...03 | |
....0 | |
MegaSlime_L1_U1 | |
#fb6feb #fb8fef #f186ef #e177f1 #fa9eef #e9a3f2 #efb3f2 #e78cf2 | |
.0561 | |
.0174 | |
01321 | |
01211 | |
10131 | |
MegaSlime_L1_U2 | |
#fb6feb #fb8fef #f095f0 #f0c9f2 #f4b3f2 #ebb2f2 #f095f0 | |
....0 | |
...00 | |
...04 | |
..043 | |
..035 | |
MegaSlime_L1_U3 | |
#fd97f1 #8b4ae3 #fb6feb #bf74eb #6c24dd | |
..... | |
..... | |
..341 | |
...20 | |
....2 | |
MegaSlime_L2_U0 | |
#bc57b2 #fb6feb #a200ff #d97ecf #fb8fef #f186ef | |
...11 | |
..... | |
..... | |
..... | |
..... | |
MegaSlime_L2_U1 | |
#fb6feb #fb8fef | |
..... | |
..... | |
....0 | |
...01 | |
..011 | |
MegaSlime_R1_U0 | |
#bc57b2 #f186ef #a200ff #d97ecf #bc56b2 #e87eef #ce66c4 | |
21546 | |
22300 | |
330.. | |
30... | |
0.... | |
MegaSlime_R1_U1 | |
#fa9bef #f186ef #d961cc #d97ecf #bc56b2 #c369d1 #ce66c4 #e87df1 | |
1714. | |
0174. | |
10152 | |
17132 | |
71746 | |
MegaSlime_R1_U2 | |
#fb6feb #fb8fef #e379f1 #f186ef #fa9bef | |
0.... | |
00... | |
30... | |
110.. | |
410.. | |
MegaSlime_R1_U3 | |
#fd97f1 #985ee6 #fb6feb #bf74eb #6c24dd | |
..... | |
..... | |
143.. | |
02... | |
2.... | |
MegaSlime_R2_U0 | |
#bc57b2 #fb6feb #a200ff #d97ecf #fb8fef #f186ef | |
00... | |
..... | |
..... | |
..... | |
..... | |
MegaSlime_R2_U1 | |
#bc57b2 #de74d3 #ce66c4 | |
..... | |
..... | |
0.... | |
20... | |
110.. | |
MegaHuman_C_U0 | |
#303040 #f283c4 #5918db | |
11111 | |
11111 | |
11111 | |
11111 | |
11111 | |
MegaHuman_C_U1 | |
#303040 #f283c4 #5918db | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
MegaHuman_C_U2 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
..... | |
00000 | |
00000 | |
MegaHuman_C_U3 | |
transparent | |
MegaHuman_L1_U0 | |
#303040 #f283c4 #5918db | |
20000 | |
22111 | |
..111 | |
...11 | |
..... | |
MegaHuman_L1_U1 | |
#303040 #f283c4 #5918db | |
..000 | |
22000 | |
20000 | |
20000 | |
20000 | |
MegaHuman_L1_U2 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
..... | |
..... | |
...00 | |
MegaHuman_L1_U3 | |
transparent | |
MegaHuman_L2_U0 | |
#303040 #f283c4 #5918db | |
..222 | |
...22 | |
..... | |
..... | |
..... | |
MegaHuman_L2_U1 | |
#303040 #f283c4 #5918db | |
..... | |
...22 | |
..222 | |
..222 | |
..222 | |
MegaHuman_R1_U0 | |
#303040 #f283c4 #5918db | |
00002 | |
11122 | |
111.. | |
11... | |
..... | |
MegaHuman_R1_U1 | |
#303040 #f283c4 #5918db | |
000.. | |
00022 | |
00002 | |
00002 | |
00002 | |
MegaHuman_R1_U2 | |
#303040 #f283c4 #5918db | |
..... | |
..... | |
..... | |
..... | |
00... | |
MegaHuman_R1_U3 | |
transparent | |
MegaHuman_R2_U0 | |
#303040 #f283c4 #5918db | |
222.. | |
22... | |
..... | |
..... | |
..... | |
MegaHuman_R2_U1 | |
#303040 #f283c4 #5918db | |
..... | |
22... | |
222.. | |
222.. | |
222.. | |
OmegaLevelExit | |
black darkgray #c7cbd7 #bbbeca | |
.3210 | |
.3210 | |
.3210 | |
.3210 | |
.3210 | |
MegaSlimeWallMarker | |
transparent | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
======= | |
LEGEND | |
======= | |
( these letters are a little confusing ) | |
. = Background | |
# = SlimeWall | |
( changed p, q, r to animate it - for levels that start in slime mode, you see the human switch to slime at the start - sftrabbit ) | |
p = Anim_Entry_0 and Switcher | |
r = Anim_Entry_0 and Switcher and SlimeWall | |
q = Anim_Entry_0 | |
u = GhostRight (added this for the level where there's two players - we can imagine the other slime was there the whole time - sftrabbit) | |
j = HumanRightL (this is just for the very first level - sftrabbit) | |
s = Switcher | |
g = Goal | |
x = Border | |
c = Collectable | |
o = Collectable and SlimeWall | |
m = Crate | |
n = NoSlimeTile | |
b = NoSlimeTile and SlimeWall | |
t = Crate and Collectable | |
z = Crate and SlimeWall | |
0 = zero | |
1 = one | |
2 = two | |
3 = three | |
4 = four | |
5 = five | |
6 = six | |
7 = seven | |
8 = eight | |
9 = nine | |
& = border and numberblock | |
(Ŏ = zero and NoSlimeTile) | |
Ä = one and NoSlimeTile | |
Ɓ = two and NoSlimeTile | |
Ç = three and NoSlimeTile | |
Ð = four and NoSlimeTile | |
È = five and NoSlimeTile | |
(ƒ = six and NoSlimeTile) | |
(Ĝ = seven and NoSlimeTile) | |
(ƕ = eight and NoSlimeTile) | |
(ķ = nine and NoSlimeTile) | |
ꞎ = MegaSlime_C_U0 and SlimeWall | |
ᶆ = MegaSlime_L1_U0 and SlimeWall | |
ɳ = MegaSlime_R1_U0 and SlimeWall | |
ᶈ = MegaSlime_L2_U0 and SlimeWall | |
ʠ = MegaSlime_R2_U0 and SlimeWall | |
ᶉ = MegaSlime_L2_U1 and SlimeWall | |
ᶊ = MegaSlime_R2_U1 and SlimeWall | |
ƫ = MegaSlime_L1_U1 and SlimeWall | |
ᶙ = MegaSlime_C_U1 and SlimeWall | |
ᶌ = MegaSlime_R1_U1 and SlimeWall | |
ⱳ = MegaSlime_L1_U2 and SlimeWall | |
ᶍ = MegaSlime_R1_U2 and SlimeWall | |
ƴ = MegaSlime_C_U2 and SlimeWall | |
ᶎ = MegaSlime_C_U3 and SlimeWall | |
ᶚ = MegaSlime_L1_U3 and SlimeWall | |
ᶋ = MegaSlime_R1_U3 and SlimeWall | |
$ = SlimeWall and MegaSlimeWallMarker | |
Ω = OmegaLevelExit | |
/ = SlimeWall and NoSlimeTile and Collectable | |
GhostBump = GhostLeftBump1 or GhostLeftBump2 or GhostUpBump1 or GhostUpBump2 or GhostRightBump1 or GhostRightBump2 or GhostDownBump1 or GhostDownBump2 | |
Ghost = GhostLeft or GhostUp or GhostRight or GhostDown or GhostBump | |
SlimeSprite = SlimePoint or SlimeLeft or SlimeUp or SlimeRight or SlimeDown | |
HumanLeft = HumanLeftL or HumanLeftR | |
HumanUp = HumanUpL or HumanUpR | |
HumanRight = HumanRightL or HumanRightR | |
HumanDown = HumanDownL or HumanDownR | |
HumanLeftBumpL = HumanLeftLBump1 or HumanLeftLBump2 or HumanLeftLBump3 | |
HumanLeftBumpR = HumanLeftRBump1 or HumanLeftRBump2 or HumanLeftRBump3 | |
HumanUpBumpL = HumanUpLBump1 or HumanUpLBump2 or HumanUpLBump3 | |
HumanUpBumpR = HumanUpRBump1 or HumanUpRBump2 or HumanUpRBump3 | |
HumanRightBumpL = HumanRightLBump1 or HumanRightLBump2 or HumanRightLBump3 | |
HumanRightBumpR = HumanRightRBump1 or HumanRightRBump2 or HumanRightRBump3 | |
HumanDownBumpL = HumanDownLBump1 or HumanDownLBump2 or HumanDownLBump3 | |
HumanDownBumpR = HumanDownRBump1 or HumanDownRBump2 or HumanDownRBump3 | |
HumanBumpL = HumanLeftBumpL or HumanUpBumpL or HumanRightBumpL or HumanDownBumpL | |
HumanBumpR = HumanLeftBumpR or HumanUpBumpR or HumanRightBumpR or HumanDownBumpR | |
HumanL = HumanLeftL or HumanUpL or HumanRightL or HumanDownL or HumanBumpL | |
HumanR = HumanLeftR or HumanUpR or HumanRightR or HumanDownR or HumanBumpR | |
Human = HumanL or HumanR | |
Player = Ghost or Human | |
CrateMoving = CrateLeft or CrateRight or CrateUp or CrateDown | |
smoke_1 = smoke_start or smoke_upleft_1 or smoke_up_1 or smoke_upright_1 or smoke_left_1 or smoke_mid_1 or smoke_right_1 or smoke_downleft_1 or smoke_down_1 or smoke_downright_1 | |
wallGrow = wall_1_grow or wall_2_grow or wall_3_grow | |
count = zerocount or onecount or twocount or threecount or fourcount or fivecount or sixcount or sevencount or eightcount or ninecount or tenpluscount | |
number = zero or one or two or three or four or five or six or seven or eight or nine or numberblock | |
numberNoBlock = zero or one or two or three or four or five or six or seven or eight or nine | |
numbercorrect = zerocorrect or onecorrect or twocorrect or threecorrect or fourcorrect or fivecorrect or sixcorrect or sevencorrect or eightcorrect or ninecorrect | |
wallcounter = wallcounteru or wallcounterd or wallcounterl or wallcounterr | |
MovableNumber = number or numbercorrect | |
ObstructsNumber = Border or Crate or SlimeWall or MovableNumber | |
ObstructsCrate = Border or Crate or MovableNumber | |
ObstructsHuman = Border or Crate or MovableNumber or SlimeWall | |
ObstructsGhost = Border or Crate or MovableNumber or GoalWall | |
Ectoplasm = EctoPlasm01 or EctoPlasm02 or EctoPlasm03 or EctoPlasm04 | |
corners = CornerTL or CornerTR or CornerBL or CornerBR | |
cornerMarkers = cornerTop or cornerBottom | |
Anim_Entry = Anim_Entry_0_C or Anim_Entry_0_U or Anim_Entry_0_D or Anim_Entry_0_L or Anim_Entry_0_R or Anim_Entry_0_LU or Anim_Entry_0_LD or Anim_Entry_1_C or Anim_Entry_1_U or Anim_Entry_1_D or Anim_Entry_1_L or Anim_Entry_2_C or Anim_Entry_2_U or Anim_Entry_2_D or Anim_Entry_3_C or Anim_Entry_3_U or Anim_Entry_3_D | |
Anim_Exit_Goal = Anim_Exit_Goal_0 or Anim_Exit_Goal_1 or Anim_Exit_Goal_2 or Anim_Exit_Goal_3 | |
Anim_Exit_Human = Anim_Exit_HumanUp_0 or Anim_Exit_HumanUp_1 or Anim_Exit_HumanRight_0 or Anim_Exit_HumanRight_1 or Anim_Exit_HumanDown_0 or Anim_Exit_HumanDown_1 or Anim_Exit_HumanLeft_0 or Anim_Exit_HumanLeft_1 or Anim_Exit_Human_2 or Anim_Exit_Human_3 or Anim_Exit_Human_4 or Anim_Exit_Human_5 or Anim_Exit_Human_6 | |
MegaSlime = MegaSlime_C_U0 or MegaSlime_L1_U0 or MegaSlime_R1_U0 or MegaSlime_L2_U0 or MegaSlime_R2_U0 or MegaSlime_L2_U1 or MegaSlime_R2_U1 or MegaSlime_L1_U1 or MegaSlime_C_U1 or MegaSlime_R1_U1 or MegaSlime_L1_U2 or MegaSlime_R1_U2 or MegaSlime_C_U2 or MegaSlime_C_U3 or MegaSlime_R1_U3 or MegaSlime_L1_U3 | |
MegaHuman = MegaHuman_C_U0 or MegaHuman_L1_U0 or MegaHuman_R1_U0 or MegaHuman_L2_U0 or MegaHuman_R2_U0 or MegaHuman_L2_U1 or MegaHuman_R2_U1 or MegaHuman_L1_U1 or MegaHuman_C_U1 or MegaHuman_R1_U1 or MegaHuman_L1_U2 or MegaHuman_R1_U2 or MegaHuman_C_U2 or MegaHuman_C_U3 or MegaHuman_R1_U3 or MegaHuman_L1_U3 | |
Mega = MegaSlime or MegaHuman | |
(SlimeWall Borders decoration) | |
BorderDeco = BorderL or BorderR or BorderU or BorderD | |
BoX = BoLXU or BoDXL or BoUXR or BoRXD | |
BoXL = BoLXU or BoDXL | |
BoXU = BoLXU or BoUXR | |
BoXR = BoUXR or BoRXD | |
BoXD = BoDXL or BoRXD | |
======= | |
SOUNDS | |
======= | |
Collectable destroy 85509507 | |
BackgroundPreview create 87139507 (could perhaps be more subtle still) | |
sfx0 77471309 (switching between human and ghost) | |
sfx1 13053307 (pushing the crate) | |
sfx2 56721500 | |
sfx3 94624704 (Human bump against wall) | |
sfx4 53709103 (Ghost bump) | |
sfx5 9608908 (Human bump agains ectoplasm) | |
sfx6 40971508 (Goal open) | |
sfx7 29705501 (Human fall into goal) | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
OmegaLevelExit | |
Goal | |
GoalEnabled | |
GoalConditionMarker | |
Anim_Exit_Goal | |
HasWalked | |
wall_1_grow, wall_2_grow, wall_3_grow, wall_1_shrink, wall_2_shrink, wall_3_shrink | |
SlimeWall | |
Ectoplasm | |
cornerTL | |
cornerTR | |
cornerBL | |
cornerBR | |
Human, Border, bgwrong, bgcorrect | |
BackgroundPreview, WallPreview | |
BorderL | |
BorderU | |
BorderR | |
BorderD | |
BoLXU | |
BoUXR | |
BoDXL | |
BoRXD | |
BorderLkD | |
BorderUkL | |
BorderRkU | |
BorderDkR | |
BorderLkU | |
BorderUkR | |
BorderRkD | |
BorderDkL | |
SlimeMarker | |
SlimePoint | |
SlimeLeft | |
SlimeRight | |
SlimeUp | |
SlimeDown | |
Collectable | |
Collectable_Slimed | |
NoSlimeTile | |
Switcher | |
GoalWall | |
Ghost, Crate, CrateMoving, | |
TogglePlayerState | |
Crate_moveable | |
zero, one, two, three, four, five, six, seven, eight, nine, zerocorrect, onecorrect, twocorrect, threecorrect, fourcorrect, fivecorrect, sixcorrect, sevencorrect, eightcorrect, ninecorrect | |
smoke_start, smoke_mid_1, smoke_mid_2, smoke_mid_3, smoke_down_1, smoke_down_2, smoke_down_3, smoke_up_1, smoke_up_2, smoke_up_3, smoke_left_1, smoke_left_2, smoke_left_3, smoke_right_1, smoke_right_2, smoke_right_3, smoke_downleft_1, smoke_downleft_2, smoke_downleft_3, smoke_downright_1, smoke_downright_2, smoke_downright_3, smoke_upleft_1, smoke_upleft_2, smoke_upleft_3, smoke_upright_1, smoke_upright_2, smoke_upright_3 | |
zerocount, onecount, twocount, threecount, fourcount, fivecount, sixcount, sevencount, eightcount, ninecount, tenpluscount | |
wallcounteru | |
wallcounterd | |
wallcounterl | |
wallcounterr | |
numberblock | |
cornerTop | |
cornerBottom | |
Anim_Entry_0 Anim_Entry_1 Anim_Entry_2 Anim_Entry_3 | |
Anim_Entry | |
Anim_Exit_Human | |
Mega | |
MegaSlimeWallMarker | |
====== | |
RULES | |
====== | |
( THIS SECTION IS ALL AESTHETICS | |
if you'd like to add non-aesthetic rules here, that's fine, i'm just saying this so that you can skip reading it if it doesn't pertain to you) | |
(decorates the borders) | |
late left [Border no BorderL|no Border]-> [Border BorderL|] | |
late up [Border no BorderU|no Border]-> [Border BorderU|] | |
late right [Border no BorderR|no Border]-> [Border BorderR|] | |
late down [Border no BorderD|no Border]-> [Border BorderD|] | |
(corners) | |
late left [Border no BorderLkD|Border BorderD]->[Border BorderLkD|Border BorderD] | |
late up [Border no BorderUkL|Border BorderL]->[Border BorderUkL|Border BorderL] | |
late right [Border no BorderRkU|Border BorderU]->[Border BorderRkU|Border BorderU] | |
late down [Border no BorderDkR|Border BorderR]->[Border BorderDkR|Border BorderR] | |
late left [Border no BorderLkU|Border BorderU]->[Border BorderLkU|Border BorderU] | |
late up [Border no BorderUkR|Border BorderR]->[Border BorderUkR|Border BorderR] | |
late right [Border no BorderRkD|Border BorderD]->[Border BorderRkD|Border BorderD] | |
late down [Border no BorderDkL|Border BorderL]->[Border BorderDkL|Border BorderL] | |
late [Border BorderLkU BorderUkL no BoLxU]->[Border BorderLkU BorderUkL BoLxU] | |
late [Border BorderUkR BorderRkU no BoUxR]->[Border BorderUkR BorderRkU BoUxR] | |
late [Border BorderRkD BorderDkR no BoRxD]->[Border BorderRkD BorderDkR BoRxD] | |
late [Border BorderDkL BorderLkD no BoDxL]->[Border BorderDkL BorderLkD BoDxL] | |
late [BorderDeco no Border]->[no BorderDeco] | |
late [BoX no Border]->[no BoX] | |
(makes ghost face the direction of movement) | |
[ left Ghost ] -> [ left GhostLeft ] | |
[ up Ghost ] -> [ up GhostUp ] | |
[ right Ghost ] -> [ right GhostRight ] | |
[ down Ghost ] -> [ down GhostDown ] | |
(Illegal move "bump" animations) | |
(jcGyo: I had to futz with the movement rules a bit to get this working and it was pretty complex by the time I got to it, I reeeeeally hope I didn't break any weird edge cases.) | |
[HumanLeftLBump3] -> [HumanLeftL] | |
[HumanLeftLBump2] -> [HumanLeftLBump3] again | |
[HumanLeftLBump1] -> [HumanLeftLBump2] again | |
[HumanLeftRBump3] -> [HumanLeftR] | |
[HumanLeftRBump2] -> [HumanLeftRBump3] again | |
[HumanLeftRBump1] -> [HumanLeftRBump2] again | |
[HumanUpLBump3] -> [HumanUpL] | |
[HumanUpLBump2] -> [HumanUpLBump3] again | |
[HumanUpLBump1] -> [HumanUpLBump2] again | |
[HumanUpRBump3] -> [HumanUpR] | |
[HumanUpRBump2] -> [HumanUpRBump3] again | |
[HumanUpRBump1] -> [HumanUpRBump2] again | |
[HumanRightLBump3] -> [HumanRightL] | |
[HumanRightLBump2] -> [HumanRightLBump3] again | |
[HumanRightLBump1] -> [HumanRightLBump2] again | |
[HumanRightRBump3] -> [HumanRightR] | |
[HumanRightRBump2] -> [HumanRightRBump3] again | |
[HumanRightRBump1] -> [HumanRightRBump2] again | |
[HumanDownLBump3] -> [HumanDownL] | |
[HumanDownLBump2] -> [HumanDownLBump3] again | |
[HumanDownLBump1] -> [HumanDownLBump2] again | |
[HumanDownRBump3] -> [HumanDownR] | |
[HumanDownRBump2] -> [HumanDownRBump3] again | |
[HumanDownRBump1] -> [HumanDownRBump2] again | |
[GhostLeftBump2] -> [GhostLeft] | |
[GhostLeftBump1] -> [GhostLeftBump2] again | |
[GhostUpBump2] -> [GhostUp] | |
[GhostUpBump1] -> [GhostUpBump2] again | |
[GhostRightBump2] -> [GhostRight] | |
[GhostRightBump1] -> [GhostRightBump2] again | |
[GhostDownBump2] -> [GhostDown] | |
[GhostDownBump1] -> [GhostDownBump2] again | |
( THIS SECTION HAS LESS AESTHETICS ) | |
(Interactions between Human and Crate, feel free to add) | |
[ > Human | Crate ] -> [ Human | Crate ] | |
(humans can't push crates but can push numbers) | |
[ > Human | no SlimeWall no border MovableNumber | no ObstructsNumber ] -> [ > Human | > MovableNumber | ] sfx1 | |
[ > MovableNumber | ObstructsNumber ] -> [ MovableNumber | ObstructsNumber ] | |
[ > MovableNumber | MovableNumber ] -> [ MovableNumber | MovableNumber ] | |
(Crate can be bumped by one space) | |
[ > Ghost | Crate | No ObstructsCrate ] -> [ Ghost | > Crate | ] sfx1 | |
(Human Bump) | |
LEFT [ left HumanL | stationary ObstructsHuman no Ectoplasm ] -> [ HumanLeftLBump1 | ObstructsHuman ] sfx3 again | |
LEFT [ left HumanR | stationary ObstructsHuman no Ectoplasm] -> [ HumanLeftRBump1 | ObstructsHuman ] sfx3 again | |
UP [ up HumanL | stationary ObstructsHuman no Ectoplasm] -> [ HumanUpLBump1 | ObstructsHuman ] sfx3 again | |
UP [ up HumanR | stationary ObstructsHuman no Ectoplasm] -> [ HumanUpRBump1 | ObstructsHuman ] sfx3 again | |
RIGHT [ right HumanL | stationary ObstructsHuman no Ectoplasm] -> [ HumanRightLBump1 | ObstructsHuman ] sfx3 again | |
RIGHT [ right HumanR | stationary ObstructsHuman no Ectoplasm] -> [ HumanRightRBump1 | ObstructsHuman ] sfx3 again | |
DOWN [ down HumanL | stationary ObstructsHuman no Ectoplasm] -> [ HumanDownLBump1 | ObstructsHuman ] sfx3 again | |
DOWN [ down HumanR | stationary ObstructsHuman no Ectoplasm] -> [ HumanDownRBump1 | ObstructsHuman ] sfx3 again | |
(Human Bump Ectoplasm) | |
LEFT [ left HumanL | stationary Ectoplasm ] -> [ HumanLeftLBump1 | Ectoplasm ] sfx5 again | |
LEFT [ left HumanR | stationary Ectoplasm ] -> [ HumanLeftRBump1 | Ectoplasm ] sfx5 again | |
UP [ up HumanL | stationary Ectoplasm ] -> [ HumanUpLBump1 | Ectoplasm ] sfx5 again | |
UP [ up HumanR | stationary Ectoplasm ] -> [ HumanUpRBump1 | Ectoplasm ] sfx5 again | |
RIGHT [ right HumanL | stationary Ectoplasm ] -> [ HumanRightLBump1 | Ectoplasm ] sfx5 again | |
RIGHT [ right HumanR | stationary Ectoplasm ] -> [ HumanRightRBump1 | Ectoplasm ] sfx5 again | |
DOWN [ down HumanL | stationary Ectoplasm ] -> [ HumanDownLBump1 | Ectoplasm ] sfx5 again | |
DOWN [ down HumanR | stationary Ectoplasm ] -> [ HumanDownRBump1 | Ectoplasm ] sfx5 again | |
(makes human face the direction of movement, and does the walking animation | |
note: walking into a wall adds movements to the undo queue. i tried fixing it for a while, but it's probably more work than what it's worth. besides, walking into a wall is kinda funny anyway | |
jcGyo: When I added the bump animations I think it fixed that, although if walking into a wall causes a player direction change that action still goes on the stack | |
) | |
[ left HumanL ] -> [ left HumanLeftR HasWalked ] | |
[ up HumanL ] -> [ up HumanUpR HasWalked ] | |
[ right HumanL ] -> [ right HumanRightR HasWalked ] | |
[ down HumanL ] -> [ down HumanDownR HasWalked ] | |
[ left HumanR no HasWalked ] -> [ left HumanLeftL ] | |
[ up HumanR no HasWalked ] -> [ up HumanUpL ] | |
[ right HumanR no HasWalked ] -> [ right HumanRightL ] | |
[ down HumanR no HasWalked ] -> [ down HumanDownL ] | |
[ HasWalked ] -> [ ] | |
(Ghost Bump) | |
LEFT [ left Ghost | stationary ObstructsGhost ] -> [ GhostLeftBump1 | ObstructsGhost ] sfx4 again | |
UP [ up Ghost | stationary ObstructsGhost ] -> [ GhostUpBump1 | ObstructsGhost ] sfx4 again | |
RIGHT [ right Ghost | stationary ObstructsGhost ] -> [ GhostRightBump1 | ObstructsGhost ] sfx4 again | |
DOWN [ down Ghost | stationary ObstructsGhost ] -> [ GhostDownBump1 | ObstructsGhost ] sfx4 again | |
(Crate slides over slime) | |
[ CrateLeft SlimeMarker ] -> [ left Crate SlimeMarker ] | |
[ CrateRight SlimeMarker ] -> [ right Crate SlimeMarker ] | |
[ CrateUp SlimeMarker ] -> [ up Crate SlimeMarker ] | |
[ CrateDown SlimeMarker ] -> [ down Crate SlimeMarker ] | |
[ > Crate | ObstructsCrate ] -> [ Crate | ObstructsCrate ] | |
left [ left Crate | ] -> [ | CrateLeft ] | |
right [ right Crate | ] -> [ | CrateRight ] | |
up [ up Crate | ] -> [ | CrateUp ] | |
down [ down Crate | ] -> [ | CrateDown ] | |
[ CrateMoving no SlimeMarker ] -> [ Crate ] | |
[ CrateMoving SlimeMarker ] -> again | |
( animate puff of smoke ) | |
[smoke_mid_3]->[] | |
[smoke_mid_2]->[smoke_mid_3] again | |
[smoke_mid_1]->[smoke_mid_2] again | |
[smoke_down_3]->[] | |
[smoke_down_2]->[smoke_down_3] again | |
[smoke_down_1]->[smoke_down_2] again | |
[smoke_up_3]->[] | |
[smoke_up_2]->[smoke_up_3] again | |
[smoke_up_1]->[smoke_up_2] again | |
[smoke_left_3]->[] | |
[smoke_left_2]->[smoke_left_3] again | |
[smoke_left_1]->[smoke_left_2] again | |
[smoke_right_3]->[] | |
[smoke_right_2]->[smoke_right_3] again | |
[smoke_right_1]->[smoke_right_2] again | |
[smoke_downleft_3]->[] | |
[smoke_downleft_2]->[smoke_downleft_3] again | |
[smoke_downleft_1]->[smoke_downleft_2] again | |
[smoke_downright_3]->[] | |
[smoke_downright_2]->[smoke_downright_3] again | |
[smoke_downright_1]->[smoke_downright_2] again | |
[smoke_upleft_3]->[] | |
[smoke_upleft_2]->[smoke_upleft_3] again | |
[smoke_upleft_1]->[smoke_upleft_2] again | |
[smoke_upright_3]->[] | |
[smoke_upright_2]->[smoke_upright_3] again | |
[smoke_upright_1]->[smoke_upright_2] again | |
( initialize smoke cloud ) | |
down [smoke_start | no border no smoke_1] -> [smoke_start | smoke_down_1] | |
up [smoke_start | no border no smoke_1] -> [smoke_start | smoke_up_1] | |
left [smoke_start | no border no smoke_1] -> [smoke_start | smoke_left_1] | |
right [smoke_start | no border no smoke_1] -> [smoke_start | smoke_right_1] | |
right [ no smoke_1 no border | smoke_down_1]->[smoke_downleft_1 | smoke_down_1] | |
up [no smoke_1 no border | smoke_left_1]->[smoke_downleft_1 | smoke_left_1] | |
right [no smoke_1 no border | smoke_up_1]->[smoke_upleft_1 | smoke_up_1] | |
down [ no smoke_1 no border | smoke_left_1]->[smoke_upleft_1 | smoke_left_1] | |
left [ no smoke_1 no border | smoke_down_1]->[smoke_downright_1 | smoke_down_1] | |
up [no smoke_1 no border | smoke_right_1]->[smoke_downright_1 | smoke_right_1] | |
left [ no smoke_1 no border | smoke_up_1]->[smoke_upright_1 | smoke_up_1] | |
down [no smoke_1 no border | smoke_right_1]->[smoke_upright_1 | smoke_right_1] | |
[smoke_start]->[smoke_mid_1] again | |
( MegaSlime transformation ) | |
late [ Player Switcher ][ Mega ] -> [ Player Switcher ][ Mega Switcher ] | |
late [ MegaSlime_C_U0 Switcher ] -> [ MegaHuman_C_U0 smoke_start ] | |
late [ MegaSlime_L1_U0 Switcher ] -> [ MegaHuman_L1_U0 smoke_start ] | |
late [ MegaSlime_R1_U0 Switcher ] -> [ MegaHuman_R1_U0 smoke_start ] | |
late [ MegaSlime_L2_U0 Switcher ] -> [ MegaHuman_L2_U0 smoke_start ] | |
late [ MegaSlime_R2_U0 Switcher ] -> [ MegaHuman_R2_U0 smoke_start ] | |
late [ MegaSlime_L2_U1 Switcher ] -> [ MegaHuman_L2_U1 smoke_start ] | |
late [ MegaSlime_R2_U1 Switcher ] -> [ MegaHuman_R2_U1 smoke_start ] | |
late [ MegaSlime_L1_U1 Switcher ] -> [ MegaHuman_L1_U1 smoke_start ] | |
late [ MegaSlime_C_U1 Switcher ] -> [ MegaHuman_C_U1 smoke_start ] | |
late [ MegaSlime_R1_U1 Switcher ] -> [ MegaHuman_R1_U1 smoke_start ] | |
late [ MegaSlime_L1_U2 Switcher ] -> [ MegaHuman_L1_U2 smoke_start ] | |
late [ MegaSlime_R1_U2 Switcher ] -> [ MegaHuman_R1_U2 smoke_start ] | |
late [ MegaSlime_C_U2 Switcher ] -> [ MegaHuman_C_U2 smoke_start ] | |
late [ MegaSlime_C_U3 Switcher ] -> [ MegaHuman_C_U3 ] | |
late [ MegaSlime_L1_U3 Switcher ] -> [ MegaHuman_L1_U3 ] | |
late [ MegaSlime_R1_U3 Switcher ] -> [ MegaHuman_R1_U3 ] | |
late [ MegaHuman_C_U0 Switcher ] -> [ MegaSlime_C_U0 smoke_start ] | |
late [ MegaHuman_L1_U0 Switcher ] -> [ MegaSlime_L1_U0 smoke_start ] | |
late [ MegaHuman_R1_U0 Switcher ] -> [ MegaSlime_R1_U0 smoke_start ] | |
late [ MegaHuman_L2_U0 Switcher ] -> [ MegaSlime_L2_U0 smoke_start ] | |
late [ MegaHuman_R2_U0 Switcher ] -> [ MegaSlime_R2_U0 smoke_start ] | |
late [ MegaHuman_L2_U1 Switcher ] -> [ MegaSlime_L2_U1 smoke_start ] | |
late [ MegaHuman_R2_U1 Switcher ] -> [ MegaSlime_R2_U1 smoke_start ] | |
late [ MegaHuman_L1_U1 Switcher ] -> [ MegaSlime_L1_U1 smoke_start ] | |
late [ MegaHuman_C_U1 Switcher ] -> [ MegaSlime_C_U1 smoke_start ] | |
late [ MegaHuman_R1_U1 Switcher ] -> [ MegaSlime_R1_U1 smoke_start ] | |
late [ MegaHuman_L1_U2 Switcher ] -> [ MegaSlime_L1_U2 smoke_start ] | |
late [ MegaHuman_R1_U2 Switcher ] -> [ MegaSlime_R1_U2 smoke_start ] | |
late [ MegaHuman_C_U2 Switcher ] -> [ MegaSlime_C_U2 smoke_start ] | |
late [ MegaHuman_C_U3 Switcher ] -> [ MegaSlime_C_U3 smoke_start ] | |
late [ MegaHuman_L1_U3 Switcher ] -> [ MegaSlime_L1_U3 smoke_start ] | |
late [ MegaHuman_R1_U3 Switcher ] -> [ MegaSlime_R1_U3 smoke_start ] | |
late [ MegaSlime ] -> [ MegaSlime SlimeWall ] | |
late [ MegaHuman SlimeWall no MegaHuman_L1_U3 no MegaHuman_C_U3 no MegaHuman_R1_U3] -> [ MegaHuman ] | |
( switches from human to ghost ) | |
late [ HumanRight Switcher ] -> [ GhostRight smoke_start ] sfx0 | |
late [ HumanUp Switcher ] -> [ GhostUp smoke_start ] sfx0 | |
late [ HumanLeft Switcher ] -> [ GhostLeft smoke_start ] sfx0 | |
late [ HumanDown Switcher ] -> [ GhostDown smoke_start ] sfx0 | |
( applies the slime, switching walls to empty tiles and vice versa ) | |
late [ Ghost Switcher ] [ SlimeMarker SlimeWall ] -> [ Ghost Switcher ] [ wall_3_shrink] again | |
late [ Ghost Switcher ] [ SlimeMarker no SlimeWall ] -> [ Ghost Switcher ] [ Wall_1_grow] again | |
late [ Crate Switcher ] [ SlimeMarker SlimeWall ] -> [ Crate Switcher ] [ wall_3_shrink] again | |
late [ Crate Switcher ] [ SlimeMarker no SlimeWall ] -> [ Crate Switcher ] [ Wall_1_grow] again | |
late [ Crate Switcher ] [ ghost SlimeWall no wall_3_shrink] -> [Crate Switcher] [ghost wall_3_shrink] | |
( makes it so that a wall doesn't solidify on top of the player, if the switcher is activated with a crate ) | |
late [ Ghost wall_1_grow ] -> [ Ghost ] | |
( switches from ghost to human ) | |
late [ Crate Switcher ] [ Ghost TogglePlayerState ] -> [ smoke_start] [ Ghost TogglePlayerState smoke_start ] sfx0 | |
late [ Ghost Switcher ] -> [ Ghost TogglePlayerState smoke_start ] sfx0 | |
late [ GhostRight TogglePlayerState ] -> [ HumanRightL ] | |
late [ GhostUp TogglePlayerState ] -> [ HumanUpL ] | |
late [ GhostLeft TogglePlayerState ] -> [ HumanLeftL ] | |
late [ GhostDown TogglePlayerState ] -> [ HumanDownL ] | |
late [ Crate Switcher ] [ Ghost ] -> [ crate Switcher] [ Ghost TogglePlayerState ] again | |
( animate when there are new smokes ) | |
late [smoke_start]->again | |
(locks and unlocks goal, to save the player from locking themselves) | |
late [ Goal ] [ Ghost ] -> [ Goal GoalWall ] [ Ghost ] | |
late [ GoalEnabled ] [ Ghost ] -> [ GoalEnabled GoalWall ] [ Ghost ] | |
late [ GoalWall ] [ Human ] -> [ ] [ Human ] | |
[ > Ghost | GoalWall ] -> [ Ghost | GoalWall] | |
( MegaSlime wall grow/shrink ) | |
late [ MegaSlimeWallMarker | no MegaSlimeWallMarker no Border no Mega ] -> [ MegaSlimeWallMarker | MegaSlimeWallMarker ] | |
late random [ Ghost no SlimeMarker no NoSlimeTile no Switcher SlimeWall ][ SlimeWall | MegaSlimeWallMarker no SlimeWall ] -> [ Ghost SlimeWall ][ SlimeWall | SlimeWall MegaSlimeWallMarker ] | |
late random [ Ghost no SlimeMarker no NoSlimeTile no Switcher no SlimeWall ][ SlimeWall | MegaSlimeWallMarker no SlimeWall ] -> [ Ghost ][ | MegaSlimeWallMarker ] | |
( lays down slime beneath player ) | |
late [ Ghost no SlimeMarker no NoSlimeTile no Switcher ] -> [ Ghost SlimeMarker ] | |
( does the graphics of the slime trail ) | |
late left [ SlimeMarker | SlimeMarker ] -> [ SlimeMarker SlimeLeft | SlimeMarker SlimeRight ] | |
late up [ SlimeMarker | SlimeMarker ] -> [ SlimeMarker SlimeUp | SlimeMarker SlimeDown ] | |
( handles the "preview" that shows what tiles will become after the switch ) | |
late [ SlimeMarker no SlimeWall ] -> [ SlimeMarker WallPreview ] | |
late [ SlimeMarker SlimeWall ] -> [ SlimeMarker SlimeWall BackgroundPreview ] | |
late [ SlimeMarker no SlimeUp no SlimeDown no SlimeLeft no SlimeRight no SlimePoint no ghost] -> [SlimeMarker SlimePoint] | |
(animate wall growth) | |
late [wall_3_grow]->[SlimeWall] | |
late [wall_2_grow]->[wall_3_grow] again | |
late [wall_1_grow]->[wall_2_grow] again | |
late [wall_1_shrink]->[] | |
late [wall_2_shrink]->[wall_1_shrink] again | |
late [wall_3_shrink]->[wall_2_shrink] again | |
( removes slime aesthetics as necessary ) | |
late [ SlimeSprite no SlimeMarker ] -> [ ] | |
late [ WallPreview no SlimeMarker ] -> [ ] | |
late [ BackgroundPreview no SlimeMarker ] -> [ ] | |
( collects collectables ) | |
late [ Human Collectable ] -> [ Human ] | |
( add slime marker to collectables ) | |
late [Collectable_Slimed]->[] | |
late [SlimeMarker Collectable]->[SlimeMarker Collectable Collectable_Slimed] | |
( show other crate sprite when in ghost mode ) | |
late [Crate_moveable]->[] | |
late [ghost][crate]->[ghost][crate Crate_moveable] | |
late [ghost][CrateMoving]->[ghost][CrateMoving Crate_moveable] | |
( numbers ) | |
late [count] -> [] | |
late [ zero ] -> [ zero zerocount] | |
late [ one ] -> [ one zerocount] | |
late [ two ] -> [ two zerocount] | |
late [ three ] -> [ three zerocount] | |
late [ four ] -> [ four zerocount] | |
late [ five ] -> [ five zerocount] | |
late [ six ] -> [ six zerocount] | |
late [ seven ] -> [ seven zerocount] | |
late [ eight ] -> [ eight zerocount] | |
late [ nine ] -> [ nine zerocount] | |
late [ zerocorrect ] -> [ zero zerocount] | |
late [ onecorrect ] -> [ one zerocount] | |
late [ twocorrect ] -> [ two zerocount] | |
late [ threecorrect ] -> [ three zerocount] | |
late [ fourcorrect ] -> [ four zerocount] | |
late [ fivecorrect ] -> [ five zerocount] | |
late [ sixcorrect ] -> [ six zerocount] | |
late [ sevencorrect ] -> [ seven zerocount] | |
late [ eightcorrect ] -> [ eight zerocount] | |
late [ ninecorrect ] -> [ nine zerocount] | |
(numbers now work like this: every turn, each slime wall sends four invisible counting markers in all directions, and numbers tally how many of these markers hit them) | |
(only the NumberBlock object and other numbers block these markers ) | |
(I've updated this count to update based on what walls will be/won't be in place with the plasma switch. It's only a graphical change, but a good one, I think. -EPGA) | |
late [ WallPreview] -> [ WallPreview wallcounteru wallcounterd wallcounterl wallcounterr ] | |
late [ SlimeWall no BackgroundPreview ] -> [ SlimeWall wallcounteru wallcounterd wallcounterl wallcounterr ] | |
late [ wallGrow ] -> [ wallGrow wallcounteru wallcounterd wallcounterl wallcounterr ] | |
late left [ wallcounterl no number | no wallcounterl ] -> [ | wallcounterl ] | |
+ late right [ wallcounterr no number | no wallcounterr ] -> [ | wallcounterr ] | |
+ late up [ wallcounteru no number | no wallcounteru] -> [ | wallcounteru ] | |
+ late down [ wallcounterd no number | no wallcounterd ] -> [ | wallcounterd ] | |
+ late [ zerocount wallcounter ] -> [ onecount ] | |
+ late [ onecount wallcounter ] -> [ twocount ] | |
+ late [ twocount wallcounter ] -> [ threecount ] | |
+ late [ threecount wallcounter ] -> [ fourcount ] | |
+ late [ fourcount wallcounter ] -> [ fivecount ] | |
+ late [ fivecount wallcounter ] -> [ sixcount ] | |
+ late [ sixcount wallcounter ] -> [ sevencount ] | |
+ late [ sevencount wallcounter ] -> [ eightcount ] | |
+ late [ eightcount wallcounter ] -> [ ninecount ] | |
+ late [ ninecount wallcounter ] -> [ tenpluscount ] | |
+ late [ tenpluscount wallcounter ] -> [ tenpluscount ] | |
late [ zero zerocount ] -> [ zerocorrect ] | |
late [ one onecount ] -> [ onecorrect ] | |
late [ two twocount ] -> [ twocorrect ] | |
late [ three threecount ] -> [ threecorrect ] | |
late [ four fourcount ] -> [ fourcorrect ] | |
late [ five fivecount ] -> [ fivecorrect ] | |
late [ six sixcount ] -> [ sixcorrect ] | |
late [ seven sevencount ] -> [ sevencorrect ] | |
late [ eight eightcount ] -> [ eightcorrect ] | |
late [ nine ninecount ] -> [ ninecorrect ] | |
late [ bgcorrect ] -> [ ] | |
late [ bgwrong ] -> [ ] | |
late [numbercorrect ] -> [numbercorrect bgcorrect] | |
late [numberNoBlock ] -> [numberNoBlock bgwrong] | |
late [ wallcounter ] -> [] | |
(late astethics) | |
(WIN CONDITIONS) | |
(Turns the goal into GoalEnabled when theres no Collectable or any numbers) | |
late [Goal] -> [Goal GoalConditionMarker] | |
late [Collectable] [Goal GoalConditionMarker] -> [Collectable] [Goal] | |
late [zero] [Goal GoalConditionMarker] -> [zero] [Goal] | |
late [one] [Goal GoalConditionMarker] -> [one] [Goal] | |
late [two] [Goal GoalConditionMarker] -> [two] [Goal] | |
late [three] [Goal GoalConditionMarker] -> [three] [Goal] | |
late [four] [Goal GoalConditionMarker] -> [four] [Goal] | |
late [five] [Goal GoalConditionMarker] -> [five] [Goal] | |
late [six] [Goal GoalConditionMarker] -> [six] [Goal] | |
late [seven] [Goal GoalConditionMarker] -> [seven] [Goal] | |
late [eight] [Goal GoalConditionMarker] -> [eight] [Goal] | |
late [nine] [Goal GoalConditionMarker] -> [nine] [Goal] | |
late [Goal GoalConditionMarker] -> [GoalEnabled] | |
late [Human OmegaLevelExit ] -> win (additional win condition that deviates from norm) | |
(Beautify the ectoplasm / wall) | |
late[SlimeWall no Ectoplasm] -> [SlimeWall random Ectoplasm] | |
late[Ectoplasm no SlimeWall] -> [] | |
late [corners] -> [] | |
late up [Ectoplasm | no Ectoplasm] -> [Ectoplasm cornerTop | ] | |
late down [Ectoplasm | no Ectoplasm] -> [Ectoplasm cornerBottom | ] | |
late right [Ectoplasm cornerTop | no Ectoplasm] -> [Ectoplasm cornerTop cornerTR | ] | |
late right [Ectoplasm cornerBottom | no Ectoplasm] -> [Ectoplasm cornerBottom cornerBR | ] | |
late left [Ectoplasm cornerTop | no Ectoplasm] -> [Ectoplasm cornerTL | ] | |
late left [Ectoplasm cornerBottom | no Ectoplasm] -> [Ectoplasm cornerBL | ] | |
late [cornerMarkers] -> [] | |
(entry animation) | |
late [ Anim_Entry ] -> [ ] | |
late up [ | Anim_Entry_3 | ] -> [ Anim_Entry_3_D | HumanRightL Anim_Entry_3_C | Anim_Entry_3_U ] sfx3 again checkpoint (checkpoint avoids watching animation on restart) | |
late up [ | Anim_Entry_2 | ] -> [ Anim_Entry_2_D | Anim_Entry_3 Anim_Entry_2_C | Anim_Entry_2_U ] again | |
late up [ | Anim_Entry_1 | ] -> [ Anim_Entry_1_D | Anim_Entry_2 Anim_Entry_1_C | Anim_Entry_1_U ] again | |
late right [ | Anim_Entry_1_C ] -> [ Anim_Entry_1_L | Anim_Entry_1_C ] again | |
late up [ | Anim_Entry_0 | ] -> [ Anim_Entry_0_D | Anim_Entry_1 Anim_Entry_0_C | Anim_Entry_0_U ] again | |
late right [ | Anim_Entry_0_C | ] -> [ Anim_Entry_0_L | Anim_Entry_0_C | Anim_Entry_0_R ] again | |
late up [ | Anim_Entry_0_L | ] -> [ Anim_Entry_0_LD | Anim_Entry_0_L | Anim_Entry_0_LU ] again | |
(exit animation)) | |
late [ Anim_Exit_Human_5 ] -> [ Anim_Exit_Human_6 ] again | |
late [ Anim_Exit_Human_4 ] -> [ Anim_Exit_Human_5 ] again | |
late [ Anim_Exit_Human_3 ] -> [ Anim_Exit_Human_4 ] again | |
late [ Anim_Exit_Human_2 ] -> [ Anim_Exit_Human_3 ] again | |
late [ Anim_Exit_HumanUp_1 ] -> [ Anim_Exit_Human_2 ] again | |
late [ Anim_Exit_HumanUp_0 ] -> [ Anim_Exit_HumanUp_1 ] again | |
late [ Anim_Exit_HumanRight_1 ] -> [ Anim_Exit_Human_2 ] again | |
late [ Anim_Exit_HumanRight_0 ] -> [ Anim_Exit_HumanRight_1 ] again | |
late [ Anim_Exit_HumanDown_1 ] -> [ Anim_Exit_Human_2 ] again | |
late [ Anim_Exit_HumanDown_0 ] -> [ Anim_Exit_HumanDown_1 ] again | |
late [ Anim_Exit_HumanLeft_1 ] -> [ Anim_Exit_Human_2 ] again | |
late [ Anim_Exit_HumanLeft_0 ] -> [ Anim_Exit_HumanLeft_1 ] again | |
late [ HumanUp Anim_Exit_Goal_3 ] -> [ Anim_Exit_HumanUp_0 Anim_Exit_Goal_3 ] sfx7 again | |
late [ HumanRight Anim_Exit_Goal_3 ] -> [ Anim_Exit_HumanRight_0 Anim_Exit_Goal_3 ] sfx7 again | |
late [ HumanDown Anim_Exit_Goal_3 ] -> [ Anim_Exit_HumanDown_0 Anim_Exit_Goal_3 ] sfx7 again | |
late [ HumanLeft Anim_Exit_Goal_3 ] -> [ Anim_Exit_HumanLeft_0 Anim_Exit_Goal_3 ] sfx7 again | |
late [ Human Anim_Exit_Goal_2 ] -> [ Human Anim_Exit_Goal_3 ] again | |
late [ Human Anim_Exit_Goal_1 ] -> [ Human Anim_Exit_Goal_2 ] again | |
late [ Human Anim_Exit_Goal_0 ] -> [ Human Anim_Exit_Goal_1 ] again | |
late [ Human GoalEnabled ] -> [ Human Anim_Exit_Goal_0 ] sfx6 again | |
============== | |
WINCONDITIONS | |
============== | |
any Anim_Exit_Human_6 (this used to be all Human on goal, but I changed it for my level - it shouldn't have broken anything, I hope - Blookerstien) | |
(Changed this to GoalEnabled instead of Goal - henrique) | |
(Since all the win conditions are now captured when switching Goal to GoalEnabled, I removed all of the redundant conditions from here. Also, since I made [ Human GoalEnabled ] animate, I've changed the win condition to the last frame of animation - sftrabbit) | |
(for the actual win conditions, find the WIN CONDITIONS comment in the Rule section) | |
======= | |
LEVELS | |
======= | |
( winterbeak: tentative lore messages. feel free to change. ) | |
( notajumbleofnumbers: added some more lore messages. still not enough for my liking, so feel free to add/change ) | |
(message Huh...? Where am I? More importantly, *who* am I? | |
message There's weird blue goop everywhere... And my skin's all pink...) | |
( knexator: completely changed the lore, it seems that the lore was referencing now lost graphics) | |
message I, Dr. Jelly, may seem to be a simple researcher | |
( feel free to tweak ) | |
(If for any reason this level moves around, make sure to use j as the human for the first level and q for any others - sftrabbit) | |
(patrick) | |
xxxxxxxxx | |
x.......x | |
x...###.x | |
x...#...x | |
x.j.#g..x | |
x...#...x | |
x...###.x | |
x.......x | |
xxxxxxxxx | |
(message This pink orb looks slimy. I wonder what happens if I touch it...) | |
message But with the help of some non-FDA-approved drugs, I turn into Mr. Slime | |
( feel free to tweak ) | |
(patrick) | |
(winterbeak: made it so that you start out human, and added a switcher. makes it less jarring that you're suddenly a ghost) | |
xxxxxxxxxxx | |
xs..###...x | |
x...###...x | |
x...###...x | |
xq..###..gx | |
x...###...x | |
x...###...x | |
xs..###...x | |
xxxxxxxxxxx | |
(message What?! Have I always had these... powers?) | |
(this should be a relatively early level) | |
(ncrecc) | |
xxxxxxxxx | |
xpgxxxs.x | |
x.#xxx#.x | |
x.#xxx#.x | |
x..xxx..x | |
x..xxx..x | |
x#.###.#x | |
x#.....#x | |
xxxxxxxxx | |
message As Mr. Slime, I turn all roadblocks into roads | |
(intro to backtracking) | |
(CHz) | |
xxxxxxxxxxx | |
x...x.#.#gx | |
x.s...#.##x | |
x.q.x.#...x | |
x.s...#.##x | |
x...x.#.#gx | |
xxxxxxxxxxx | |
message ...and all roads into roadblocks | |
("Goop Looping", feel free to tweak) | |
(Auroriax) | |
xxxxxxx | |
xxxsxxx | |
x#####x | |
x.xxx.x | |
x.xgx.x | |
x##p##x | |
x.xxx.x | |
xs.#.sx | |
xxxxxxx | |
(notajumbleofnumbers: there should be a message about the coin here) | |
(Auroriax: Added!) | |
(message Why are there... coins here? I really can't remember... | |
message But I feel an urge... to collect them!) | |
message Research funding! I can't let a coin go to waste | |
(introduction to the collectable) | |
(bagenzo) | |
xxxxxxxxxxxx | |
x....x.....x | |
x.p..s.g.c.x | |
x....x.....x | |
xx.xxxx.xxxx | |
x...#.#.#..x | |
x.c#.#.##c.x | |
x...x.#x#..x | |
xxxxxxxxxxxx | |
(compact level with more collectables) | |
(TophWells) | |
(CHz: this seemed much easier to me than the previous level by bagenzo, I feel like it should probably be moved earlier [or hardened if DRRDDRRUUU isn't intended]) | |
(Elyot: didn't seem that easy to me, I missed the obvious thing I guess. Swapping order seems OK though. ) | |
xxxxxxxxxxxxx | |
xx..pc.cs..xx | |
x..x.....x..x | |
x.cx.c#c.xc.x | |
x........x..x | |
xxxxc...gxxxx | |
xxxxxxxxxxxxx | |
(nano level, don't know where it should be) | |
(Sky Chan) | |
(noa: added another row of outer borders to "zoom out" a little) | |
xxxxxxxxx | |
xxxxxxxxx | |
xxsc#csxx | |
xx##g##xx | |
xxsq#csxx | |
xxxxxxxxx | |
xxxxxxxxx | |
(micro level, feel free to reorder it) | |
(marcosd) | |
xxxxxxxxx | |
x.o...o.x | |
x..o.o..x | |
xpo.s.ogx | |
x..o.o..x | |
x.o...o.x | |
xxxxxxxxx | |
(I wonder if we should move this to before Plurmorant's level, since that's the next time NoSlimeTile appears and it serves as a bit of a tutorial. - sftrabbit) | |
(intro to NoSlimeTile) | |
(HRoll) | |
xxxxxxxxxxxx | |
xp.#..#b...x | |
xg.nb.#....x | |
xbbbbbbbb.#x | |
xs.......#cx | |
xxxxxxxxxxxx | |
(slime collectables in the corners) | |
(jackk) | |
xxxxxxxxxxxx | |
xxxxxxxxx.xx | |
xxxxxo.xx..x | |
xxo.x...oxxx | |
xx...#.x.xxx | |
x.#.x.xc..xx | |
xg...p...sxx | |
x..c#.....xx | |
xx.x.#...xxx | |
xxo...x.oxxx | |
xxxx.oxxxxxx | |
xxxxxxxxxxxx | |
(ornament) | |
(winterbeak) | |
xxxxxxxxx | |
xxxxsxxxx | |
xxxxsxxxx | |
xxxocoxxx | |
xxococoxx | |
xpcococgx | |
xxococoxx | |
xxxocoxxx | |
xxxxsxxxx | |
xxxxxxxxx | |
(message Is that a crate? | |
message ... | |
message I've definitely seen that before.) | |
message Great, the lab can now afford some advanced equipment | |
message Like crates | |
(trivial tutorialization level, teaches crate and flashback token interaction) | |
(NarrowAdder) | |
xxxxxxxxxxxxxxxxx | |
x.s.xxxxsxxxxxsxx | |
x....m..s.xxxx.xx | |
x.q.xxx...xxx...x | |
x...xxx....m...gx | |
x...xxx...xxx...x | |
xxxxxxxxxxxxxxxxx | |
(introduction of the crate. is this too easy) | |
(took me a long time to discover the crate sliding mechanic, but its nice after you do -jackk) | |
(blubberquark) | |
xxxxxxxxxxx | |
x...XXX...x | |
xs..#.#...x | |
x.M.XXX#.#x | |
xp..XXX.#.x | |
x...XXX.g.x | |
xxxxxxxxxxx | |
(Lil easy cute (I hope) level.) | |
(jack lance) | |
(notajumbleofnumbers: i got pretty stuck on this level >.>) | |
(henrique: cute level, but definitely not easy lol, took me a while) | |
xxxxxxxxxx | |
xxxx....gx | |
xxx..m.xxx | |
xxxp...xxx | |
xs.....xxx | |
xxx...xxxx | |
xxxxxxxxxx | |
(simple level involving crates and coins) | |
(Grapefruit) | |
xxxxxxxxxxxxxxxx | |
x..............x | |
x.......c...cccx | |
xgp.m.c.c...cscx | |
x.....c.....cccx | |
x..............x | |
xxxxxxxxxxxxxxxx | |
(another crate level - could swap order of this and Plurmorant's level possibly) | |
(Draknek) | |
(CHz: I don't feel too strongly about this but I also feel like this may be better swapped with Plurmorant's) | |
xxxxxxxxxxx | |
xxsxxxxxxxx | |
x.....#...x | |
x.g.q.m.c.x | |
x.....#...x | |
xxsxxxxxxxx | |
xxxxxxxxxxx | |
(involved crate level) | |
(Plurmorant) | |
xxxxxxxxx | |
xg.#m#.cx | |
x.p#m#..x | |
x##xbx##x | |
x##xbx##x | |
x..#m#..x | |
xc.#m#.sx | |
xxxxxxxxx | |
(and another crate level - introduces using crate to clear a specific wall) | |
(noa) | |
xxxxxxxxxxxxx | |
xo.s..xxxxxxx | |
x.ggg.x.....x | |
xqgsg.##mc.sx | |
x.ggg.x.....x | |
xo.s..xxxxxxx | |
xxxxxxxxxxxxx | |
(builds on crate rule highlighted in noa's level) | |
(note from Jack Lance: this level seems impossible (at least it did to me) but it is in fact possible! Very nice level!) | |
(EPGA's note to self: did not solve this level, maybe I'll try again later.) | |
(note from deusovi: agreed, this level was very nice!) | |
(zabel) | |
xxxxxxx | |
x.....x | |
x.ccc.x | |
x.cot.x | |
x.pcc.x | |
x.....x | |
xxgxsxx | |
xxxxxxx | |
(Another crate level with a twist) | |
(Le Slo) | |
(In case you have doubts, this level has a solution - ClementSparrow) | |
xxxxxxxxxxx | |
xxxxxxxxxxx | |
xx..#.#..xx | |
xxp.cb.c.xx | |
xxg..b...xx | |
xxs..b.t.xx | |
xx...b...xx | |
xxxxxxxxxxx | |
xxxxxxxxxxx | |
(I wanted to make a variation on Le Slo's level but where you build yourself the slime wall, also inspired by zabel's level. | |
I'm not very satisfied with what I achieved, but I've spent enough time on this. Feel free to reorder and/or improve if you think it's too easy/hard at this point. - ClementSparrow) | |
xxxxxxxx | |
xu....sx | |
x..c..xx | |
x..cc.xx | |
x.c.n.xx | |
x..cc.xx | |
x.#mx.xx | |
xcg...xx | |
xxxxxxxx | |
(message Scanners? I guess it was inevitable for this lab to have them. | |
message [Number blocks can only see straight, but in all four directions.]) | |
(message These scanners will help me measure how much goo Mr. Slime produces) | |
(changed the message again because we _are_ Mr Slime - sftrabbit) | |
(pre-pended the message about success/safety of research - ThatScar) | |
message The research has been very fruitful but is it safe? | |
message These scanners measure how slimy I've become! | |
(message Very!) | |
(yet another tutorial level for scanners - knexator) | |
(I think this is the ideal tutorial level for numbers - nothing except just figuring out how they operate. I agree with Joel's comment that zara's puzzle is a good one. I think a decent ordering is knexator, EPGA, zaratustra, jgGyo, henrique - so I've reordered them like that. - sftrabbit) | |
(knexator) | |
xxxxxxxxxxx | |
xp.......sx | |
xxx.....x.x | |
xxx.....xgx | |
xxx.....xxx | |
xxx.....xxx | |
xxxxxxxxxxx | |
xxx53143xxx | |
xxxxxxxxxxx | |
(message They are quite powerful, only red lead can block their view) | |
message The scanners are powerful - only red lead can block their view. | |
( I couldn't figure out how Number blocks worked until I looked at the code, so I added this. Please feel free to remove it, or change it to match the other "lore" messages. ) | |
( Also the 3 levels below [Zaratustra's, Justas', and Elyot's levels] were originaly between HRoll & NarrowAdder's levels. I moved them down here with the other number levels, but feel free to move them back if anyone likes them better back there.) | |
(- Blookerstien) | |
(This is my level I added to be a better tutorial. -EPGA) | |
xxxxxxxxxxxxx | |
xxxxxxxxxs.gx | |
xxxxxxxxx.xxx | |
xxx.....x.xxx | |
xq.4.xx.3.xxx | |
xxx..sx...xxx | |
xxxxxxxxxxxxx | |
(numbers tutorial) | |
(Moved this earlier in the numbers puzzles because it's a nice sequence of isolated puzzles, but a little more complex than both knexator's and EPGA's - sftrabbit) | |
(zaratustra) | |
xxxxxxxxxxxxxx | |
x..3..&8....xx | |
x.....&.....gx | |
x....0...q..xx | |
x0....&....#sx | |
x.....&.....xx | |
x&&.&&&&&&&&xx | |
x2....&.....sx | |
x3....&.....xx | |
x7..........xx | |
x1....&.....xx | |
x0....&21312xx | |
xxxxxxxxxxxxxx | |
(Added extra border to zoom it out slightly, was a bit jarring amongst all the others. It was also after henrique's and I've moved it above because it feels like more a variation on the stuff that was happening in zaratustra's level. Happy for it to move back down if anyone feels otherwise. - sftrabbit) | |
(I was having a heck of a time understanding how the numbers worked so here's another easy one to help teach.) | |
(jcGyo) | |
xxxxxxxxx | |
xxxxxxxxx | |
xxs...sxx | |
xx.4.4.xx | |
xx..q..xx | |
xx.4.4.xx | |
xx....gxx | |
xxxxxxxxx | |
xxxxxxxxx | |
(I added this line for clarity. -EPGA) | |
(message These walls seem thick...) | |
(message Walls coated in red lead should block the scanner's view) | |
(message [Shaded red walls block scanner beams]) | |
(I think zara's level is the best tutorial among the current early 3 (henrique, jcgyo, zara), since there are so many numbers active once you transform that it will be obvious what the rule is. I was a bit confused when first looking at henrique's level, perhaps because I didn't expect scanners to see through walls. But there was also a bug that I fixed that could have increased my confusion when first seeing scanners, so maybe only change the order if subsequent people feel the same way? -Joel) | |
(knexator: At the time of writing, this is level 23. If the last person can find a natural way to reorder the levels so the hardest one goes here, that would be nice. I vote for Joel's level for that place of honor :D ) | |
(Agreed with Joel's comment so moved Zara's after knexator's and EPGA's which I think were added after Joel commented (and are simpler) - sftrabbit) | |
(easier numbers level because i had trouble figuring out the tutorial lol) | |
(henrique) | |
xxxxxxxxxxxxxx | |
xxxxx1xx1xxxxx | |
xx........sxxx | |
xx...&..x.gxxx | |
xx........#osx | |
xx..21xx1xxxxx | |
xxrcsxxxxxxxxx | |
xxxxxxxxxxxxxx | |
(With the addition of enter/exit animations - this level makes more "sense". The human falls in on the right side and the left slime was always there. The fun thing is when you switch at the end, the left slime turns into a human, so there's a kind of sadness to the fact we're leaving that human behind... - sftrabbit) | |
(Pretty silly level, has too many ideas that don't come together super well. But I had fun making it!) | |
(Blookerstien) | |
xxxxxxxxxxxxxxxxxxxxx | |
xxxx1000001xxxxxxxxxx | |
xxxx.......xxxxxx..xx | |
xx...nnnnnux.......xx | |
x..x.......x.m.xxx.xx | |
x.mxxxxxxxxx...xsx..x | |
x..xxxxxxxxx....m.p.x | |
xxxxxxxxxxxx...xb.xxx | |
xxxxxxxxxxxxxxxxgxxxx | |
xxxxxxxxxxxxxxxxxxxxx | |
(easy level using the new numbers mechanic alongside some other stuff) | |
(bateleur) | |
xxxxxxxxxxxx | |
xxxx1xxxxxxx | |
xx....x...xx | |
xxs...xsx.xx | |
x1..x.....xx | |
xx..q.....xx | |
x..........x | |
x.x.mxx.ox.x | |
x.g........x | |
xx........xx | |
xx........xx | |
xxxxxxxxxxxx | |
(a variation on Elyot's level that asks you to infer the order of the top row of numbers. may require pen and paper) | |
(feel free to reorder it!) (reordered it to be closer to Elyot's - henrique) | |
(Justas) | |
xxxxxxxxx | |
xxnnnnnxx | |
xxnnnnnxx | |
xxnnnnnnx | |
xxÄƁÇÐÈnx | |
xxnnnnnnx | |
xxxxxxxnx | |
x3....nnx | |
x4.....xx | |
x5.....xx | |
x2.n..nxx | |
x1.qs..xx | |
xxxxsgxxx | |
xxxxxxxxx | |
xxxxxxxxx | |
( First counter level I made. Intended to have a clean, deductive solve. ) | |
( I designed this idea to work in a lot of interesting ways with the other elements (given walls, no slime tiles, coins, etc.)) | |
( Definitely lots more that can be done with it. ) | |
( Counters don't need to be on the edges either, they can be in the middle. ) | |
( Somebody could add an interaction with crates. ) | |
(Elyot) | |
(Feels a little out of place here? Maybe put later with other levels also using this mechanic) | |
( I did what this^ says, feel free to change it back. -Blookerstien) | |
xxxxxxxxxxxxxx | |
xx348154552xxx | |
x8.........sgx | |
x2....m....xxx | |
x3.........xxx | |
x4....m....xxx | |
x2.........xxx | |
x9.........xxx | |
x5.........xxx | |
x2.........xxx | |
x2p........xxx | |
xxxxxxxxxxxxxx | |
(Another deductive level. Currently placed right after Elyot's, but maybe should be moved? Not sure how hard it is.) | |
(The 2 clue isn't necessary here - it's just here for symmetry reasons. If anyone thinks it's more elegant without that, feel free to remove it.) | |
(Deusovi) | |
xxxxxxxxxxxxxx | |
xxxxxxxxx4xxxx | |
x1........sgxx | |
xx.c.......xxx | |
xx..3&.c...xxx | |
xx..&.....4xxx | |
xx7.......8xxx | |
xx5.....&..xxx | |
xx...c.&2..xxx | |
xx.......c.xxx | |
xqs........7xx | |
xxx5xxxxxxxxxx | |
xxxxxxxxxxxxxx | |
(I am not sure how hard this one is, but feel free to reorder it. -Joel) | |
(EPGA's note to self: did not solve this level, maybe I'll try again later.) | |
(I at least found it easier than stevenjmiller's - if anyone agrees, we could move it. - sftrabbit) | |
(Agreed - I've moved it. -Deusovi) | |
(Joel) | |
xxxxxxx | |
xg....x | |
x.....x | |
x.....x | |
x.....x | |
x.....x | |
x..m..x | |
x..p..x | |
x.111.x | |
x....sx | |
xxxxxxx | |
(escape) | |
(This is a reprise of Blookerstien's level with no puzzle, just for the pacing, and to contribute to the lore in a way that adds to what sftrabbit and ThatScar did for the last level. | |
The idea is that the slime-that-turned-human we left prisoneer in Blookerstien's level has mutated into the mega slime/human that we will see in the last level, and it escaped by breaking the wall with its mega-strength. | |
The message saying the technology is 'safe for human' then means 'for human only, not for slimes turned into humans'. | |
Maybe the messages should be edited so that players understand the irony of the situation, but that's not something I'm good at, plus I already spent too much time on this. -- ClementSparrow) | |
message That room again?! But... what happened here? Who broke the wall? | |
message ...and why do I have the strange feeling that I have already been in the other room behind the broken wall? | |
xxxxxxxxxxxxxxxxxxxxx | |
xxxx1000001xxxxxxxxxx | |
xxxx.......xxxxxx##xx | |
xx###nnnnn#########xx | |
x##x.......x#z#xxx#xx | |
x#mxxxxxxxxx###xmx##x | |
x#sxxxxxxxxx######u#x | |
xxxxxxxxxxxx###xn#xxx | |
xxxxxxxxxxxxxxxxgxxxx | |
xxxxxxxxxxxxxxxxxxxxx | |
(A level with a lot of interactions, feel free to reorder it. It is probably too late in the game currently. The trail mechanic is surprisingly versatile, I ran into a lot of trouble with unintended solutions when using the scanners without coins.) | |
(Deusovi's note to self: Didn't solve this one.) | |
(stevenjmiller) | |
xxxxxxxxxxxxxxxx | |
xxx.........xxxx | |
xxx...11.115xxxx | |
xxx.x0..3...100x | |
xxxgxxxxxxxxxxxx | |
xx...xxxxxx.o.xx | |
x.....xxxx..s..x | |
x.qss######.#m.x | |
x.....xxxx..s..x | |
xx...xxxxxx.o.xx | |
xxxxxxxxxxxxxxxx | |
(I think this is well suited for after stevenjmilller's - it's maybe a bit easier, but it builds on similar ideas. - sftrabbit) | |
(sftrabbit) | |
xxxxxxxxxxxxxxxxx | |
xxxxxxxxx#xxxxxxx | |
xxxxxxxxx#x#xxxxx | |
xxxxxxxxxxxxxxxxx | |
xxxxxxx.....xxx#x | |
xxxxxxx..021..x#x | |
xxxxxxx.&...&.xxx | |
xx....x.x&&xx.xxx | |
xx.x..........xxx | |
xq.x..xxx#xmxxxxx | |
xx.x..xxx###xxxxx | |
xs.g..gs..c.xxxxx | |
xxxxxxxxx...xxxxx | |
xxxxxxxxxxxxxxxxx | |
(There should be an ending cutscene level here, to wrap things up. I ran out of time so this will be left as an exercise to the next person - NotAJumbleOfNumbers) | |
(Here's a setting for the ending cutscene, following in the footsteps of What Gophers Go For - somebody could either turn it into a proper final puzzle or at least make something happen? Maybe if you collect all coins, the mouth opens and you go in - THE END. Or you get rid of all the goo around the mega slime and they live happily ever after? I leave this decision to someone else! - sftrabbit) | |
(I've finished up the level and did a plot twist even though I am not sure if that was a good idea. But somebody has to finish this before it gets to the end, you know :D Here goes! - ThatScar) | |
message After extensive testing and monitoring with sensors | |
message The technology is determined to be perfectly safe for humans | |
(I've made the level such that you cannot exit as slime but if you have any ideas, this level is easily altered) | |
(you could even make this into a hard puzzle but I think this should remain as a mere cutscene) | |
(just make sure to keep the dollar sign $ among the number signs #) | |
(sftrabbit + ThatScar [+ you, perhaps?]) | |
xxxxxxxxxxxxxxxxx | |
x...#########.xxx | |
x..#########..xxx | |
x#####ᶚᶎᶋ#####xxx | |
x$####ⱳƴᶍ#####xxx | |
x####ᶉƫᶙᶌᶊ###.xxx | |
x..##ᶈᶆꞎɳʠ##..xxx | |
x...########..xxx | |
x.....####....xxx | |
xxxxxxxxxxxxxxxxx | |
xq..###....s##..Ω | |
x.s..##.....x#s.Ω | |
x..###..s...x...Ω | |
xxxxxxxxxxxxxxxxx | |
message But there are still so many avenues for further research!.. | |
message Thanks for playing :) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment