Skip to content

Instantly share code, notes, and snippets.

@variousauthors
Forked from anonymous/readme.txt
Last active December 29, 2015 05:09
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 variousauthors/7620162 to your computer and use it in GitHub Desktop.
Save variousauthors/7620162 to your computer and use it in GitHub Desktop.
This is "Signal", my second puzzle script game. It is nearly finished, and it really is a puzzle game. You can play this build of it by visiting this link: http://www.puzzlescript.net/play.html?p=7620162
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Signal
author arrogant.gamer
homepage www.arrogantgamer.com
flickscreen 16 x 8
========
OBJECTS
========
Background
white #EEEEEE
00100
00100
11111
00100
00100
Player
white #222222 red
11111
10001
10201
10001
11111
pinkdrone ( can be remote controlled )
white #222222 pink
11111
10001
10201
10001
11111
greendrone ( can be remote controlled by drones)
white #222222 green
11111
10001
10201
10001
11111
orangedrone ( for the ending )
white #222222 orange
11111
10001
10201
10001
11111
dummy ( for the ending )
white #222222 red
11111
10001
10201
10001
11111
A_1
#222222 white
00000
01100
01000
000.0
00000
A_2
#222222 white
00000
00110
00010
0.000
00000
A_3
#222222 white
00000
0.000
00010
00110
00000
A_4
#222222 white
00000
000.0
01000
01100
00000
C_1
#222222 white
00000
00.00
00000
01010
00000
C_2
#222222 white
00000
01000
000.0
01000
00000
C_3
#222222 white
00000
01010
00000
00.00
00000
C_4
#222222 white
00000
00010
0.000
00010
00000
B_1
white #EEEEEE #AA0000
00100
00100
11111
00120
00100
B_2
white #EEEEEE #AA0000
00100
00100
11111
02100
00100
B_3
white #EEEEEE #AA0000
00100
02100
11111
00100
00100
B_4
white #EEEEEE #AA0000
00100
00120
11111
00100
00100
nullified
white #222222 darkgrey
11111
10001
10201
10001
11111
Wall
#222222
00000
00000
00000
00000
00000
mesh
white #EEEEEE pink
02102
20120
11211
02102
20120
green
green
00000
00000
00000
00000
00000
pink
pink
00000
00000
00000
00000
00000
red
red
00000
00000
00000
00000
00000
=======
LEGEND
=======
. = Background
3 = A_1
1 = A_2
7 = A_3
9 = A_4
w = C_1 and green
a = C_4 and green
s = C_3 and green
d = C_2 and green
8 = C_1 and pink
4 = C_4 and pink
2 = C_3 and pink
6 = C_2 and pink
( unused )
j = C_1 and red
h = C_4 and red
k = C_3 and red
l = C_2 and red
reddrone = player
drone = reddrone or greendrone
p = reddrone
c = pinkdrone
x = greendrone
y = dummy (unused )
z = orangedrone ( unused )
actor = p or c or x or z or y
n = nullified
m = mesh
I = Wall
! = B_1 and Background
@ = B_2 and Background
# = B_3 and Background
$ = B_4 and Background
( for the reprogramming level )
` = A_1 and B_1
' = A_2 and B_2
" = A_3 and B_3
, = A_4 and B_4
R = A_1 or A_2 or A_3 or A_4
B = B_1 or B_2 or B_3 or B_4
& = green
* = pink
=======
SOUNDS
=======
TitleScreen 5005508
EndGame 96356908
EndLevel 12024708
SFX0 16707108 (mesh)
SFX1 27182706 (rotate)
SFX2 57864308 (transfer)
undo 44778908
restart 63661108
actor move 62909707 (drone move)
================
COLLISIONLAYERS
================
Background
green, pink, red
B_1, B_2, B_3, B_4, mesh
player, nullified, actor, A_1, A_2, A_3, A_4, Wall, C_1, C_2, C_3, C_4
======
RULES
======
( a player might cause a pink drone to move )
[ > player | 8 ] [ stationary pinkdrone ] -> [ > player | 8 ] [ UP pinkdrone ] again
[ > player | 4 ] [ stationary pinkdrone ] -> [ > player | 4 ] [ LEFT pinkdrone ] again
[ > player | 2 ] [ stationary pinkdrone ] -> [ > player | 2 ] [ DOWN pinkdrone ] again
[ > player | 6 ] [ stationary pinkdrone ] -> [ > player | 6 ] [ RIGHT pinkdrone ] again
( a player might cause a pink drone to move )
[ > player | w ] [ stationary greendrone ] -> [ > player | w ] [ UP greendrone ] again
[ > player | a ] [ stationary greendrone ] -> [ > player | a ] [ LEFT greendrone ] again
[ > player | s ] [ stationary greendrone ] -> [ > player | s ] [ DOWN greendrone ] again
[ > player | d ] [ stationary greendrone ] -> [ > player | d ] [ RIGHT greendrone ] again
( a pinkdrone might cause a green drone to move )
[ > pinkdrone | w ] [ stationary greendrone ] -> [ > pinkdrone | w ] [ UP greendrone ] again
[ > pinkdrone | a ] [ stationary greendrone ] -> [ > pinkdrone | a ] [ LEFT greendrone ] again
[ > pinkdrone | s ] [ stationary greendrone ] -> [ > pinkdrone | s ] [ DOWN greendrone ] again
[ > pinkdrone | d ] [ stationary greendrone ] -> [ > pinkdrone | d ] [ RIGHT greendrone ] again
( a greendrone might cause a pink drone to move )
[ > greendrone | 8 ] [ stationary pinkdrone ] -> [ > greendrone | 8 ] [ UP pinkdrone ] again
[ > greendrone | 4 ] [ stationary pinkdrone ] -> [ > greendrone | 4 ] [ LEFT pinkdrone ] again
[ > greendrone | 2 ] [ stationary pinkdrone ] -> [ > greendrone | 2 ] [ DOWN pinkdrone ] again
[ > greendrone | 6 ] [ stationary pinkdrone ] -> [ > greendrone | 6 ] [ RIGHT pinkdrone ] again
( no passing through mesh )
[ > actor | mesh ] -> [ actor | mesh ] SFX0
( R arrows are pushable, but not when they are against walls )
[ > actor | R | no n no I no R no actor ] -> [ > actor | > R | no n no I no R no actor ]
( actions transfer through arrow blocks to remote actors )
[ action player | & ] [ greendrone ] -> [ action player | & ] [ action greendrone ] again
[ action player | * ] [ pinkdrone ] -> [ action player | * ] [ action pinkdrone ] again
[ action pinkdrone | & ] [ greendrone ] -> [ action pinkdrone | & ] [ action greendrone ] again
[ action greendrone | * ] [ pinkdrone ] -> [ action greendrone | * ] [ action pinkdrone ] again
( the arrow "absorbs" the action -- this is to stem the infection )
( [ action drone ] [ action player ] -> [ action drone ] [ player ] )
( mark squares as "wanting to rotate" )
[ action actor | A_1 ] -> [ action actor | action A_1 ]
[ action actor | A_2 ] -> [ action actor | action A_2 ]
[ action actor | A_3 ] -> [ action actor | action A_3 ]
[ action actor | A_4 ] -> [ action actor | action A_4 ]
( rotate squares that want to rotate )
[ action A_4 ] -> [ A_1 ] SFX1
[ action A_1 ] -> [ A_2 ] SFX1
[ action A_2 ] -> [ A_3 ] SFX1
[ action A_3 ] -> [ A_4 ] SFX1
( when pushing a square, push all similar squares )
[ > A_4 ] [ A_4 ] -> [ > A_4 ] [ > A_4 ]
[ > A_1 ] [ A_1 ] -> [ > A_1 ] [ > A_1 ]
[ > A_2 ] [ A_2 ] -> [ > A_2 ] [ > A_2 ]
[ > A_3 ] [ A_3 ] -> [ > A_3 ] [ > A_3 ]
( possible justifications for red's imprisonment )
( red travels )
[ > player | nullified ] -> [ nullified | player ] SFX2
( red infects )
( [ action player | nullified ] -> [ player | player ] )
==============
WINCONDITIONS
==============
all A_1 on B_1
all A_2 on B_2
all A_3 on B_3
all A_4 on B_4
=======
LEVELS
=======
message [00000.000000] SIGIO
message [00000.178291] SIGPWR
( intro )
nnnnnnnncnnnnnwn
n..xncnnnxnnnacd
nnnnnnnnnnnnnnsn
nn8nnnn.n....nnn
n4p6x......@.nnn
nn2nn..1.....ncn
cnnn....nn..nxnn
nnnnnnnnncnnnnnn
message [00000.289387] SIGURG
( match blocks to corresponding dots )
ncnnnnnnnn.xInxn
nn.......nnnI.nn
n.7..#.....nm..n
n.....!...3.m.xn
nwn.....n...In8n
apdnxnnnxnnnI4n6
nsncnn8nnxcnIn2n
nnx..nn6n.nnInnn
nn.nnnnnnnnnnnnn
message [00000.384732] SIGSYS
( similar blocks move together )
n.nxnnnIInnnnx.n
.cnn...II...nncn
6nn...7....#.nnn
nnx...7....#..nx
.xn8n..II.n..wnn
nn4p6nnIInnnacdn
8nn2nnnIInxnnsnn
n6nnn.xIIc..nnxn
message [00000.424782] SIGALRM
( similar blocks move together )
( reinforced with the barrier )
..cnnnnnnnnxnnwn
nnn.......nnnacd
cnx..7..#...nnsn
n8nn...!..3.ncnn
4p6nnnnnnnnnnnnx
n2nn.7..#....n.n
nnn....!..3.nn.n
ncnnnnnnnnnncnxn
message [00000.572993] SIGSTOP
( trivial rotate puzzle )
( impossible using what we've seen so far )
ncnnIxnnnnnxnn8n
nnwnInx..nnnn4x6
napdIn.1...nnn2n
nnsnIn.....n.xnn
n.nnInnn.$.nnn.n
n...m..nn.nncncn
n.c.mx..nnnnnn.n
nnnnInnncx..nnnn
message [00000.689290] SIGCONT
( trivial with block rotation )
( solvable without )
n2nxnInncnnInnan
8p4nnInnnnnIndcs
n6n..InnnnnI.nwn
nn.7.....#nI..nn
xn........nI.c.n
nn.7...#...I...n
8nnx.Innnn.m...n
n6nnnInnxnnInnnx
message [00000.727183] SIGBUS
( trivial with block rotation )
( impossible without )
xnnnnnnnnnnxnn8n
nn......nncnn4p6
n.7...#.nnnxnn2n
n.#...7.nxn.ncnn
nnnnx...nnnnnncn
nwnnnnnnnnn....n
acdnc.nx..n...nn
nsnn.nnnnnnnnnnn
message [00000.851829] SIGSEGV
( pull -- use similar blocks to pull hard to reach ones )
nnnnnnnnnInnnwnn
.n.n3nn..m.nncdn
.cn..n.@.m..cnnn
xn.......In..nnc
nnx.1..#.In..nnn
cnnn...nnI..nn8n
nacnnnnncInxn4p6
nnsnnc..nInnnn2n
message [00000.941982] SIGSTKFLT
( the first real puzzle )
( send a block across mesh )
nnwncnnnnnncInnn
ndcnnn....nnI..n
.nncan.3...nI..n
.xnsnn..n.@.m.!n
ncnnxnn1...nI..n
nn8nnxn.n.xnI..n
n6p4n.nnnnnnInnn
nn2nn.ncn8nxIc..
message [00001.007939] SIGFPE
( introduces drone control )
c.nc8nnnnxnnInn.
n.n4........m1nc
nnnI....!...Innn
.n3m...#....6nxc
xxnI......n2nn..
ncnnnnnnnnnnnwnn
nn@..1c3..!napdn
cnnnnnnnnnncnsnx
message [00001.179893] SIGTRAP
( the player has no access to blocks and cannot rotate them )
nn.n2nnnnnxnnnnc
cn.nnnn..n.n7.9n
xnxwnx....n....n
ncapdn..1.n.#$.n
..xsnnn.@nn.@!.n
nnnncnnnnnn....n
nx..nnxn3.....1n
nnnncxnnnnnnnnnc
message [00001.209376] SIGLOST
( the player has no access to blocks, but a drone does )
( impossible without drone control )
n..xnnIn.nwncn8n
cnnncxI.xapdn4.6
nn9.nnInnnsnnn.n
n7....m...nn...n
n.!@..m...n.@..n
n3$#.nInncn..1.n
nn9.ncInnnnnx.nn
xnnnxcIn..xnnnxx
message [00001.425172] SIGQUIT
( introduces interference )
( if the player insists that "they are green" this will be quite difficult )
( if they are able to "switch" it will be easier )
cnnnnInnn.x.nnnx
n....I..nncn.ncn
I9...m...nnn.9.n
I3...m..!nn....n
n....I..nnxnn$nn
n$nxnInnnsncnn6n
xnnnnInndcwnn2p4
n..xnIc.nanncn8n
message [00001.398411] SIGILL
( there does not appear to be a green drone )
( the player's identity is called to attention )
nwnnnnnnnnnnnncn
apdn3c3!.!n@nn.n
nsnnnnnnnnn.nn.n
nnnn31....n@nn.n
..xn97....n1nnnn
nnnn....#$ncnn8n
nc.n....@!n1n4x6
nn.nnnnnnnnnnn2n
message [00001.529873] SIGINT
( get the player used to movement with broken controls )
( the red dude is free, and can help the player )
nncnnxInnnnnxn2n
n.n.nnIn...nnc..
n.....mn...n.xnn
n.7...m.#..n.nnc
nn@3..m..!nnnwnn
xn..1nm...nnap.d
n.n.xnInnnnnnnsn
.xcnnxInncx..nnx
message [00001.662781] SIGCHLD
( further mess with controls )
( second pink dude exists )
( so good! )
( red has gradually more freedom )
c8nnnnnIcnnncnnx
4p.6n..In..n..nn
nn2n...I....nnnn
cxn#...m.9...ncn
nnnc...m...@.nxn
..n....I....nwnn
nxnn...Ixn1na.cd
..cnnnnInnnnnnsn
message [00001.715923] SIGKILL
( a challenging "last boss" in which the player is
clearly the red drone )
( if the red drone "escapes", this level is easier )
nnn8nInxIn7'"nnn
4...6In.......cn
n2n.nIn.Innnnnnn
nwn.nIn.Innnnn#n
ap..dIc........n
n3nsnInnInnnnI.I
n.93.......nnnxn
nnnnnI!n$n!nnnnn
message [00001.859301] SIGLAST
( red is the player now! )
nnncnnnnnxnnnnnn
nxnnnxnccnn#.3cn
n.3nn7nnxnnnnnnn
n$ncnncnnnnxnnnn
nnxn....nnIIwasd
xn......xnmnnnnn
nn.!@..ncnmnpn.n
n.....nnnnn98426
n.......nnnnnnnn
n.........nnnnnn
nn.......nnnnnnn
IIIImmmmIIIIIIII
n..........nnjnn
nn.........nhzln
nnn.......nnnknn
nnnnnnnnnnnnnnnn
message [00002.000000] SIGHUP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment