Created
December 23, 2025 13:44
-
-
Save Stingby12/85779c7d4023eea015c74a3da3103d6f to your computer and use it in GitHub Desktop.
Silmutargets (PuzzleScript 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 in http://www.puzzlescript.net/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 Silmutargets | |
| author Stingby12 | |
| homepage https://stingby12.itch.io/ | |
| color_palette amiga | |
| again_interval 0.05 | |
| ( | |
| verbose_logging | |
| ) | |
| ======== | |
| OBJECTS | |
| ======== | |
| Background | |
| green darkgreen | |
| 11111 | |
| 01111 | |
| 11101 | |
| 11111 | |
| 10111 | |
| Target | |
| darkblue darkgray | |
| ..... | |
| .000. | |
| .010. | |
| .000. | |
| ..... | |
| TargetX | |
| blue | |
| ..... | |
| .000. | |
| .0.0. | |
| .000. | |
| ..... | |
| TargetHole | |
| purple darkgray | |
| ..... | |
| .000. | |
| .010. | |
| .000. | |
| ..... | |
| TargetHoleX | |
| pink | |
| ..... | |
| .000. | |
| .0.0. | |
| .000. | |
| ..... | |
| Wall | |
| lightbrown brown | |
| 00010 | |
| 11111 | |
| 01000 | |
| 11111 | |
| 00010 | |
| Hole | |
| brown darkbrown | |
| 11111 | |
| 01111 | |
| 11101 | |
| 11111 | |
| 10111 | |
| Box | |
| orange red | |
| 00000 | |
| 01110 | |
| 01110 | |
| 01110 | |
| 00000 | |
| LongBoxU | |
| yellow lightbrown | |
| 01110 | |
| 01110 | |
| 01110 | |
| 01110 | |
| 00000 | |
| LongBoxD | |
| yellow lightbrown | |
| 00000 | |
| 01110 | |
| 01110 | |
| 01110 | |
| 01110 | |
| LongBoxL | |
| yellow lightbrown | |
| 00000 | |
| 11110 | |
| 11110 | |
| 11110 | |
| 00000 | |
| LongBoxR | |
| yellow lightbrown | |
| 00000 | |
| 01111 | |
| 01111 | |
| 01111 | |
| 00000 | |
| IceBox | |
| lightblue #7281ba white | |
| 00200 | |
| 01120 | |
| 01112 | |
| 21110 | |
| 02000 | |
| Rock | |
| gray lightgray #555555 | |
| .110. | |
| 11000 | |
| 10002 | |
| 00022 | |
| .022. | |
| BoxHole | |
| #770000 #550000 | |
| 00000 | |
| 01110 | |
| 01110 | |
| 01110 | |
| 00000 | |
| IceBoxHole | |
| blue darkblue lightgray | |
| 00200 | |
| 01120 | |
| 01112 | |
| 21110 | |
| 02000 | |
| RockHole | |
| #555555 gray darkgray | |
| .110. | |
| 11000 | |
| 10002 | |
| 00022 | |
| .022. | |
| SlideTP | |
| transparent | |
| UpTP | |
| transparent | |
| DownTP | |
| transparent | |
| LeftTP | |
| transparent | |
| RightTP | |
| transparent | |
| UpTPHole | |
| transparent | |
| DownTPHole | |
| transparent | |
| LeftTPHole | |
| transparent | |
| RightTPHole | |
| transparent | |
| TurnTPCw | |
| transparent | |
| TurnTPCcw | |
| transparent | |
| TurnX | |
| transparent | |
| Void % | |
| black | |
| Zero 0 | |
| black white | |
| 00100 | |
| 01010 | |
| 01010 | |
| 01010 | |
| 00100 | |
| One 1 | |
| black white | |
| 00010 | |
| 00110 | |
| 01010 | |
| 00010 | |
| 00010 | |
| Two 2 | |
| black white | |
| 01100 | |
| 00010 | |
| 00100 | |
| 01000 | |
| 01110 | |
| Three 3 | |
| black white | |
| 01100 | |
| 00010 | |
| 01100 | |
| 00010 | |
| 01100 | |
| Four 4 | |
| black white | |
| 01010 | |
| 01010 | |
| 00110 | |
| 00010 | |
| 00010 | |
| Five 5 | |
| black white | |
| 01110 | |
| 01000 | |
| 01110 | |
| 00010 | |
| 01100 | |
| Six 6 | |
| black white | |
| 00110 | |
| 01000 | |
| 01100 | |
| 01010 | |
| 00100 | |
| Seven 7 | |
| black white | |
| 01110 | |
| 00010 | |
| 00110 | |
| 00010 | |
| 00010 | |
| Eight 8 | |
| black white | |
| 01110 | |
| 01010 | |
| 00100 | |
| 01010 | |
| 01110 | |
| Nine 9 | |
| black white | |
| 00110 | |
| 01010 | |
| 01110 | |
| 00010 | |
| 01100 | |
| Dash - | |
| black white | |
| 00000 | |
| 00000 | |
| 01110 | |
| 00000 | |
| 00000 | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| # = Wall | |
| * = Box | |
| ¤ = Rock | |
| + = IceBox | |
| ^ = LongBoxU | |
| v = LongBoxD | |
| < = LongBoxL | |
| > = LongBoxR | |
| O = Target | |
| @ = Box and TargetX | |
| $ = Rock and Target | |
| ~ = IceBox and TargetX | |
| X = Hole | |
| € = BoxHole and Hole | |
| § = RockHole and Hole | |
| £ = Box and RockHole and Hole | |
| ç = IceBoxHole and Hole | |
| Q = TargetHole and Hole | |
| ° = Target and Hole | |
| ! = Target and RockHole and Hole | |
| ? = TargetHole and RockHole and Hole | |
| LongBox = LongBoxU or LongBoxD or LongBoxL or LongBoxR | |
| Boxes = Box or IceBox or LongBox | |
| BoxesHole = BoxHole or IceBoxHole | |
| MoveTP = UpTP or DownTP or LeftTP or RightTP | |
| MoveTPHole = UpTPHole or DownTPHole or LeftTPHole or RightTPHole | |
| TurnTP = TurnTPCw or TurnTPCcw | |
| Thing = Boxes or Rock | |
| ThingHole = BoxesHole or RockHole | |
| Player = Thing or ThingHole | |
| UI = Void or Zero or One or Two or Three or Four or Five or Six or Seven or Eight or Nine or Dash | |
| Block = Wall or Boxes or Rock or UI | |
| ======= | |
| SOUNDS | |
| ======= | |
| Player move 36772507 | |
| ThingHole create 17684304 | |
| sfx0 55967707 | |
| endlevel 41005100 | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| Hole | |
| TargetHole | |
| ThingHole | |
| TargetHoleX | |
| Target | |
| Boxes, Rock, Wall, UI | |
| TargetX | |
| TurnTP | |
| TurnX | |
| SlideTP | |
| MoveTP | |
| MoveTPHole | |
| ====== | |
| RULES | |
| ====== | |
| late [ Box Hole no ThingHole ] -> [ BoxHole Hole ] | |
| late [ Rock Hole no ThingHole ] -> [ RockHole Hole ] | |
| late [ IceBox Hole no ThingHole ] -> [ IceBoxHole Hole ] | |
| late [ SlideTP Hole no ThingHole ] -> [ Hole ] | |
| [ > ThingHole | no Hole ] -> [ ThingHole | ] | |
| [ > Box | Wall ] -> [ Box | Wall ] | |
| [ > Rock | Wall ] -> [ Rock | Wall ] | |
| [ > Box | stationary Box ] -> [ Box | Box ] | |
| [ > Rock | stationary Box ] -> [ Rock | Box ] | |
| [ > Box | stationary Rock ] -> [ Box | Rock ] | |
| [ > Rock | stationary Rock ] -> [ Rock | Rock ] | |
| [ up IceBox ] -> [ up IceBox up UpTP up SlideTP ] again | |
| [ down IceBox ] -> [ down IceBox down DownTP down SlideTP ] again | |
| [ left IceBox ] -> [ left IceBox left LeftTP left SlideTP ] again | |
| [ right IceBox ] -> [ right IceBox right RightTP right SlideTP ] again | |
| up [ > Thing | IceBoxHole ] -> [ up Thing up UpTP up SlideTP | IceBoxHole ] again | |
| down [ > Thing | IceBoxHole ] -> [ down Thing down DownTP down SlideTP | IceBoxHole ] again | |
| left [ > Thing | IceBoxHole ] -> [ left Thing left LeftTP left SlideTP | IceBoxHole ] again | |
| right [ > Thing | IceBoxHole ] -> [ right Thing right RightTP right SlideTP | IceBoxHole ] again | |
| [ Thing UpTP SlideTP ] -> [ up Thing up UpTP up SlideTP ] again | |
| [ Thing DownTP SlideTP ] -> [ down Thing down DownTP down SlideTP ] again | |
| [ Thing LeftTP SlideTP ] -> [ left Thing left LeftTP left SlideTP ] again | |
| [ Thing RightTP SlideTP ] -> [ right Thing right RightTP right SlideTP ] again | |
| up [ up UpTP up SlideTP | stationary Block ] -> [ | Block ] | |
| down [ down DownTP down SlideTP | stationary Block ] -> [ | Block ] | |
| left [ left LeftTP left SlideTP | stationary Block ] -> [ | Block ] | |
| right [ right RightTP right SlideTP | stationary Block ] -> [ | Block ] | |
| up [ no IceBox up UpTP up SlideTP | no IceBoxHole ] -> [ | ] | |
| down [ no IceBox down DownTP down SlideTP | no IceBoxHole ] -> [ | ] | |
| left [ no IceBox left LeftTP left SlideTP | no IceBoxHole ] -> [ | ] | |
| right [ no IceBox right RightTP right SlideTP | no IceBoxHole ] -> [ | ] | |
| [ up IceBoxHole ] -> [ up IceBoxHole up UpTPHole ] again | |
| [ down IceBoxHole ] -> [ down IceBoxHole down DownTPHole ] again | |
| [ left IceBoxHole ] -> [ left IceBoxHole left LeftTPHole ] again | |
| [ right IceBoxHole ] -> [ right IceBoxHole right RightTPHole ] again | |
| [ IceBoxHole UpTPHole ] -> [ up IceBoxHole up UpTPHole ] again | |
| [ IceBoxHole DownTPHole ] -> [ down IceBoxHole down DownTPHole ] again | |
| [ IceBoxHole LeftTPHole ] -> [ left IceBoxHole left LeftTPHole ] again | |
| [ IceBoxHole RightTPHole ] -> [ right IceBoxHole right RightTPHole ] again | |
| up [ up IceBoxHole up UpTPHole | stationary ThingHole ] -> [ IceBoxHole | ThingHole ] | |
| down [ down IceBoxHole down DownTPHole | stationary ThingHole ] -> [ IceBoxHole | ThingHole ] | |
| left [ left IceBoxHole left LeftTPHole | stationary ThingHole ] -> [ IceBoxHole | ThingHole ] | |
| right [ right IceBoxHole right RightTPHole | stationary ThingHole ] -> [ IceBoxHole | ThingHole ] | |
| up [ up IceBoxHole up UpTPHole | no Hole ] -> [ IceBoxHole | ] | |
| down [ down IceBoxHole down DownTPHole | no Hole ] -> [ IceBoxHole | ] | |
| left [ left IceBoxHole left LeftTPHole | no Hole ] -> [ IceBoxHole | ] | |
| right [ right IceBoxHole right RightTPHole | no Hole ] -> [ IceBoxHole | ] | |
| startloop | |
| up [ > LongBoxU | > LongBoxD | stationary Block ] -> [ LongBoxU | LongBoxD | Block ] | |
| down [ > LongBoxD | > LongBoxU | stationary Block ] -> [ LongBoxD | LongBoxU | Block ] | |
| left [ > LongBoxL | > LongBoxR | stationary Block ] -> [ LongBoxL | LongBoxR | Block ] | |
| right [ > LongBoxR | > LongBoxL | stationary Block ] -> [ LongBoxR | LongBoxL | Block ] | |
| up [ > LongBoxL | stationary Block ] -> [ > LongBoxL TurnTPCw | Block ] | |
| up [ > LongBoxR | stationary Block ] -> [ > LongBoxR TurnTPCcw | Block ] | |
| down [ > LongBoxR | stationary Block ] -> [ > LongBoxR TurnTPCw | Block ] | |
| down [ > LongBoxL | stationary Block ] -> [ > LongBoxL TurnTPCcw | Block ] | |
| left [ > LongBoxU | stationary Block ] -> [ > LongBoxU TurnTPCw | Block ] | |
| left [ > LongBoxD | stationary Block ] -> [ > LongBoxD TurnTPCcw | Block ] | |
| right [ > LongBoxD | stationary Block ] -> [ > LongBoxD TurnTPCw | Block ] | |
| right [ > LongBoxU | stationary Block ] -> [ > LongBoxU TurnTPCcw | Block ] | |
| up [ TurnTP LongBoxU | moving LongBoxD ] -> [ TurnTP LongBoxU | LongBoxD ] | |
| down [ TurnTP LongBoxD | moving LongBoxU ] -> [ TurnTP LongBoxD | LongBoxU ] | |
| left [ TurnTP LongBoxL | moving LongBoxR ] -> [ TurnTP LongBoxL | LongBoxR ] | |
| right [ TurnTP LongBoxR | moving LongBoxL ] -> [ TurnTP LongBoxR | LongBoxL ] | |
| endloop | |
| right [ TurnTPCw LongBoxR | TurnTPCcw LongBoxL ] -> [ LongBoxR | LongBoxL ] | |
| right [ TurnTPCcw LongBoxR | TurnTPCw LongBoxL ] -> [ LongBoxR | LongBoxL ] | |
| down [ TurnTPCw LongBoxD | TurnTPCcw LongBoxU ] -> [ LongBoxD | LongBoxU ] | |
| down [ TurnTPCcw LongBoxD | TurnTPCw LongBoxU ] -> [ LongBoxD | LongBoxU ] | |
| late right [ LongBoxR TurnTPCcw | LongBoxL ] -> [ | LongBoxU TurnX ] sfx0 | |
| late right [ LongBoxR | TurnTPCw LongBoxL ] -> [ LongBoxU TurnX | ] sfx0 | |
| late right [ LongBoxR TurnTPCw | LongBoxL ] -> [ | LongBoxD TurnX ] sfx0 | |
| late right [ LongBoxR | TurnTPCcw LongBoxL ] -> [ LongBoxD TurnX | ] sfx0 | |
| late down [ LongBoxD TurnTPCcw | LongBoxU ] -> [ | LongBoxL TurnX ] sfx0 | |
| late down [ LongBoxD | TurnTPCw LongBoxU ] -> [ LongBoxL TurnX | ] sfx0 | |
| late down [ LongBoxD TurnTPCw | LongBoxU ] -> [ | LongBoxR TurnX ] sfx0 | |
| late down [ LongBoxD | TurnTPCcw LongBoxU ] -> [ LongBoxR TurnX | ] sfx0 | |
| late up [ LongBoxU TurnX | ] -> [ LongBoxU | LongBoxD ] | |
| late down [ LongBoxD TurnX | ] -> [ LongBoxD | LongBoxU ] | |
| late left [ LongBoxL TurnX | ] -> [ LongBoxL | LongBoxR ] | |
| late right [ LongBoxR TurnX | ] -> [ LongBoxR | LongBoxL ] | |
| late [ Boxes Target no MoveTP ] -> [ Boxes TargetX ] | |
| late [ TargetX no Boxes ] -> [ Target ] | |
| late [ BoxesHole TargetHole no MoveTP ] -> [ BoxesHole TargetHoleX ] | |
| late [ TargetHoleX no BoxesHole ] -> [ TargetHole ] | |
| late [ MoveTP no SlideTP ] -> [] | |
| late [ MoveTPHole no IceBoxHole ] -> [] | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| no Target | |
| no TargetHole | |
| ======= | |
| LEVELS | |
| ======= | |
| message Boxes are going on Target-covering aventures ! | |
| 1-1%%%%%% | |
| ######### | |
| #.......# | |
| #.*...o.# | |
| #...#...# | |
| #.*...o.# | |
| #.......# | |
| ######### | |
| message Remember the motto : All targets must be covered ! | |
| 1-2%%%%%% | |
| ######### | |
| #.......# | |
| #.*...o.# | |
| #...#...# | |
| #.@.....# | |
| #.......# | |
| ######### | |
| message Wall in the way | |
| 1-3%%%% | |
| ####### | |
| #ooooo# | |
| #.....# | |
| #.....# | |
| #..#..# | |
| #.....# | |
| #.....# | |
| #*****# | |
| ####### | |
| message Rocks don't really understand what boxes are going for... | |
| 1-4%%%%% | |
| ######## | |
| #..*¤¤o# | |
| ##.##### | |
| .#.#.... | |
| .###.... | |
| message ...but they are still happy to help each-other out. | |
| 1-5%%%%%% | |
| ######### | |
| #.......# | |
| #..#o#.*# | |
| #¤.###..# | |
| #..#o#.*# | |
| #.......# | |
| ######### | |
| message Stand up | |
| 1-6%%%%% | |
| ######## | |
| #.....## | |
| #......# | |
| #o.....# | |
| #......# | |
| #....*¤# | |
| #o...¤*# | |
| ######## | |
| message Pipe cleaning | |
| 1-7%%%% | |
| ####### | |
| #.....# | |
| #.#*#.# | |
| ###¤### | |
| ..#¤#.. | |
| ..#¤#.. | |
| ..#¤#.. | |
| ..#¤#.. | |
| ..#¤### | |
| ..#o..# | |
| ..##### | |
| message Duo | |
| 1-8%%%% | |
| ####### | |
| #o....# | |
| #.....# | |
| ##*.¤.# | |
| .#.#..# | |
| .#*.¤.# | |
| .#....# | |
| .#...o# | |
| .###### | |
| message Catch the star | |
| 1-9%%%%%% | |
| ######### | |
| #.......# | |
| #.#o#...# | |
| #.o#o...# | |
| #.#o#...# | |
| #......¤# | |
| #.....**# | |
| #....¤**# | |
| ######### | |
| message Beware ! Faulty terrain ! | |
| 2-1%%%%%%%% | |
| ########### | |
| #.....x...# | |
| #..*.x....# | |
| #.¤...x.o.# | |
| #..*.x....# | |
| #.....x...# | |
| ########### | |
| message Separate | |
| 2-2%%%%%%%% | |
| ########### | |
| #...x.....# | |
| #.o.x.*...# | |
| #...#..¤..# | |
| #.o.x...*.# | |
| #...x.....# | |
| ########### | |
| message Rider | |
| 2-3%%%%%%% | |
| ########## | |
| #...¤.xxx# | |
| #.*.¤.xxx# | |
| #...¤.xxx# | |
| ######xxx# | |
| #....xxxx# | |
| #.o..xxxx# | |
| #....xxxx# | |
| ########## | |
| message Darker targets are set inside holes. Lighter targets are set just above holes. | |
| 2-4%%%%% | |
| ######## | |
| #x.....# | |
| #°...*.# | |
| #x.#.¤.# | |
| #q...*.# | |
| #x.....# | |
| ######## | |
| message Spots | |
| 2-5%%%%%%%%%% | |
| #########.... | |
| xx......##### | |
| xx*¤*¤..q.q.# | |
| xx*¤*¤.#.q.q# | |
| xx*¤*¤..q.q.# | |
| xx......##### | |
| #########.... | |
| message String | |
| 2-6%% | |
| ##### | |
| #qxq# | |
| #x#x# | |
| #qxq# | |
| #*### | |
| #*#.. | |
| #¤#.. | |
| #¤#.. | |
| #¤#.. | |
| #*#.. | |
| #*#.. | |
| ###.. | |
| message Divide | |
| 2-7%%%%%% | |
| ######### | |
| #x°x°x°x# | |
| #x..#..x# | |
| #x.....x# | |
| #x.***.x# | |
| #x.***.x# | |
| ######### | |
| message Printer | |
| 2-8%%%%%%%%%%%%%%%%% | |
| #################### | |
| #xqqqx........¤***¤# | |
| #qxqxq........*¤*¤*# | |
| #qqqqq......#.*****# | |
| #qxxxq........*¤¤¤*# | |
| #xqqqx........¤***¤# | |
| #################### | |
| message These ice boxes are sliperry ! | |
| 3-1%%%%%% | |
| #######.. | |
| #.....#.. | |
| #..*..#.. | |
| #.....### | |
| #.....oo# | |
| #.....### | |
| #..+..#.. | |
| #.....#.. | |
| #######.. | |
| message It must stop at the target. | |
| 3-2%%%%%% | |
| ######### | |
| #.......# | |
| #...+...# | |
| #...o...# | |
| #.¤...¤.# | |
| #.......# | |
| ######### | |
| message Ice statue | |
| 3-3%%%%% | |
| ######## | |
| ###....# | |
| #....#.# | |
| #....#.# | |
| #......# | |
| #oo....# | |
| #~~++..# | |
| ######## | |
| message Transport | |
| 3-4%%%%%%%%% | |
| ############ | |
| #......#..o# | |
| #......#...# | |
| #......#...# | |
| #.....xxxxx# | |
| #.....###### | |
| #.+¤+.#..... | |
| #.....#..... | |
| #######..... | |
| message Meteor | |
| 3-5%%%%%% | |
| ######### | |
| #*+.....# | |
| #++.....# | |
| #..xx...# | |
| #..xx..## | |
| #.......# | |
| #.....oo# | |
| #...#.oo# | |
| ######### | |
| message Thin ice | |
| 3-6%%%%%%%% | |
| ########### | |
| #xxxxxxxxx# | |
| #x.......## | |
| #x.çççççç#ç | |
| #x.ç.....## | |
| #x.ç..o..x# | |
| #x.ç.*@*.x# | |
| #x.ç..o..x# | |
| #x.ç.....x# | |
| #x###xxxxx# | |
| ###ç####### | |
| message Liquid | |
| 3-7%%%%%% | |
| ######### | |
| #+++#ooo# | |
| #+++#ooo# | |
| #+++.ooo# | |
| ##.#.#### | |
| .#.#...#. | |
| .#.###.#. | |
| .#.....#. | |
| .#######. | |
| message Twice the charm | |
| 3-8%%%%%%%% | |
| ########### | |
| #¤...ç...¤# | |
| #.........# | |
| #.........# | |
| #...+.o...# | |
| #ç...¤...ç# | |
| #...o.+...# | |
| #.........# | |
| #.........# | |
| #¤...ç...¤# | |
| ########### | |
| message A longer box now ? It seems to act the same as the regular ones, but what's with the target placement ? | |
| 4-1%%%%%% | |
| ######### | |
| #.......# | |
| #.o..><.# | |
| #.o.....# | |
| #...#...# | |
| ######### | |
| 1-3%%%% | |
| ####### | |
| #ooooo# | |
| #ooooo# | |
| #.....# | |
| #..#..# | |
| #.....# | |
| #vvvvv# | |
| #^^^^^# | |
| ####### | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment