LunaTerm Signal Solver by TheGoblinGuy
A short commandline puzzle game.
You have a partially malfunctioning machine, it's up to you figure out how to work it.
Loosely inspired by some Zachlikes (have to do everything with very limited functionality) and various classic hacking games such as Uplink.
There's some option toggles on the hastily cobbled-together start screen, but you can also change options during the game using the relevant command, or toggle fullscreen with the button in the top right.
All controls besides the start screen are via keyboard. Up/Down arrows scroll up and down to previous commands. Type words, hit enter, should be self explanatory if you've ever used a terminal before.
Postjam updates changelog:
v1.0.1:
-Fixed a crash when not passing arguments to some commands (+2 lines of code)
-Fixed size of command history for up/down arrow keys (1 changed number)
v1.0.2:
-Fixed capitalisation mattering on commands (+1 line of code)
-Fixed one line not showing up on a manual page (1 changed line of code)
-Changed the wording a little on another line in the manual. (1 changed line of code)
-QOL: allow you to keymash to speed up the bootup intro sequence (+1 line of code)
v1.0.3:
-General command sanitation pass to catch remaining crashes (+5 lines of code)
-Added documentation for "term x close" command, which was implemented but completely unmentioned
-fixed option buttons not switching their texture
Total postjam changes of shame counter:
+9 lines of code, 2 changed lines, and 1 hardcoded variable change.
Ratings
| Overall | 642th | 3.238⭐ | 23🧑⚖️ |
| Fun | 668th | 2.952⭐ | 23🧑⚖️ |
| Innovation | 495th | 3.286⭐ | 23🧑⚖️ |
| Theme | 471th | 3.667⭐ | 23🧑⚖️ |
| Graphics | 534th | 3.524⭐ | 23🧑⚖️ |
| Audio | 382th | 3.381⭐ | 23🧑⚖️ |
| Mood | 461th | 3.575⭐ | 22🧑⚖️ |
| Given | 15🗳️ | 21🗨️ |
Noted for a postjam build I'll make later with whatever else people find that can go wrong, and maybe some bonus content. But for now, if you want to give it another try please always add some arguments after commands as described in their help command. And if not, thanks for giving it a shot in the first place and reporting the bug.
Really wish I had a way to speed up the bootup sequence animation now ._.
Edit: the same is true for the "term" command. Commands require arguments, but forgetting to check for (and give a nice in-game error message) when you don't give any arguments to those two commands is a big oopsie on my part.
Loved it though. Will come back when I have more sleep!
Edit: Entering "term 1" with no other arguments still seems to crash the game after the update.
Here's a quick walkthrough guide and explanation of each command for anyone whose stuck:
COMMAND : effect
"signal 0": shows list of devices we can ping. relevant ones are 085 and 237
"manual 7": gives info on how to store data into the memory module.
"manual 8": Tells us 085's password is 1234 and that letters A-Z are encoded as 65-90 and 0-9 are encoded as 101-109.
"signal 255": starts memory input
"signal 1": tells module to store the next data at address 1
"signal 101": tells module to store 101 at address 1 (which encodes to the character 1)
"signal 255"
"signal 2"
"signal 102": stores 102 (character 2) at address 2
"signal 255"
"signal 3"
"signal 103": stores 103 at 3
"signal 255"
"signal 4"
"signal 104": stores 104 at 4
"signal 085 1": passes the password we just stored and stores the response (an image) to address 1
"term 1 IMG 1": displays the img stored at address 1 to terminal 1. shows serial code XAJ4.
"manual 9": tells us how the military encodes passwords. XAJ4 -> UXG2
Then just repeat how we stored 1234 as a password with UXG2 and then ping 237.
More embarassingly, I decided to proofread stuff and discovered a pretty critical line was just left out of a manual page. It was there, in the code, just... unused. While it's technically not needed since the process is described in text, it sure as heck helps in getting feedback on what you're doing.
@tundra Congrats on being (AFAIK) the first person to beat the game outside of me testing it myself. Especially impressive given the mistake I pointed out above. Thank you so much for putting in the time and effort of figuring out my silly little machine :heart:
I think that should be the final version, since this *should* take care of all the crashes (fingers crossed), and any other issues I can think of with the game would be more than just bugfixes and thus go against the spirit of the jam. But if anyone else finds any more crashes, please do tell and I'll fix it ASAP.
Just one thing that confuses me (maybe I am just stupid): Is the Caesar encryption example "F -> B" just off by one character?
one, thing, and maybe i'm not familar with zachtronics games, but i found:
```
signal 255
signal 1
signal 101
```
to enter a data into memory exhausting. couldn't it just be `signal 255 1 101` so `signal [address] [memory] [data]` or something? as this was confusing since the other signals had 2 args like `signal 085 1` for IMG
really cool tho, I'll be honest i was stumped with the memory 3 part signal commands, until I read the comment solving the puzzle. still really cool tho!
That said, the original idea ***was*** to unlock both manual pages and some extra commands over time as you connect to other machines, with the commands' actions being doable through signal but just a lot less effort with the new command. All of that ended up being cut due to time constraints from to the usual jam misadventures: a combination of one bad rendering issue costing a few hours to fix, how bad I am at writing, and some time spent on the groundworks for a third password puzzle that didn't make it in. I was honestly glad I managed to finish something playable at all, but that's not unusual is it? :sweat_smile:
@stratcat66 Case in point, that page was probably cobbled together in the last hour of the jam. Not fully sure, it's kind of a blur. But you're absolutly right, it should be C.
!>Time to silently push a minor update that stays a secret between you and me, okay? :stuck_out_tongue_winking_eye: