Created
February 7, 2026 23:51
-
-
Save ZacharyTalis/6ae11e84c8fee89c48fac47dda4844dc to your computer and use it in GitHub Desktop.
Taut (Puzzlescript Next Script)
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 into https://puzzlescriptnext.polyomino.com/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 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. | |
| ..... | |
| AirFree | |
| transparent | |
| AirDense | |
| #2f484e88 | |
| ======= | |
| 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 | |
| Air = AirFree or AirDense | |
| BlocksAir = Wall or Crate or Player | |
| SpawnsAir = AirFree or Hole | |
| TransmitsPush = Player or Crate or AirDense | |
| NoAirDense = Wall or Crate or Player or AirFree or Hole | |
| Temp = Air or PlayerPulling or CratePulling | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Target | |
| Hole | |
| AirFree | |
| Wall, TransmitsPush | |
| ====== | |
| RULES | |
| ====== | |
| ( Mark pulling player ) | |
| vertical [ BlocksAir | PlayerNormal | BlocksAir ] -> [ BlocksAir | PlayerPullingHorizontal | BlocksAir ] | |
| horizontal [ BlocksAir | PlayerPullingHorizontal | BlocksAir ] -> [ BlocksAir | PlayerPullingBoth | BlocksAir ] | |
| horizontal [ BlocksAir | PlayerNormal | BlocksAir ] -> [ BlocksAir | PlayerPullingVertical | BlocksAir ] | |
| ( Mark pulling crate ) | |
| vertical [ BlocksAir | CrateNormal | BlocksAir ] -> [ BlocksAir | CratePullingHorizontal | BlocksAir ] | |
| horizontal [ BlocksAir | CratePullingHorizontal | BlocksAir ] -> [ BlocksAir | CratePullingBoth | BlocksAir ] | |
| horizontal [ BlocksAir | CrateNormal | BlocksAir ] -> [ BlocksAir | CratePullingVertical | BlocksAir ] | |
| ( Handle multipush ) | |
| [ > Player | TransmitsPush ] -> [ > Player | > TransmitsPush ] | |
| [ > TransmitsPush | TransmitsPush ] -> [ > TransmitsPush | > TransmitsPush ] | |
| ( Handle pulling ) | |
| horizontal [ < PlayerCanPullHorizontal | Crate ] -> [ < PlayerCanPullHorizontal | < Crate ] | |
| vertical [ < PlayerCanPullVertical | Crate ] -> [ < PlayerCanPullVertical | < Crate ] | |
| horizontal [ < CrateCanPullHorizontal | Crate ] -> [ < CrateCanPullHorizontal | < Crate ] | |
| vertical [ < CrateCanPullVertical | Crate ] -> [ < CrateCanPullVertical | < Crate ] | |
| ( Reset pulling marks ) | |
| [ PlayerPulling ] -> [ PlayerNormal ] | |
| [ CratePulling ] -> [ CrateNormal ] | |
| ( sfx for crate on target ) | |
| [ > Crate | Target ] -> [ > Crate | Target ] sfx0 | |
| ( Remove temp objects ) | |
| late [ Temp ] -> [ ] | |
| ( Flood fill air ) | |
| startloop | |
| late [ SpawnsAir | no BlocksAir ] -> [ SpawnsAir | AirFree ] | |
| endloop | |
| late [ no NoAirDense ] -> [ AirDense ] | |
| ( Handle falling into holes ) | |
| late [ PlayerNormal Hole | Air ] -> [ PlayerDoomed Hole | Air ] | |
| late [ PlayerDoomed ] -> [ ] | |
| late [ CrateNormal Hole | Air ] -> [ CrateDoomed Hole | Air ] | |
| late [ CrateDoomed ] -> [ ] | |
| ============== | |
| 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 | |
| ======= | |
| 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 | |
| ####hhh#### | |
| #####h##### | |
| ###..t#...# | |
| ###.#c#.c.# | |
| ###.#.#.c.# | |
| ###.#.#.c.# | |
| ###.#.#t.t# | |
| ###.#.#.#.# | |
| h##.#.#...# | |
| hhc.......# | |
| h##..@...## | |
| ########### | |
| section 5 | |
| #####hhh### | |
| #####...### | |
| #####...### | |
| #####...### | |
| #####.t.### | |
| #...##.#### | |
| #.@....#### | |
| #........th | |
| #...cc..### | |
| #.......### | |
| ########### | |
| section 6 | |
| ########### | |
| #####h##### | |
| #####t##### | |
| #####c##### | |
| #....h....# | |
| #.........# | |
| #.....c...# | |
| #[email protected]...# | |
| #.....c...# | |
| #.........# | |
| ########### | |
| ( ########### ) | |
| ( #h.......t# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #...c@....# ) | |
| ( #.........# ) | |
| ( ########### ) | |
| ( ########### ) | |
| ( #h.......t# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #.........# ) | |
| ( #...c@....# ) | |
| ( #.........# ) | |
| ( ########### ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment