Skip to content

Instantly share code, notes, and snippets.

@ZacharyTalis
Created February 5, 2026 21:22
Show Gist options
  • Select an option

  • Save ZacharyTalis/d5c5a63d82bec0eea5a688319e64d30d to your computer and use it in GitHub Desktop.

Select an option

Save ZacharyTalis/d5c5a63d82bec0eea5a688319e64d30d to your computer and use it in GitHub Desktop.
Taut (Puzzlescript Next Script)
Play this game by pasting the script into https://puzzlescriptnext.polyomino.com/editor.html
title Taut
author Cerise Talis
homepage https://cerisetalis.com/
run_rules_on_level_start
level_select
animate_interval 0.2
========
OBJECTS
========
Background .
#888 #919191
10001
00000
00000
00000
10001
Wall #
#244 darkgreen
00000
00100
01010
00100
00000
PlayerNormal @
purple #eee
00000
00000
01010
00000
00000
PlayerPullingHorizontal
purple #eee
copy:PlayerNormal
PlayerPullingVertical
purple #eee
copy:PlayerNormal
PlayerPullingBoth
purple #eee
copy:PlayerNormal
PlayerDoomed
purple #eee
copy:PlayerNormal
CrateNormal C
#5F367A
00000
0...0
0...0
0...0
00000
CratePullingHorizontal
#5F367A
copy:CrateNormal
CratePullingVertical
#5F367A
copy:CrateNormal
CratePullingBoth
#5F367A
copy:CrateNormal
CrateDoomed
#5F367A
copy:CrateNormal
Hole H
#111
Target T
red
.....
.000.
.0.0.
.000.
.....
Air A
transparent
( red )
( ..... )
( ..... )
( ..0.. )
( ..... )
( ..... )
Pressure P
( transparent )
( green )
#2f484e88
( ..... )
( ..... )
( ..0.. )
( ..... )
( ..... )
=======
LEGEND
=======
F = CrateNormal and Target
PlayerPulling = PlayerPullingHorizontal or PlayerPullingVertical or PlayerPullingBoth
Player = PlayerNormal or PlayerPulling or PlayerDoomed
CratePulling = CratePullingHorizontal or CratePullingVertical or CratePullingBoth
Crate = CrateNormal or CratePulling or CrateDoomed
PlayerCanPullHorizontal = PlayerPullingHorizontal or PlayerPullingBoth
PlayerCanPullVertical = PlayerPullingVertical or PlayerPullingBoth
CrateCanPullHorizontal = CratePullingHorizontal or CratePullingBoth
CrateCanPullVertical = CratePullingVertical or CratePullingBoth
BlocksAir = Wall or Crate or Player
SpawnAir = Air or Hole
TransmitsPush = Player or Crate or Pressure
NoPressure = Wall or Crate or Player or Air or Hole
Temp = Air or Pressure or PlayerPulling or CratePulling
================
COLLISIONLAYERS
================
Background
Target
Hole
Air
Wall, TransmitsPush
======
RULES
======
vertical [ BlocksAir | PlayerNormal | BlocksAir ] -> [ BlocksAir | PlayerPullingHorizontal | BlocksAir ]
horizontal [ BlocksAir | PlayerPullingHorizontal | BlocksAir ] -> [ BlocksAir | PlayerPullingBoth | BlocksAir ]
horizontal [ BlocksAir | PlayerNormal | BlocksAir ] -> [ BlocksAir | PlayerPullingVertical | BlocksAir ]
vertical [ BlocksAir | CrateNormal | BlocksAir ] -> [ BlocksAir | CratePullingHorizontal | BlocksAir ]
horizontal [ BlocksAir | CratePullingHorizontal | BlocksAir ] -> [ BlocksAir | CratePullingBoth | BlocksAir ]
horizontal [ BlocksAir | CrateNormal | BlocksAir ] -> [ BlocksAir | CratePullingVertical | BlocksAir ]
[ > Player | TransmitsPush ] -> [ > Player | > TransmitsPush ]
[ > TransmitsPush | TransmitsPush ] -> [ > TransmitsPush | > TransmitsPush ]
horizontal [ < PlayerCanPullHorizontal | Crate ] -> [ < PlayerCanPullHorizontal | < Crate ]
vertical [ < PlayerCanPullVertical | Crate ] -> [ < PlayerCanPullVertical | < Crate ]
horizontal [ < CrateCanPullHorizontal | Crate ] -> [ < CrateCanPullHorizontal | < Crate ]
vertical [ < CrateCanPullVertical | Crate ] -> [ < CrateCanPullVertical | < Crate ]
[ PlayerPulling ] -> [ PlayerNormal ]
[ CratePulling ] -> [ CrateNormal ]
[ > Crate | Target ] -> [ > Crate | Target ] sfx0
late [ Player Hole ] -> [ PlayerDoomed Hole ]
late [ PlayerDoomed ] -> [ ]
late [ Crate Hole ] -> [ CrateDoomed Hole ]
late [ CrateDoomed ] -> [ ]
late [ Temp ] -> [ ]
startloop
late [ SpawnAir | no BlocksAir ] -> [ SpawnAir | Air ]
endloop
late [ no NoPressure ] -> [ Pressure ]
==============
WINCONDITIONS
==============
all Target on Crate
==============
SOUNDS
==============
Player move 52786707:5
Player cantmove 46730104:5
Player cantmove afx:slide=0.05,0.0
Crate cantmove afx:slide=0.05,0.0
PlayerDoomed destroy 33265508:20
CrateDoomed destroy 33265508:20
PlayerDoomed destroy afx:zoom=1.0,0.0
CrateDoomed destroy afx:zoom=1.0,0.0
endlevel 93409509
sfx0 90335506:3
sfx1 afx:zoom=1.0,0.0
=======
LEVELS
=======
section 1
hhhhhhhhhhhhhhhhh
hhhhhhhhthhhhhhhh
hhhhhhhh.hhhhhhhh
hhhh.........hhhh
h....###.###....h
h.####.....####.h
htc..........cc.h
h.####.....####.h
h....###.###[email protected]
hhhh.........hhhh
hhhhhhhh.hhhhhhhh
hhhhhhhhthhhhhhhh
hhhhhhhhhhhhhhhhh
section 2
#######
#.....#
#.....#
#.htt.#
#.....#
###.###
#.....#
#.@cc.#
#.....#
#.....#
#######
section 3
hhhhhhhh
[email protected]
hhhh##.h
#....#.#
#.#.c..#
#...t..#
###....#
#......#
#.....##
#....###
########
section 4
###########
#####h#####
###..t#...#
###.#c#.c.#
###.#.#.c.#
###.#.#.c.#
###.#.#t.t#
###.#.#.#.#
###.#.#...#
#hc.......#
###..@...##
###########
section 5
####hhh####
####...####
####...####
####...####
####.t.####
#...#.#####
#.....#####
#........th
#[email protected]..###
#.......###
###########
( ########### )
( #h.......t# )
( #.........# )
( #.........# )
( #.........# )
( #.........# )
( #.........# )
( #.........# )
( #...c@....# )
( #.........# )
( ########### )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment