Skip to content

Instantly share code, notes, and snippets.

Created March 12, 2016 20:27
Show Gist options
  • Save anonymous/fdc25f4cf4a1f7fb593c to your computer and use it in GitHub Desktop.
Save anonymous/fdc25f4cf4a1f7fb593c to your computer and use it in GitHub Desktop.
title
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Boss Drop
author Benjamin Davis
homepage benjamindav.is
noaction
again_interval 0.05
(run_rules_on_level_start)
(verbose_logging)
flickscreen 22x15
========
OBJECTS
========
Background
White
PlayerNormal
Black
.....
.000.
.000.
.000.
.0.0.
PlayerClimbingUp
Black
.....
.000.
.000.
.000.
.0.0.
PlayerClimbingDown
Black
.....
.000.
.000.
.000.
.0.0.
PlayerLand
Black
.....
.....
.000.
.000.
00000
Falling
Grey
.000.
.000.
.000.
.000.
.000.
Crate
DarkRed
PushedLeft
Grey
.....
.....
00000
00000
00000
PushedRight
Grey
.....
.....
00000
00000
00000
Ladder
LightGrey
00000
0...0
0...0
0...0
0...0
Platform
DarkGrey
00000
.....
.....
.....
.....
Wall
DarkGrey
Dark
Black DarkGrey
11111
01010
10101
01010
10001
Darker
Black DarkGrey
01010
00100
10001
00000
00100
Abyss
Black
Dropped
(Blue)
Transparent
00000
.....
.....
.....
.....
SavePoint
LightBlue Transparent
00000
01110
01110
01110
01010
SavePointSaved
Transparent LightBlue
00000
01110
01110
01110
01010
TentacleRight
DarkGreen LightRed
0000.
00000
00000
1111.
111..
TentacleRightVertical
DarkGreen LightRed
.00..
0001.
00011
00011
00011
TentacleLeft
DarkGreen LightRed
.0000
00000
00000
.1111
..111
TentacleLeftVertical
DarkGreen LightRed
..00.
.1000
11000
11000
11000
TentacleHorizontal
DarkGreen LightRed
00000
00000
00000
11111
11111
TentacleRightToDown
DarkGreen LightRed
.0000
00000
00000
00001
00011
TentacleLeftToDown
DarkGreen LightRed
0000.
00000
00000
10000
11000
TentacleVerticalLeft
DarkGreen LightRed
11000
11000
11000
11000
11000
TentacleVerticalRight
DarkGreen LightRed
00011
00011
00011
00011
00011
=======
LEGEND
=======
. = Background
@ = PlayerNormal
◙ = Crate
█ = Wall
▓ = Dark
▒ = Darker
░ = Abyss
║ = Ladder
╦ = Ladder and Platform
═ = Platform
S = SavePoint
← = TentacleLeft
─ = TentacleHorizontal
→ = TentacleRight
┌ = TentacleRightToDown
┐ = TentacleLeftToDown
┤ = TentacleVerticalLeft
├ = TentacleVerticalRight
Pushed = PushedLeft or PushedRight
Player = PlayerNormal or PlayerClimbingUp or PlayerClimbingDown or PlayerLand
Tentacle = TentacleHorizontal or TentacleLeft or TentacleRight or TentacleLeftVertical or TentacleRightVertical or TentacleLeftToDown or TentacleVerticalLeft or TentacleRightToDown or TentacleVerticalRight
Blocking = Crate or Wall or Tentacle
Standable = Crate or Platform or Wall or Tentacle
Pushable = Crate or TentacleLeft or TentacleRight
=======
SOUNDS
=======
SFX0 75573907 (Crate knock crate)
SFX1 47637908 (Tentacle fall)
SFX2 76276908 (Player falls into the abyss)
PlayerLand Create 98076107
SavePointSaved Create 32536703
Restart 8563103
Undo 92449507
EndLevel 11799108
================
COLLISIONLAYERS
================
Background
Ladder SavePoint SavePointSaved
Falling Pushed
Platform
Player Crate Wall Tentacle
Abyss Dark Darker
Dropped
======
RULES
======
( Move onto standable )
horizontal [ > PlayerNormal no Platform | Standable no Platform ] -> [ > PlayerNormal | action Standable ]
up [ action Standable | no Blocking ] -> [ Standable | PlayerNormal ]
horizontal [ > PlayerNormal no Platform | stationary Standable no Platform ] -> [ | Standable ]
( Crates push other pushables )
left [ PushedLeft Crate | Pushable ] -> [ Crate | PushedLeft Pushable ] SFX0
right [ PushedRight Crate | Pushable ] -> [ Crate | PushedRight Pushable ] SFX0
( Crates fall )
down [ Crate no Pushed | no Standable no Pushed ] -> [ | Crate ] again
( Player pushes pushables away after fall )
up [ Dropped | no Falling ] -> [ action Dropped | ]
left [ action Dropped ] [ PlayerLand | Pushable ] -> [ action Dropped ] [ PlayerLand | PushedLeft Pushable ]
right [ action Dropped ] [ PlayerLand | Pushable ] -> [ action Dropped ] [ PlayerLand | PushedRight Pushable ]
[ action Dropped ] -> [ Dropped ]
[ Dropped PlayerLand ] [ Pushed ] -> [ Dropped PlayerLand ] [ ]
[ Dropped PlayerLand ] [ Falling ] -> [ Dropped PlayerLand ] [ ]
[ Dropped PlayerLand ] -> [ PlayerNormal ] again
down [ Dropped | ... | PlayerLand ] -> [ down Dropped | ... | action PlayerLand ] again
down [ down Dropped | ] -> [ | Dropped ]
[ action PlayerLand | ... | PushedLeft Pushable ] -> [ action PlayerLand | ... | PushedLeft left Pushable ]
[ action PlayerLand | ... | PushedRight Pushable ] -> [ action PlayerLand | ... | PushedRight right Pushable ]
left [ PushedLeft > Crate | Crate ] -> [ Crate | PushedLeft > Crate ]
right [ PushedRight > Crate | Crate ] -> [ Crate | PushedRight > Crate ]
left [ > Crate | no Blocking ] -> [ | PushedLeft Crate ]
right [ > Crate | no Blocking ] -> [ | PushedRight Crate ]
( Tentacles grow back )
(left [ stationary TentacleLeft | | no TentacleRight ] -> [ TentacleHorizontal | action TentacleLeft | ] again
right [ stationary TentacleRight | | no TentacleLeft ] -> [ TentacleHorizontal | action TentacleRight | ] again)
( Tentacles fall )
down [ stationary TentacleLeftVertical | TentacleVerticalLeft ] -> [ action TentacleLeftVertical | action TentacleVerticalLeft ]
[ stationary TentacleLeftVertical ] -> SFX1
[ TentacleLeftVertical ] -> [ ]
[ action TentacleVerticalLeft ] -> [ TentacleLeftVertical ] again
down [ stationary TentacleRightVertical | TentacleVerticalRight ] -> [ action TentacleRightVertical | action TentacleVerticalRight ]
[ stationary TentacleRightVertical ] -> SFX1
[ TentacleRightVertical ] -> [ ]
[ action TentacleVerticalRight ] -> [ TentacleRightVertical ] again
( Push tentacles )
left [ > TentacleRight | TentacleHorizontal ] -> [ | PushedLeft TentacleRight ]
right [ > TentacleLeft | TentacleHorizontal ] -> [ | PushedRight TentacleLeft ]
left [ > TentacleRight | TentacleRightToDown ] -> [ | PushedLeft TentacleRightVertical ] again
right [ > TentacleLeft | TentacleLeftToDown ] -> [ | PushedRight TentacleLeftVertical ] again
[ action PlayerLand ] -> [ PlayerLand ]
( Climb ladders )
up [ Platform | PlayerClimbingUp ] -> [ Platform | PlayerNormal ]
up [ stationary PlayerClimbingUp Ladder | no Blocking ] -> [ Ladder | action PlayerClimbingUp ] again
up [ stationary PlayerClimbingUp Ladder | Blocking ] -> [ Ladder action PlayerClimbingDown | Blocking ] again
[ PlayerClimbingUp no Ladder ] -> [ PlayerNormal ]
up [ > PlayerNormal Ladder | no Blocking ] -> [ Ladder | PlayerClimbingUp ] again
(+ up [ Platform | > Player ] -> [ Platform | Player ])
( Drop down )
down [ stationary PlayerClimbingDown Ladder | Ladder no Standable ] -> [ Ladder | action PlayerClimbingDown Ladder ] again
down [ stationary PlayerClimbingDown ] -> [ PlayerNormal ]
down [ > PlayerNormal | Ladder no Blocking ] -> [ | PlayerClimbingDown Ladder ] again
down [ > PlayerNormal | Platform | no Standable ] -> [ | PlayerNormal Platform Falling Dropped | ]
down [ > PlayerNormal | Platform ] -> [ | PlayerNormal Platform ]
[ vertical PlayerNormal ] -> [ PlayerNormal ]
( Player drops after delay if lots of space )
random down [ PlayerNormal no Dropped | no Standable | no Standable ] -> [ | Falling Dropped PlayerNormal | ]
down [ Falling PlayerNormal | no Standable ] -> [ Falling | Falling PlayerNormal ]
[ Falling PlayerNormal Abyss ] -> SFX2
[ Falling PlayerNormal ] -> [ Falling PlayerLand ] again
( Player moves horizontally )
horizontal [ > PlayerNormal | no Blocking ] -> [ | PlayerNormal ] again
( Player drops immediately if only one space below )
down [ PlayerNormal | no Standable | no Standable ] -> [ action PlayerNormal | | ]
down [ stationary PlayerNormal | no Standable ] -> [ | PlayerNormal ]
(late [ PlayerNormal SavePoint ] [ SavePointSaved ] -> [ PlayerNormal SavePoint ] [ SavePoint ])
late [ PlayerNormal SavePoint ] [ SavePointSaved ] -> [ PlayerNormal SavePoint ] [ ]
late [ PlayerNormal SavePoint ] -> [ PlayerNormal SavePointSaved ] checkpoint
late [ PlayerNormal Abyss ] -> win
==============
WINCONDITIONS
==============
=======
LEVELS
=======
(..........@
█╦══.════╦█
█║...◙...║█
█║...◙...║█
█....◙...║█
█╦══.════╦█
█║.......║█)
(...........
...........
...........
...........
█.◙═╦═.....
█.◙.║......
█.◙.║◙..@..)
......................
═════════════════════╦
.....................║
.............╦═════╦.║
.............║.....║.║
.............║.◙.◙.║.█
.............║.◙.◙.║.█
...........s.║.◙.◙.║.█
...........╦══════════
...........║..........
...........█...═════╦.
...........█.◙......║.
.....@.....██═╦══.◙.██
┌────────→....║...◙.██
├█████████████████████
......................
..═╦═◙.█.█╦...........
...║.◙.█.█║...........
s.◙║.◙.█.█║...........
████████.█║...........
........s█║...........
.█╦══.══╦█║...........
.█║...◙.║█║...........
.█║...◙.║█║...........
.█....◙.║█║...........
.█╦══.══╦█║...........
.█║.....║█║...........
.█████████║...........
..........║.←────────┐
█████████████████████┤
░░░░░░░░░░░░░░░░░░░░░▓
░░░░░░░░░░░░░░░░░░░░░▒
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░
message You were lost to the abyss.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment