Skip to content

Instantly share code, notes, and snippets.

@thacuber2a03
Created February 7, 2021 23:43
Show Gist options
  • Select an option

  • Save thacuber2a03/de5b459936863e202e91865a4b867d9e to your computer and use it in GitHub Desktop.

Select an option

Save thacuber2a03/de5b459936863e202e91865a4b867d9e to your computer and use it in GitHub Desktop.
Sokoportal (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Sokoportal
author Tha Cuber
homepage thacuber.itch.io
background_color darkgray
text_color white
norepeat_action
(omg this was hard to make aaahhh)
========
OBJECTS
========
(player directions)
PlayerR
blue black brown lightbrown
.222.
.233.
.0000
.000.
..1..
PlayerD
blue black brown lightbrown
.222.
.333.
00000
.000.
.1.1.
PlayerU
blue black brown lightbrown
.222.
.222.
00000
.000.
.1.1.
PlayerL
blue black brown lightbrown
.222.
.332.
0000.
.000.
..1..
(other necesary things)
Background
gray
Wall
darkgray
Box
brown lightbrown
00000
01110
01110
01110
00000
(portals-related stuff)
PortalOL
orange
....0
....0
....0
....0
....0
PortalOR
orange
0....
0....
0....
0....
0....
PortalOD
orange
00000
.....
.....
.....
.....
PortalOU
orange
.....
.....
.....
.....
00000
PortalBR
blue
0....
0....
0....
0....
0....
PortalBL
blue
....0
....0
....0
....0
....0
PortalBD
blue
00000
.....
.....
.....
.....
PortalBU
blue
.....
.....
.....
.....
00000
PortalBallOR
orange
.....
..0..
.000.
..0..
.....
PortalBallOL
orange
.....
..0..
.000.
..0..
.....
PortalBallOU
orange
.....
..0..
.000.
..0..
.....
PortalBallOD
orange
.....
..0..
.000.
..0..
.....
PortalBallBR
blue
.....
..0..
.000.
..0..
.....
PortalBallBL
blue
.....
..0..
.000.
..0..
.....
PortalBallBU
blue
.....
..0..
.000.
..0..
.....
PortalBallBD
blue
.....
..0..
.000.
..0..
.....
PortalSelectB
transparent
PortalSelectO
transparent
=======
LEGEND
=======
P = PlayerD
W = Wall
y = Wall and PortalSelectB
b = Box
. = Background
l = Wall and PortalOL
r = Wall and PortalOR
u = Wall and PortalOU
q = Wall and PortalOD
a = Wall and PortalBL
d = Wall and PortalBR
e = Wall and PortalBU
s = Wall and PortalBD
Player = PlayerR or PlayerD or PlayerU or PlayerL
Portals = PortalOL or PortalBR or PortalOR or PortalBL or PortalOD or PortalBD or PortalOU or PortalBU or PortalBallOR or PortalBallOL or PortalBallOU or PortalBallOD or PortalBallBR or PortalBallBL or PortalBallBU or PortalBallBD or PortalSelectB or PortalSelectO
BluePortals = PortalBR or PortalBL or PortalBD or PortalBU
Portalable = Player or Box
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Portalable, Wall
Portals
======
RULES
======
(basic rules)
[ > Player | Box ] -> [ > Player | > Box ]
(player directions)
right [ > Player ] -> [ > PlayerR ]
left [ > Player ] -> [ > PlayerL ]
up [ > Player ] -> [ > PlayerU ]
down [ > Player ] -> [ > PlayerD ]
(portal balls)
(shooting portal balls)
right [ action PlayerR ] -> [ PlayerR > PortalBallOR ]
(moving portal balls)
right [ PortalBallOR | no Portalable ] -> [ > PortalBallOR | ] again
(portal balls colliding)
(orange portal balls)
[ > PortalBallOR | Wall no Portals ] [ PortalOR ] -> [ | PortalOR Wall ] [ ]
[ > PortalBallOR | Wall no BluePortals ] -> [ | PortalOR Wall ]
[ > PortalBallOR | PortalOR ] -> [ | PortalOR ]
[ > PortalBallOR | BluePortals ] -> [ | BluePortals ]
[ > PortalBallOL | Wall no Portals ] [ PortalOL ] -> [ | PortalOL Wall ] [ ]
[ > PortalBallOL | Wall no BluePortals ] -> [ | PortalOL Wall ]
[ > PortalBallOL | PortalOR ] -> [ | PortalOL ]
[ > PortalBallOL | BluePortals ] -> [ | BluePortals ]
(portaling)
(horizontal portaling)
(normal portaling)
right [ > Portalable | PortalBR ] [ PortalOL | no Portalable ] -> [ | PortalBR ] [ PortalOL | Portalable ]
left [ > Portalable | PortalOL ] [ PortalBR | no Portalable ] -> [ | PortalOL ] [ PortalBR | Portalable ]
right [ > Portalable | PortalOR ] [ PortalBL | no Portalable ] -> [ | PortalOR ] [ PortalBL | Portalable ]
left [ > Portalable | PortalBL ] [ PortalOR | no Portalable ] -> [ | PortalBL ] [ PortalOR | Portalable ]
(pushing out of a portal)
right [ > Player | PortalBR ] [ PortalOL | Box | no Portalable ] -> [ | PortalBR ] [ PortalOL | Player | Box ]
left [ > Player | PortalOL ] [ PortalBR | Box | no Portalable ] -> [ | PortalOL ] [ PortalBR | Player | Box ]
right [ > Player | PortalOR ] [ PortalBL | Box | no Portalable ] -> [ | PortalOR ] [ PortalBL | Player | Box ]
left [ > Player | PortalBL ] [ PortalOR | Box | no Portalable ] -> [ | PortalBL ] [ PortalOR | Player | Box ]
(vertical portaling)
(normal portaling)
up [ > Portalable | PortalBU ] [ PortalOD | no Portalable ] -> [ | PortalBU ] [ PortalOD | Portalable ]
down [ > Portalable | PortalOD ] [ PortalBU | no Portalable ] -> [ | PortalOD ] [ PortalBU | Portalable ]
up [ > Portalable | PortalOU ] [ PortalBD | no Portalable ] -> [ | PortalOU ] [ PortalBD | Portalable ]
down [ > Portalable | PortalBD ] [ PortalOU | no Portalable ] -> [ | PortalBD ] [ PortalOU | Portalable ]
(pushing out of a portal)
up [ > Player | PortalBU ] [ PortalOD | Box | no Portalable ] -> [ | PortalBU ] [ PortalOD | Player | Box ]
down [ > Player | PortalOD ] [ PortalBU | Box | no Portalable ] -> [ | PortalOD ] [ PortalBU | Player | Box ]
up [ > Player | PortalOU ] [ PortalBD | Box | no Portalable ] -> [ | PortalOU ] [ PortalBD | Player | Box ]
down [ > Player | PortalBD ] [ PortalOU | Box | no Portalable ] -> [ | PortalBD ] [ PortalOU | Player | Box ]
==============
WINCONDITIONS
==============
=======
LEVELS
=======
ywwwwww
w.....w
w.....w
w.pb..w
w.....w
w.....w
wwwwwww
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment