Skip to content

Instantly share code, notes, and snippets.

@quat1024
Last active January 7, 2019 09:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save quat1024/2d06d8ec4cad13539ff6ec6850f54a4f to your computer and use it in GitHub Desktop.
Save quat1024/2d06d8ec4cad13539ff6ec6850f54a4f to your computer and use it in GitHub Desktop.
Multiplicity (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Multiplicity
author quaternary
color_palette proteus_rich
background_color lightred
text_color black
run_rules_on_level_start
========
OBJECTS
========
background .
darkgray
wall #
lightred
backfill $
lightred
player p
lightgreen green
.....
.000.
.001.
.000.
.0.0.
playerghost ?
lightgray gray
.....
.000.
.001.
.000.
.0.0.
box b
lightblue blue
.....
.000.
.000.
.000.
.111.
playerTarget *
darkgreen
...00
....0
.....
0....
00...
boxTarget "
darkblue
...00
....0
.....
0....
00...
first 1
red
0...0
.0.0.
..0..
.0.0.
0...0
tpintent
red
0...0
.0.0.
..0..
.0.0.
0...0
wall_l
darkgray
.....
.....
000..
.....
.....
wall_r
darkgray
.....
.....
..000
.....
.....
wall_u
darkgray
..0..
..0..
..0..
.....
.....
wall_d
darkgray
.....
.....
..0..
..0..
..0..
wall_dot
darkgray
.....
.....
..0..
.....
.....
=======
LEGEND
=======
pushable = playerghost or box
solid = wall or backfill
playerTargetCoverer = player or playerghost
walloverlay = wall_l or wall_r or wall_u or wall_d or wall_dot
tempmarker = first or tpintent
=======
SOUNDS
=======
player move 78774507
box move 88760907
sfx1 96872708
cancel 95744308
================
COLLISIONLAYERS
================
background
boxTarget, playerTarget
wall, backfill, player, playerghost, box
tempmarker
wall_l
wall_r
wall_u
wall_d
wall_dot
======
RULES
======
( firstrun )
left [first] [wall | wall] -> [first] [wall wall_l | wall]
right [first] [wall | wall] -> [first] [wall wall_r | wall]
up [first] [wall | wall] -> [first] [wall wall_u | wall]
down [first] [wall | wall] -> [first] [wall wall_d | wall]
[first] [wall no walloverlay] -> [first] [wall wall_dot]
( swap )
[action player] -> [player tpintent] sfx1
[player tpintent] [playerghost] -> [player tpintent] [player]
[player tpintent] -> [playerghost]
( push )
[> player | pushable] -> [> player | > pushable]
[> player | pushable | pushable] -> [> player | > pushable | > pushable]
[> player | pushable | pushable | pushable] -> [> player | > pushable | > pushable | > pushable]
( rigidity )
[> player | solid ] -> cancel
[> pushable | solid] -> cancel
( clean )
[tempmarker] -> []
==============
WINCONDITIONS
==============
all playerTarget on playerTargetCoverer
all boxTarget on box
=======
LEVELS
=======
message Cover all targets.
message Puzzle 1 / 4
#########
#1..#...#
#..p#..*#
#.......#
#p..#*..#
#...#...#
#########
message Press X to animate ghosts
message Puzzle 2 / 4
#########$
#p1....p#$
#..*?*..#$
#...?...#$
#..*.*..##
#........#
##########
message Puzzle 3 / 4
#############
#1......#...#
#.?.#*.*#.?.#
#...#...#...#
#.p.#*p*#...#
#...#.......#
#############
message Puzzle 4 / 4
#########
#1..#...#
#.*p#.?*#
#.......#
#p*.#*?.#
#...#...#
#########
message nice :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment