Created
March 22, 2024 14:52
-
-
Save RazThePenguin/4a79fc031df3333ec650275b5170519f to your computer and use it in GitHub Desktop.
Retroban (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 Retroban | |
author Studio369 | |
homepage https://studio369.itch.io/ | |
level_select | |
level_select_lock | |
level_select_unlocked_ahead 1 | |
level_select_solve_symbol > | |
continue_is_level_select | |
run_rules_on_level_start | |
======== | |
OBJECTS | |
======== | |
Background | |
LIGHTGREEN GREEN | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
Target | |
DarkBlue | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall | |
BROWN DARKBROWN | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
Playerr | |
Black Orange White Blue | |
.000. | |
.111. | |
22222 | |
.333. | |
.3.3. | |
Clayer | |
Black Orange White Blue | |
.000. | |
.111. | |
22222 | |
.333. | |
.3.3. | |
Crate | |
orange brown | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
Cratehole | |
brown darkbrown darkblue | |
00000 | |
01110 | |
01110 | |
01110 | |
00000 | |
Hole | |
black darkblue | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
MarkU | |
White | |
..... | |
..0.. | |
.000. | |
00000 | |
..... | |
MarkL | |
White | |
...0. | |
..00. | |
.000. | |
..00. | |
...0. | |
MarkD | |
White | |
..... | |
00000 | |
.000. | |
..0.. | |
..... | |
MarkR | |
White | |
.0... | |
.00.. | |
.000. | |
.00.. | |
.0... | |
Trigger | |
transparent | |
======= | |
LEGEND | |
======= | |
. = Background | |
# = Wall | |
P = Playerr | |
O = Crate | |
@ = Crate and Target | |
* = Target | |
- = Hole | |
? = Cratehole | |
C = Clayer | |
Grabbable = Crate or Cratehole | |
Mark = MarkU or MarkL or MarkD or MarkR | |
Player = Playerr or Clayer | |
======= | |
SOUNDS | |
======= | |
Crate MOVE 36772507 | |
endlevel 83744503 | |
startgame 92244503 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Hole | |
Cratehole | |
Target | |
Player, Wall, Crate | |
Mark | |
Trigger | |
====== | |
RULES | |
====== | |
[ > Clayer | Wall ] -> cancel | |
[ action Clayer ] -> cancel | |
[ > Clayer | Crate ] -> [ > Clayer | > Crate ] | |
[ > Playerr no Hole | Hole ] -> [ Playerr | Hole ] | |
[ action Playerr ] -> [ Trigger Playerr ] | |
[ < Playerr no Trigger | Mark Crate ] -> [ < Playerr | < Mark < Crate ] | |
[ < Playerr no Trigger no Hole | Mark Cratehole no Crate ] -> [ < Playerr | < Mark < Crate Hole] | |
[ Mark ] -> [] | |
[ moving Playerr Trigger ] -> [ moving Playerr ] | |
late up [ Playerr | Grabbable ] -> [ Playerr | MarkD Grabbable ] | |
late left [ Playerr | Grabbable ] -> [ Playerr | MarkR Grabbable ] | |
late down [ Playerr | Grabbable ] -> [ Playerr | MarkU Grabbable ] | |
late right [ Playerr | Grabbable ] -> [ Playerr | MarkL Grabbable ] | |
late [ Trigger ][ Mark ] -> [ Trigger ][ ] | |
late [ Mark | Playerr | Wall ] -> [ | Playerr | Wall ] | |
late [ Mark | Playerr | Crate ] -> [ | Playerr | Crate ] | |
============== | |
WINCONDITIONS | |
============== | |
All Target on Crate | |
======= | |
LEVELS | |
======= | |
section _______ Microban _______ | |
message Classic Sokoban levels taken from the Microban set. | |
message | |
section a----------------------a | |
message ... | |
section ......Microban.101...... | |
message Push crates onto all the goals. | |
############# | |
#...........# | |
#...........# | |
#.p...o...*.# | |
#...........# | |
#...........# | |
############# | |
message Oh yeah I forgot to mention. | |
message Time is reversed. | |
message Pushing is now "anti"-pushing. | |
message You get the idea... | |
section ......Microban..02...... | |
###### | |
#....# | |
#.#P.# | |
#.*@.# | |
#.O@.# | |
#....# | |
###### | |
section ......Microban..03...... | |
..####... | |
###..#### | |
#.....*.# | |
#.#..#*.# | |
#.O.O#P.# | |
######### | |
section ......Microban..04...... | |
######## | |
#......# | |
#.O@@*P# | |
#......# | |
#####..# | |
....#### | |
section ......Microban..05...... | |
.####### | |
.#.....# | |
.#.O*O.# | |
##.*P*.# | |
#..O*O.# | |
#......# | |
######## | |
message Oh and one more thing... | |
section b----------------------b | |
message ... | |
section .....Ambiguity..101..... | |
message You might have noticed that the crates cling onto you when you move away from them. | |
message Well, technically "anti"-into them since time flows the other way. | |
message This is because pushing a crate from point A to B | |
##### | |
#CO*# | |
##### | |
message accomplishes the same as walking into a crate already at point B, | |
##### | |
#C.@# | |
##### | |
message both arising from the same input, | |
message so there is an small ambiguity if "anti"-walking "anti"-into a crate is an "anti"-push | |
message or if you are just "anti"-walking "anti"-into a crate that was already there and therefore were not moving it at that moment. | |
message For convenience, this game automatically disambiguates by defaulting to an "anti"-push | |
message but sometimes you really do not want to do that, | |
message So... | |
section c----------------------c | |
message ... | |
section ......Microban..06...... | |
message Use X to avoid anti-pushing. | |
######.##### | |
#....###...# | |
#.**.....#P# | |
#.*.#OOO...# | |
#...######## | |
#####....... | |
section ......Microban..07...... | |
####### | |
#.....# | |
#.O*O.# | |
#.*O*.# | |
#.O*O.# | |
#.*O*.# | |
#..P..# | |
####### | |
section ......Microban..08...... | |
..###### | |
..#.OOP# | |
..#.**.# | |
..##.### | |
...#.#.. | |
...#.#.. | |
####.#.. | |
#....##. | |
#.#...#. | |
#...#.#. | |
###...#. | |
..#####. | |
section ......Microban..09...... | |
#####. | |
#O..## | |
#P**.# | |
##...# | |
.##..# | |
..##O# | |
...### | |
section ......Microban..10...... | |
......##### | |
......#O..# | |
......#O#.# | |
#######O#.# | |
#.P.*.*.*.# | |
#.#.#.#.### | |
#.......#.. | |
#########.. | |
section d----------------------d | |
message ... | |
section ......Microban..01...... | |
message What? | |
message You want to see the funny level? | |
message ... | |
message Alright. | |
####.. | |
#.O#.. | |
#..### | |
#@P..# | |
#..*.# | |
#..### | |
####.. | |
message Congratulations! | |
message You just beat the first ten levels of Microban in reverse. | |
message ... | |
message Of course I am not just going to keep giving you Microban levels. | |
message No. | |
message Let us introduce some more interesting mechanics. | |
section e----------------------e | |
message ... | |
section | |
message ... | |
section _______ Holeoban _______ | |
message What is a sokoban variant without a pit mechanic? | |
section f----------------------f | |
message ... | |
section ......Holeoban..01...... | |
############# | |
#.....-.....# | |
#.o...-...*.# | |
#.....?.....# | |
#.p...-...*.# | |
#.....-.....# | |
############# | |
section ......Holeoban..02...... | |
############# | |
#.....-.....# | |
#.*...-..#o## | |
#.....?..#.## | |
#.p...-..#*## | |
#.....-.....# | |
############# | |
section ......Holeoban..03...... | |
message ... | |
message The rest of the pit mechanic levels do not exist yet... | |
message Enjoy these placeholders! | |
P*o | |
section ......Holeoban..04...... | |
P*o | |
section ......Holeoban..05...... | |
P*o | |
section ......Holeoban..06...... | |
P*o | |
section ......Holeoban..07...... | |
P*o | |
section ......Holeoban..08...... | |
P*o | |
section ......Holeoban..09...... | |
P*o | |
section ......Holeoban..10...... | |
P*o | |
section g----------------------g | |
message If you have reached this message that means you have finished all the levels so far! | |
message Or, the game is finished and Raz forgot to remove this. | |
message Oh well! | |
message :boom: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment