Skip to content

Instantly share code, notes, and snippets.

@henriquelalves
Created October 31, 2023 15:55
Show Gist options
  • Save henriquelalves/efc616d67e94bea3fc62790cda4f9303 to your computer and use it in GitHub Desktop.
Save henriquelalves/efc616d67e94bea3fc62790cda4f9303 to your computer and use it in GitHub Desktop.
Orpheus (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
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