Created
October 31, 2023 15:46
-
-
Save henriquelalves/2df3fde00e4d12cbf0783067b7cfe6b6 to your computer and use it in GitHub Desktop.
Orpheus (PuzzleScript Script)
This file contains 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 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 Orpheus | |
author Illusion Fisherman | |
homepage https://illusion-fisherman.itch.io/ | |
run_rules_on_level_start | |
======== | |
OBJECTS | |
======== | |
Background | |
#4d4b46 #4a4844 | |
00001 | |
00011 | |
00111 | |
01111 | |
11111 | |
PlayerVisionMark | |
#fbfcfb | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Player | |
#d61718 #ef6062 #001eef #e0e0e0 | |
..... | |
..... | |
..... | |
..... | |
..... | |
StartingPlayerMark | |
red | |
PlayerAliveCheck | |
#d61718 #ef6062 #001eef #e0e0e0 | |
..... | |
..... | |
..... | |
..... | |
..... | |
PlayerDead | |
#d61718 #ef6062 #001eef #e0e0e0 | |
..... | |
.1.1. | |
..1.. | |
.1.1. | |
..... | |
PlayerLeft A | |
#332522 #ef6062 #de7c13 #e0e0e0 | |
.00.. | |
.330. | |
.232. | |
.222. | |
.2.2. | |
PlayerRight D | |
#332522 #ef6062 #de7c13 #e0e0e0 | |
..00. | |
.033. | |
.232. | |
.222. | |
.2.2. | |
PlayerUp W | |
#332522 #ef6062 #de7c13 #e0e0e0 | |
.000. | |
.000. | |
32223 | |
.222. | |
.2.2. | |
PlayerDown S | |
#332522 #ef6062 #de7c13 #e0e0e0 | |
.000. | |
.332. | |
33223 | |
32223 | |
.2.2. | |
Wall | |
#a2592f #cab170 #12111f | |
21111 | |
01001 | |
01101 | |
00002 | |
22222 | |
SeeingWall | |
#a2592f #cab170 #12111f | |
21212 | |
02021 | |
21202 | |
02022 | |
22222 | |
SeeingWallTemp | |
black | |
..... | |
..... | |
..... | |
..... | |
..... | |
SeenWall X | |
#a2592f #cab170 #12111f #09249f #18151f | |
24242 | |
42424 | |
24242 | |
42424 | |
24242 | |
WallAndEyeLock E | |
#afaa99 #251a5e #358fc3 | |
..... | |
.111. | |
11211 | |
.111. | |
..... | |
EyeLock | |
#26aacf #26aacf #12111f #09249f | |
20002 | |
00200 | |
22222 | |
00200 | |
20002 | |
EyeUnlock | |
#fbfcfb #26aacf #12111f #09249f | |
00100 | |
01110 | |
11311 | |
01110 | |
00100 | |
Gate G | |
#26aacf #26aacf | |
0...0 | |
0.0.0 | |
0.0.0 | |
0.0.0 | |
0.0.0 | |
TempGate | |
yellow | |
PowerOnTile | |
#26aacf | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
PowerOffTile | |
#12111f | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
WireUD H | |
#4d4b46 #4a4844 #444b5c black | |
00.01 | |
00.11 | |
00.11 | |
01.11 | |
11.11 | |
WireUL J | |
#4d4b46 #4a4844 #444b5c | |
00.01 | |
00.11 | |
...11 | |
01111 | |
11111 | |
WireUR K | |
#4d4b46 #4a4844 #444b5c | |
00.01 | |
00.11 | |
00... | |
01111 | |
11111 | |
WireLR L | |
#4d4b46 #4a4844 #444b5c | |
00001 | |
00011 | |
..... | |
01111 | |
11111 | |
WireLD N | |
#4d4b46 #4a4844 #444b5c | |
00001 | |
00011 | |
...11 | |
01.11 | |
11.11 | |
WireRD M | |
#4d4b46 #4a4844 #444b5c | |
00001 | |
00011 | |
00... | |
01.11 | |
11.11 | |
WireUDLR | |
#4d4b46 #4a4844 #444b5c | |
00.01 | |
00.11 | |
..... | |
01.11 | |
11.11 | |
======= | |
LEGEND | |
======= | |
. = Background | |
# = Wall | |
MovingPlayer = PlayerUp or PlayerDown or PlayerLeft or PlayerRight | |
Solid = Wall or SeeingWall or SeeingWallTemp or SeenWall or Gate or TempGate | |
VisionBlocker = Wall or SeeingWall or SeeingWallTemp or SeenWall | |
Wire = WireUD or WireUL or WireUR or WireLR or WireLD or WireRD or WireUDLR | |
WireU = WireUD or WireUL or WireUR or WireUDLR | |
WireL = WireUL or WireLR or WireLD or WireUDLR | |
WireR = WireUR or WireLR or WireRD or WireUDLR | |
WireD = WireUD or WireLD or WireRD or WireUDLR | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
PowerOnTile, PowerOffTile | |
WireUD, WireUL, WireUR, WireLR, WireLD, WireRD, WireUDLR | |
PlayerVisionMark | |
Player, PlayerDead, Wall, SeenWall, SeeingWall, SeeingWallTemp, Gate, TempGate | |
PlayerLeft, PlayerRight, PlayerUp, PlayerDown | |
PlayerAliveCheck | |
EyeLock, EyeUnlock | |
WallAndEyeLock | |
StartingPlayerMark | |
====== | |
RULES | |
====== | |
(Stage setup) | |
[WallAndEyeLock] -> [Wall EyeLock] | |
[PlayerUp no Player] -> [PlayerUp up Player StartingPlayerMark] | |
[PlayerDown no Player] -> [PlayerDown down Player StartingPlayerMark] | |
[PlayerLeft no Player] -> [PlayerLeft left Player StartingPlayerMark] | |
[PlayerRight no Player] -> [PlayerRight right Player StartingPlayerMark] | |
[Wire no PowerOnTile no PowerOffTile] -> [Wire PowerOffTile] | |
[EyeLock no PowerOffTile] -> [EyeLock PowerOffTile WireUDLR] | |
(Set player movement sprite) | |
[MovingPlayer] -> [ ] | |
[right Player] -> [right Player right PlayerRight] | |
[left Player] -> [left Player left PlayerLeft] | |
[up Player] -> [up Player up PlayerUp] | |
[down Player] -> [down Player down PlayerDown] | |
[PlayerVisionMark] -> [ ] | |
(Set seen walls) | |
[SeeingWall] -> [SeeingWallTemp] | |
[> MovingPlayer | ... | Wall] -> [> MovingPlayer | ... | SeeingWall] | |
[> MovingPlayer | ... | SeeingWallTemp] -> [> MovingPlayer | ... | SeeingWall] | |
[> MovingPlayer | ... | VisionBlocker | ... | SeeingWall] -> [> MovingPlayer | ... | VisionBlocker | ... | Wall] | |
[SeeingWallTemp] -> [SeenWall] | |
(Vision) | |
[> movingplayer | ... | no PlayerVisionmark | ... | VisionBlocker ] -> [> MovingPlayer | ... | PlayerVisionMark | ... | VisionBlocker] | |
[> movingplayer | ... | VisionBlocker | ... | PlayerVisionMark ] -> [> movingplayer | ... | VisionBlocker | ... | ] | |
(up [ PlayerUp | ... | no PlayerVisionMark | ... | VisionBlocker ] -> [ PlayerUp | ... | PlayerVisionMark | ... | visionblocker ] | |
down [ PlayerDown | ... | no PlayerVisionMark | ... | VisionBlocker ] -> [ PlayerDown | ... | PlayerVisionMark | ... | visionblocker ] | |
left [ PlayerLeft | ... | no PlayerVisionMark | ... | VisionBlocker ] -> [ PlayerLeft | ... | PlayerVisionMark | ... | visionblocker ] | |
right [ PlayerRight | ... | no PlayerVisionMark | ... | VisionBlocker ] -> [ PlayerRight | ... | PlayerVisionMark | ... | visionblocker ]) | |
(Start stage setup) | |
[moving Player moving MovingPlayer StartingPlayerMark] -> [Player MovingPlayer] | |
(Stop player on walls) | |
[> MovingPlayer | Solid ] -> [MovingPlayer | Solid] | |
(Dead check) | |
[ moving Player ] -> [ moving PlayerAliveCheck ] | |
[ moving PlayerAliveCheck | ... | SeeingWall ] -> [ moving Player | ... | SeeingWall ] | |
[ PlayerAliveCheck ] -> [ PlayerDead ] | |
[ PlayerDead PlayerLeft ] -> [ PlayerDead ] | |
[ PlayerDead PlayerRight ] -> [ PlayerDead ] | |
[ PlayerDead PlayerUp ] -> [ PlayerDead ] | |
[ PlayerDead PlayerDown ] -> [ PlayerDead ] | |
(Eye lock) | |
[ EyeLock SeeingWall] -> [EyeUnlock SeeingWall] | |
[EyeUnlock PowerOffTile] -> [EyeUnlock PowerOnTile] | |
startloop | |
up [ WireU PowerOffTile | WireD PowerOnTile ] -> [ WireU PowerOnTile | WireD PowerOnTile ] | |
down [ WireD PowerOffTile | WireU PowerOnTile ] -> [ WireD PowerOnTile | WireU PowerOnTile ] | |
left [ WireL PowerOffTile | WireR PowerOnTile ] -> [ WireL PowerOnTile | WireR PowerOnTile ] | |
right [ WireR PowerOffTile | WireL PowerOnTile ] -> [ WireR PowerOnTile | WireL PowerOnTile ] | |
endloop | |
(Gate) | |
late [ Gate ] -> [ TempGate ] | |
late up [ TempGate | PowerOffTile WireD ] -> [ Gate | PowerOffTile WireD ] | |
late down [ TempGate | PowerOffTile WireU ] -> [ Gate | PowerOffTile WireU ] | |
late left [ TempGate | PowerOffTile WireR ] -> [ Gate | PowerOffTile WireR ] | |
late right [ TempGate | PowerOffTile WireL ] -> [ Gate | PowerOffTile WireL ] | |
late [ TempGate ] -> [ ] | |
============== | |
WINCONDITIONS | |
============== | |
No EyeLock | |
======= | |
LEVELS | |
======= | |
MESSAGE Open all the eyes | |
###### | |
#..s.# | |
#e#..# | |
#....# | |
#...e# | |
###### | |
MESSAGE Eyes open gates | |
######### | |
#..g#g..# | |
#.#h.h#.# | |
#.#hsh#.# | |
#.ej.ke.# | |
#e#####e# | |
MESSAGE Level 1 | |
####### | |
#e.#..# | |
#.....# | |
##e..e# | |
#e...## | |
##e#.w# | |
####### | |
MESSAGE Level 2 | |
###x####### | |
#.elg.xg.e# | |
#...e..he.# | |
#d#....kle# | |
########### | |
MESSAGE Level 3 | |
######### | |
#s....e.# | |
#.e.e.mg# | |
#.....e.# | |
#.e..e.e# | |
######### | |
MESSAGE Level 4 | |
xxxxxxxx | |
#..s..e# | |
#e...e.# | |
#.x..x.# | |
#......# | |
#.e.x.e# | |
######## | |
MESSAGE Thank you for playing! | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment