-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
[email protected] | |
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 | |
[email protected] | |
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 | |
[email protected].!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 | |
[email protected]..!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 | |
[email protected][email protected] | |
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 | |
[email protected] | |
nsnnnnnnnnn.nn.n | |
[email protected] | |
..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 | |
[email protected]..!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 | |
[email protected] | |
..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 | |
[email protected] | |
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