Skip to content

Instantly share code, notes, and snippets.

@variousauthors
Created April 29, 2022 06:22
Show Gist options
  • Save variousauthors/69031324075876e24ba6cf85f48ee19e to your computer and use it in GitHub Desktop.
Save variousauthors/69031324075876e24ba6cf85f48ee19e to your computer and use it in GitHub Desktop.
Simple Block Pushing Game (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title 3D Sokoban
author Ziggy
homepage www.puzzlescript.net
========
OBJECTS
========
Background
lightgreen green
11111
11011
01111
11111
11101
MFloor
lightgreen green
11111
11011
01111
11111
11101
Target
black yellow
.....
.....
.....
01001
10010
Wall
brown darkbrown
00010
11111
01000
11111
00010
Player
black orange white blue
.000.
.111.
22222
.333.
.3.3.
Crate
red lightred
11111
11111
00000
00000
00000
B1Floor
green darkgreen
11111
01111
11101
11111
10111
B1Target
black orange
.....
.....
.....
01001
10010
B1Wall
darkbrown black
00010
11111
01000
11111
00010
B1Crate
darkred red
11111
11111
00000
00000
00000
MtoB1
lightgreen green darkgreen brown lightbrown
44444
33333
33333
22222
21222
MtoB1Ramp
lightgreen green darkgreen brown lightbrown
11111
13331
32223
22212
21222
=======
LEGEND
=======
P = Player
. = MFloor
# = Wall
* = Crate and MFloor
@ = Crate and Target and MFloor
O = Target and MFloor
- = MtoB1 and B1Floor
_ = MtoB1Ramp and B1Floor
, = B1Floor
% = Wall
+ = B1Crate and B1Floor
& = B1Crate and B1Target and B1Floor
0 = B1Target and B1Floor
=======
SOUNDS
=======
Crate move 36772507
================
COLLISIONLAYERS
================
Background
MFloor, B1Floor
MtoB1, MtoB1Ramp
Target, B1Target
Player, Wall, Crate, B1Wall, B1Crate
======
RULES
======
( player can't push across the edge, except ramps )
[ > Player MFloor | B1Crate no MtoB1Ramp ] -> [ Player MFloor | B1Crate no MtoB1Ramp ]
[ > Player B1Floor no MtoB1Ramp | Crate ] -> [ Player B1Floor no MtoB1Ramp | Crate ]
(player can't climb up)
up [ > Player MtoB1 | Background ] -> [ Player MtoB1 | Background ]
[ > Player no MtoB1Ramp B1Floor | MFloor ] -> [ Player no MtoB1Ramp B1Floor | MFloor ]
( player can push crates down )
down [ > Player | Crate | MtoB1 ] -> [ > Player | > B1Crate | MtoB1 ]
( player can push crates down ramp )
down [ > Player | Crate | MtoB1Ramp ] -> [ > Player | > B1Crate | MtoB1Ramp ]
( player can push crates up ramps )
up [ > Player | B1Crate MtoB1Ramp ] -> [ > Player | > Crate MtoB1Ramp ]
( player can't push crates up )
up [ > Player | B1Crate MtoB1 ] -> [ Player | B1Crate MtoB1 ]
[ > Player | Crate ] -> [ > Player | > Crate ]
[ > Player | B1Crate ] -> [ > Player | > B1Crate ]
( crates can't go up )
[ > B1Crate no MtoB1Ramp | MFloor ] -> [ B1Crate no MtoB1Ramp | MFloor ]
==============
WINCONDITIONS
==============
all Target on Crate
all B1Target on B1Crate
=======
LEVELS
=======
..........
.P........
...*...O..
..........
..---_----
..,,,,,,,,
..,+,,,0,,
..,,,,,,,,
..........
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment