Skip to content

Instantly share code, notes, and snippets.

@SnoringFrog
Created July 1, 2024 22:33
Show Gist options
  • Save SnoringFrog/c23d720681c142f0a62c15743222f94e to your computer and use it in GitHub Desktop.
Save SnoringFrog/c23d720681c142f0a62c15743222f94e to your computer and use it in GitHub Desktop.
Super Space-Internet Saving Company Dlx. Task Force Adventure (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Super Space-Internet Saving Company Dlx. Task Force Adventure
(Super Interplanetary Space-Internet Saving Company Deluxe Task Force Adventure)
author SnoringFrog
homepage http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=20952
========
OBJECTS
========
Background
DarkBlue
Wall
DarkGrey
Player
Gray LightBlue Orange
.000.
.111.
.010.
.000.
.222.
Terminal_A
Blue
.000.
00.00
0...0
00.00
.000.
Message_A
Blue
.....
..0..
.000.
..0..
.....
Terminal_B
LightGreen
.000.
00.00
0.0.0
00.00
.000.
Message_B
LightGreen
.....
..0..
.0.0.
..0..
.....
Terminal_C
Yellow
.000.
00000
0...0
00.00
.000.
Message_C
Yellow
.....
.....
.000.
..0..
.....
Terminal_D
Red
.000.
00.00
0...0
00000
.000.
Message_D
Red
.....
..0..
.000.
.....
.....
Virus
Pink Black
.000.
.101.
.010.
0.0.0
0.0.0
VirusVertLoS (line of sight)
transparent
(
Red
..0..
..0..
..0..
..0..
..0..
)
VirusHorizLoS
transparent
(
Red
.....
.....
00000
.....
.....
)
Firewall
Orange Red Yellow
..2..
.202.
20102
01110
11111
AntiVirus
Black Pink
.000.
.101.
.010.
0.0.0
0.0.0
=======
LEGEND
=======
. = Background
# = Wall
P = Player
AnyTerminal = Terminal_A or Terminal_B or Terminal_C or Terminal_D
A = Terminal_A
B = Terminal_B
C = Terminal_C
D = Terminal_D
AnyMessage = Message_A or Message_B or Message_C or Message_D
1 = Message_A
2 = Message_B
3 = Message_C
4 = Message_D
+ = Message_B and Terminal_A
- = Message_A and Terminal_B
AnyItem = Firewall or Antivirus
F = Firewall
@ = AntiVirus
! = Virus
Opaque = Wall or Virus
=======
SOUNDS
=======
Player move 47043907
Virus move 73862107
EndLevel 19222308
StartLevel 70326500
SFX0 18019107 (message moved)
SFX1 17076304 (message infected)
SFX2 28082509 (message at terminal)
SFX3 91293303 (antivirus gets virus)
SFX4 10549903 (message left terminal) (unused)
================
COLLISIONLAYERS
================
Background
VirusVertLoS, VirusHorizLoS
Terminal_A, Terminal_B, Terminal_C, Terminal_D
Player, Wall, Message_A, Message_B, Message_C, Message_D, Virus, Firewall
Antivirus
======
RULES
======
[ > Player | AnyMessage ] -> [ > Player | > AnyMessage] sfx0
[ > Player | AnyItem ] -> [ > Player | > AnyItem]
(Viruses cannot see through Opaque objects and they chase messages that they can see)
(Things that are totally features and not bugs:
-The way viruses display an odd hive-mind effect when they're lined up with each other in view of a message
-The "confusion" viruses exhibit when in line with two messages of the same color
-The entire concept of message colors have various levels of importance to the viruses
)
(Generate line of sight)
HORIZONTAL [Virus | no Opaque no VirusHorizLos] -> [Virus | VirusHorizLos]
HORIZONTAL [VirusHorizLos | no Opaque no VirusHorizLos] -> [VirusHorizLos | VirusHorizLos]
VERTICAL [Virus | no Opaque no VirusVertLoS] -> [Virus | VirusVertLoS]
VERTICAL [VirusVertLoS | no Opaque no VirusVertLoS] -> [VirusVertLoS | VirusVertLoS]
(Remove LoS when Virus leaves)
[ < Virus | VirusHorizLoS] -> [ | ]
late HORIZONTAL [ VirusHorizLoS | no Opaque no Virus No VirusHorizLoS] -> [ | ]
[ < Virus | VirusVertLoS] -> [ | ]
late VERTICAL [ VirusVertLoS | no Opaque no Virus No VirusVertLoS] -> [ | ]
(Pursue visible messages)
(Multiple viruses in a row cause problems. This gets 2 working. Three is still weird, but should be rare to get in game)
VERTICAL [Virus | Virus | ... | VirusVertLoS | Message_A] -> [ > Virus | > Virus| ... | | Message_A]
HORIZONTAL [Virus |Virus | ... | VirusHorizLoS | Message_A] -> [ > Virus | > Virus| ... | | Message_A]
VERTICAL [Virus | ... | VirusVertLoS | Message_A] -> [ > Virus | ... | | Message_A]
HORIZONTAL [Virus | ... | VirusHorizLoS | Message_A] -> [ > Virus | ... | | Message_A]
VERTICAL [Virus | Virus | ... | VirusVertLoS | Message_B] -> [ > Virus | > Virus| ... | | Message_B]
HORIZONTAL [Virus |Virus | ... | VirusHorizLoS | Message_B] -> [ > Virus | > Virus| ... | | Message_B]
VERTICAL [Virus | ... | VirusVertLoS | Message_B] -> [ > Virus | ... | | Message_B]
HORIZONTAL [Virus | ... | VirusHorizLoS | Message_B] -> [ > Virus | ... | | Message_B]
VERTICAL [Virus | Virus | ... | VirusVertLoS | Message_C] -> [ > Virus | > Virus| ... | | Message_C]
HORIZONTAL [Virus |Virus | ... | VirusHorizLoS | Message_C] -> [ > Virus | > Virus| ... | | Message_C]
VERTICAL [Virus | ... | VirusVertLoS | Message_C] -> [ > Virus | ... | | Message_C]
HORIZONTAL [Virus | ... | VirusHorizLoS | Message_C] -> [ > Virus | ... | | Message_C]
VERTICAL [Virus | Virus | ... | VirusVertLoS | Message_D] -> [ > Virus | > Virus| ... | | Message_D]
HORIZONTAL [Virus |Virus | ... | VirusHorizLoS | Message_D] -> [ > Virus | > Virus| ... | | Message_D]
VERTICAL [Virus | ... | VirusVertLoS | Message_D] -> [ > Virus | ... | | Message_D]
HORIZONTAL [Virus | ... | VirusHorizLoS | Message_D] -> [ > Virus | ... | | Message_D]
(Antivirus destroys virus)
late [Antivirus Virus] -> [] SFX3
(LoS bug fix I hope isn't breaking other things)
late [VirusVertLoS | no Opaque no Virus no VirusVertLoS] -> [|]
late [VirusHorizLoS | no Opaque no Virus no VirusHorizLoS] -> [|]
(Virus consumes message)
late [AnyMessage | Virus ] -> [ Virus | Virus ] SFX1
(Other sounds)
[ > Message_A | Terminal_A] -> [ > Message_A | Terminal_A] SFX2
[ > Message_B | Terminal_B] -> [ > Message_B | Terminal_B] SFX2
[ > Message_C | Terminal_C] -> [ > Message_C | Terminal_C] SFX2
[ > Message_D | Terminal_D] -> [ > Message_D | Terminal_D] SFX2
==============
WINCONDITIONS
==============
All Terminal_A on Message_A
All Terminal_B on Message_B
All Terminal_C on Message_C
All Terminal_D on Message_D
=======
LEVELS
=======
(testing level)
(
##################
#a..............b#
#.......@........#
#..4....F.......!#
#................#
#.p..3..c...2....#
#................#
#................#
#................#
#...1............#
#................#
#................#
#........d.......#
##################
)
message We've got major outages across the 'verse!
message You're our only remaining tech, so we need you ensure the messages reach the proper terminals.
message That way, we can keep all the worlds connected to the Galactic Interweb where the cats can keep them from starting wars.
message Now, go, push those messages into the terminals!
(Phase 1 - Messages Only)
#########
#.......#
#p..1..A#
#.......#
#########
message Sometimes, you're gonna have multiple messages. You know your colors, or at least your shapes, right?
#########
#...1..A#
#p......#
#...2..B#
#########
######
##d###
##4b##
#c32##
##p1a#
######
message If you screw up, tap R reset your time loop.
message Don't ask me why we can't just reset to before this problem happened.
###############
#...........#A#
#.B......#..#.#
#...........3.#
#.#p...1.#.#..#
#........#2#..#
#.C......#.#..#
#.............#
###############
message As long as you get one message to each terminal, that should be good enough, right?
##################
#................#
#........#...#.1.#
#......a.#...#...#
#..###...#....#..#
#....##1##..#1.#.#
#.....###........#
#..#.............#
#.##p............#
#.......#######..#
#...#.#.#.....##.#
#.1.#.##...1...###
#...#............#
##################
(Multiple terminals, some extra messages)
###############
#b#...#...#...#
#.#.p...d.#.2.#
#.#.1.#...#...#
#.....#...#...#
#.#.#.#.#.#.#.#
#.#.....#.....#
#...#...#...#.#
#.3.#.4...+.#.#
#...#...#...#c#
###############
message I'd fly out and help you, but you're doing just fine.
message Besides, I got this carton of potato salad that needs eatin'.
######################
#...........##########
#...###.............##
#..#...#......##.##.##
#.............#...#..#
#..##-##......#.+.#..#
#.............#...#..#
#..#...#......##.##..#
#...###..............#
#........p..####.###.#
#...........#........#
#..#.#.#....#.#####..#
#.#..#..#...#.#...#..#
#.#..-..#...#...+....#
#.#..#..#...#.#...#..#
#..#.#.#....#.#####..#
#...................##
#...................##
######################
(Phase 2 - Viruses)
message Are those viruses?! You probably shouldn't let those reach the messages.
message
################
#........!.....#
#..............#
#!.p.1........A#
#..............#
#.....!.....!..#
################
message Viruses have a nasty way of replicating if you let 'em do the nasty with a message, so avoid that.
#####################
#...!...........!...#
#...................#
#.......##.##.......#
#......#.....#......#
#......#.....#......#
#......#..a..#......#
#......#.....#......#
#.......#...#.......#
#.......#444#.......#
#.......#ddd#.......#
#.....#..###..#.....#
#......#.....#......#
#...1...#####...1...#
#......#.....#......#
#.....#.......#.....#
#.........p.........#
#...................#
#####################
#####################
##.....#.....#.....##
##...........!.....##
##..a..#.....#..2..##
##.....#..3..#.....##
##...........#.....##
###.#####...###.#.###
##.....#.....#.....##
##.4.........#..!..##
##.....#..b..#.....##
##.......!.........##
##.....#.....#.....##
#####.###.######.####
##.....#...........##
##...........#.....##
##..1........#..c..##
##.....#..p........##
##.....#.....#.....##
#####################
message By the way, if you need to take a short break, you can hit X to stand around like a lazy bum. Careful you don't wait too long and let them viruses catch up!
#################
#...##.......####
#............#..#
#...#...###!....#
#....#...b...#!.#
#.p3..#.###..##c#
#....#...2...##.#
#...#!...#......#
#............#..#
#...##.......####
#################
message Viruses seem to be chasing certain messages first.
message You got any idea which ones they seem to like?
#################
#...............#
#...3..ada..3...#
#.......2.......#
#...............#
#.4.....!.....4.#
#...............#
#...............#
#......1p1......#
#...............#
#################
######################
#..3.................#
##.............#....##
#............3#......#
##...........#......##
#....#......#.##..a..#
##....#.......##....##
#......#......##.....#
##......#........1..##
#........#4..........#
##........#.........##
#2...................#
##...............!..##
#.#################..#
##..................##
#...###############!.#
##................p.##
######################
(Phase 3 - Firewalls and Antivirus)
message The little buggers can see right through firewalls, but that doesn't stop them from getting hung up on them.
#################
###!#!#!#!#!#!###
###.#.#.#.#.#.###
##fffffffffffff##
#p3............c#
##fffffffffffff##
##.#.#.#.#.#.#.##
##!#!#!#!#!#!#!##
#################
message If you come across any of those fancy antivirus thingamajigs, you might be able use them to get ride of some viruses.
################
################
#..............#
#p......2@..!.b#
#..............#
################
################
message Feel free to move the firewalls and antiviruses around, if you think it will help you any.
message I won't tell nobody. I promise.
##################
#a..............b#
#.......@....!...#
#..4....f.......!#
#................#
#.p..3..c...2....#
#................#
#................#
#.!..............#
#................#
#.............1..#
#....!...........#
#........d.......#
##################
###################
#.................#
#.2.............!c#
#.....f...........#
#.................#
#.3..p..........!d#
#.................#
#.....@...........#
#.4.............!b#
#.................#
###################
###################
#d...............c#
#..1...........!..#
#...#........#....#
#........p........#
#......#..........#
##......#..f....#.#
#..........#.....3#
#............4....#
#.................#
#.....2...........#
#a...............b#
###################
message I don't have a clue what those things want.
message Maybe there's some way to get them confused. I don't know.
message Good luck with that.
####################
#..#################
#................!a#
#..#################
#..1...............#
#..#...............#
#.................4#
#.2.!........1..!..#
#..!...............#
#3.................#
#...!.............3#
#....!......p.@....#
#..........3..4....#
#..2...............#
#.....1...1........#
#..................#
####################
#########
##.....##
.#..-..#.
##.....##
##.....##
.#!....#.
##.....##
##.....##
.#....!#.
##.....##
##.....##
.#!....#.
##.....##
##.....##
.#....!#.
##.....##
##.....##
.#!....#.
##.....##
##.....##
.#..f.!#.
##.....##
##.....##
.#..+..#.
##..p..##
#########
message Dang, you're pretty good at this
#####################
#...................#
#..!b!...!b!...!b!..#
#...!..!..!..!..!...#
.#.................#.
##.#.......@...###.##
##.#..........#....##
##.#..@......#.....##
.#..#..@.....#.....#.
.#...###....@...#..#.
##.2........@...#..##
##..........####...##
##...#..2..#.......##
.#.......@..2..2...#.
#...2.....2.........#
#........p....2.....#
#...................#
#####################
(difficult. final level?)
####################
#........#.........#
#..##1....!........#
#..#b.....f.#....1.#
#............#.2#b##
#.....@.........####
#..........#......!#
#......p..#c.......#
#!...3#.2....#.....#
#.....d#.....2.....#
##....#...##...##3.#
#a........4....a#..#
##.............##..#
####################
message Well, I'm just about done with my potato salad, so I'll join you--oh, you're at the last location? Well, nevermind then.
####################
#.................!#
#!.................#
#.#..!.###.........#
#.#....#.d#.....@..#
#.#.4..#..#........#
#.#....#..#...!....#
#.#c...#.!#........#
#.####.##.4........#
#.....2..........p.#
#...###...##.......#
#.....b#1#a.#......#
#...###!.#..#......#
#.....d#.#3.#...f..#
#...###....#.......#
#.................!#
#!.................#
####################
message Um...good job out there and stuff.
message All those worlds would be pretty darn miffed with us if we hadn't fixed their connections so quick-like.
message Go take a vacation, you've earned it. I'll see you later, space cowboy.
message THE END
message THANKS FOR PLAYING!
message Super Interplanetary Space-Internet Saving Company Deluxe Task Force Adventure was made by SnoringFrog for Ludum Dare 30 in under 48 hours.
message Feel free to fork it at github.com/snoringfrog/sisiscdtfa or message me about it on Twitter @SnoringFrog if you have comments/suggestions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment