Skip to content

Instantly share code, notes, and snippets.

Created August 24, 2015 22:09
Show Gist options
  • Save anonymous/d1db52e175adf75cc6ee to your computer and use it in GitHub Desktop.
Save anonymous/d1db52e175adf75cc6ee 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 Slime Saga
author Alan Hazelden
homepage www.draknek.org
run_rules_on_level_start
noaction
========
OBJECTS
========
Background
Black DarkGrey
00000
00000
00000
00000
00000
Wall
DarkGrey
Player
#de88e1 #e59ce8
00000
00010
01000
00100
00000
Yellow
Yellow White
00000
00010
01000
00100
00000
Red
Orange White
00000
00010
01000
00100
00000
Green
Green LightGreen
00000
00010
01000
00100
00000
White
LightGrey White
00000
00010
01000
00100
00000
WallL
White
0....
0....
0....
0....
0....
WallR
White
....0
....0
....0
....0
....0
WallU
White
00000
.....
.....
.....
.....
WallD
White
.....
.....
.....
.....
00000
WallLR
White
0...0
0...0
0...0
0...0
0...0
WallUD
White
00000
.....
.....
.....
00000
MaybeMove
transparent
NoMove
transparent
=======
LEGEND
=======
. = Background
# = Wall
P = Player
A = Red
B = Yellow
C = Green
W = White
WallCoverLR = WallL or WallR or WallLR
WallCoverUD = WallU or WallD or WallUD
CoverLR = WallCoverLR
CoverUD = WallCoverUD
Slime = Player or White or Yellow or Red or Green
Tag = MaybeMove or NoMove
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Tag
Player, Wall, Slime
WallCoverUD
WallCoverLR
======
RULES
======
(movement)
[ moving Slime | no NoMove Slime ] -> [ moving Slime | moving Slime ]
startloop
[ > Slime | Wall ] -> [ NoMove Slime | Wall ]
[ > Slime | NoMove ] -> [ NoMove Slime | NoMove ]
[ NoMove Player ] [ Slime no NoMove ] -> [ NoMove Player ] [ NoMove Slime ]
[ NoMove A | A ] -> [ NoMove A | NoMove A ]
[ NoMove B | B ] -> [ NoMove B | NoMove B ]
[ NoMove C | C ] -> [ NoMove C | NoMove C ]
[ Player no NoMove ] -> [ Player MaybeMove ]
[ Slime MaybeMove | Slime no NoMove ] -> [ Slime MaybeMove | Slime MaybeMove ]
[ Slime no MaybeMove ] -> [ Slime NoMove ]
endloop
[ NoMove Slime ] -> [ stationary Slime ]
[ Tag ] -> []
(Test win condition)
late random [ Player ] -> [ Player MaybeMove ]
late [ Player | Slime no Player ] [ MaybeMove ] -> [ Player | Slime ] []
late [ A | Slime no A ] [ MaybeMove ] -> [ A | Slime ] []
late [ B | Slime no B ] [ MaybeMove ] -> [ B | Slime ] []
late [ C | Slime no C ] [ MaybeMove ] -> [ C | Slime ] []
late [ White ] [ MaybeMove ] -> [ White ] []
late random [ A ] -> [ A NoMove ]
late random [ B ] -> [ B NoMove ]
late random [ C ] -> [ C NoMove ]
late [ NoMove A | A ] -> [ NoMove A | NoMove A ]
late [ NoMove B | B ] -> [ NoMove B | NoMove B ]
late [ NoMove C | C ] -> [ NoMove C | NoMove C ]
late [ A no NoMove ] [ MaybeMove ] -> [ A ] []
late [ B no NoMove ] [ MaybeMove ] -> [ B ] []
late [ C no NoMove ] [ MaybeMove ] -> [ C ] []
late [ MaybeMove ] -> win
late [ Tag ] -> []
(Wall borders)
left [ Wall no WallCoverLR | no Wall ] -> [ Wall WallL | ]
right [ Wall no WallCoverLR | no Wall ] -> [ Wall WallR | ]
right [ Wall WallL | no Wall ] -> [ Wall WallLR | ]
up [ Wall no WallCoverUD | no Wall ] -> [ Wall WallU | ]
down [ Wall no WallCoverUD | no Wall ] -> [ Wall WallD | ]
down [ Wall WallU | no Wall ] -> [ Wall WallUD | ]
(merge into white)
late [ Slime no White | White ] -> [ Slime | Slime ]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
#########
###.c.###
#.......#
##a.p.a##
#.......#
###.c.###
#########
#########
#.c.c.c.#
#.......#
#..w.w..#
#.......#
###.p.###
#########
#########
###...###
#b.w.w.b#
#.......#
#b..p..b#
###...###
#########
##########
####..####
#........#
#.w..p.w.#
#c##..##c#
####..####
###w..w###
##########
##########
###....###
#.w....w.#
#...pp...#
#a#....#a#
##########
#######
##.c.##
#.a...#
#..#b.#
#..p..#
##.p.##
#######
#######
##...##
#.cbc.#
#..#..#
#.b.b.#
##.p.##
#######
message Thanks for playing! :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment