Very nice game. I finished all story levels, but I can't access the bonus levels (they do not appear; the last green thing is the block 6). I play the game in browser.
Thanks for the tip. I managed to solve everything, including the bonus. It's a really nice game. I have one question: was the entire game supposed to be solved by hand? I used python to solve all the levels (it was a fun challenging problem; thank you so much for this experience).
It’s cool that you used your programming skills to aid you! I wonder how much code you had to write to solve it, which libraries were used, etc.
Well, it is possible to solve the puzzles by hand. A “terminal” panel gets upgraded as the story levels are cleared. It gives the player hints about the level that should help in manual hacking. It might require a text document for some levels with ambiguity (there are only a few) so you can track multiple branches.
The game was created for a game jam (although a long and chill-paced one), so the game lacks the polish. The difficulty curve is also all over the place.
The first couple of levels I solved by hand, but after that I thought about automating it :).
The code is plain python + a library to check if a word is valid english word (there are around 1000 lines of code; half of the code are levels definitions). A level is defined by the chains of possible transformations from input to output (I either define them by hand or I can define the entire graph of nodes and have an algorithm generate all the possible transformations chains; there are some corner cases: 5b+ component 1 and 6b+ component 1: these levels have variable length loops in them; for these I just limited my generator to a max number of loops and it did the job). For example, 1b component 3 is defined as 2 chains with 1 transformation each: the first chain has decrement, the second chain has increment.
Each transformation represents a function with string in, string out. Each transformation has an associated inverse transformation (inverse of increment is decrement, etc). Because not all transformations are bijective functions, the inverse transformation produces a list of possible inputs based on the output word. From here, given the output word, I go through the chain (backwards direction) and apply each inverse transformation. This results in multiple possible inputs and I then filter only the english words.
Loved this game! Took a couple hours, but I finally fully completed it. My only complaint was that some of the transformations and their iconography are not explained anywhere. I had to actually go into the source code to figure out what the three dots was referring to, for example. Thanks for the fun!
Thank you for playing the game!
I wasn’t expecting many people to score 100% completion. :D
The three dots thing is there to keep some things cryptic on purpose, so there is some exploration and experimentation left for the player. It’s usually possible to finish most of the levels without a full understanding but the combined puzzles (the ones that unlock the bonus levels) require ~full understanding of everything. This is a bonus (optional) content, so I felt that it was fair to keep it challenging. :)
This is pretty cool! Though, the "fnv_even" branches are... annoying. The manual itself says it can't reasonably be predicted, so it's hard to treat it as anything other than a deterministic RNG call.
Cool game, great concept. Was fun to figure out the puzzle. I definitely got a little confused more than a couple of times. Love the graphics (especially the notebook stuff for instructions), and sounds are great too. Played as part of the GitHub Game Off live stream:https://www.twitch.tv/videos/1712660556 Congrats on top ranked too :)
Sorry for the confusion during the gameplay.
I’m not good at creating player-friendly introductions into the game.
For instance, there should be a popup message about what’s going on when “output” looks like “encoded keyword” but it’s not registered as a correct answer. It’s an encoding collision. Different inputs sometimes may encode identically. But the player is trying to find a “keyword”, not the encoded keyword output, so it’s always a real word like snowball instead of some gibberish. There is a manual page for output collisions, which appears after completing a level while hitting a collision at least once (the game gives a sound cue that it’s a collision).
This is probably the thing I need to fix: make game more easy to understand. As some other people said, it needs an interactive tutorial.
The “unchanged” condition compares the current text value against the text input. If they’re equal, it’s considered to be unchanged. So if we start with “abc” and rotate it twice, it’ll go through abc->cba->abc, the unchanged condition would be “true”. Otherwise it would be false.
The (+) operation is a no-wrap form, so if we apply + on Z it remains Z (a normal + would turn Z it into A).
Also, you may want to use a terminal “value inspector” feature and see how the input changes over the encoding steps (use “tab” key to toggle a terminal mode). Take a closer look to that rot13 transformation.
Keep in mind that it’s a bonus content, I never expected every player go for the compound encoded keywords. :) But it looks like you’re doing great!
I would say that it’s an unfortunate misfeature. I may try to eliminate most of these ambiguously encoded words from the keyword lists. I don’t have an automation for that right now and no extra spare time. :(
I’ll keep in mind that this issue could be bothersome for the players!
Well done dev on this game. This was the perfect game for me and I am so happy I came across it. It took me way too long to get through it all, but I stuck through it and got the 100%.
I honestly think this can be a great steam game! My recommendations would be to add simple tutorials for new components to the board and a definition page to the notes, as I was quickly stuck on some of the branch abbreviations, and not sure what they wanted me to do.
I had some weird stuff happening with the saving of some levels, but I assume this relates to browser-based saving.
I can actually see this game expand into a full-on game with a campaign, backstory, lore, and many more levels.
I hope that you will take this gem and expand on it as I really enjoyed the experience to the point I was losing sleep thinking of how to beat a level.
I added a manual page explaining the abbreviations. :)
I think it fits the game well.
Previously I used the phrases like “chars” in the manual a lot, but then changed it to “characters” and “letters” that are more player-friendly. Maybe I could have kept the programming jargon in there while providing a separate vocab note page. :) Writing is not my strongest side though as you might have guessed by this point. :)
This game is, and I don't say this lightly, amazeballs.
First of all, I adore the aesthetic, both the green-on-black old-school monitor look, but also (and especially) the handwritten-on-graph-paper with doodles on the side look of the help/notes. (OMG the American Chopper meme. Perfect.)
Second, it's just not like anything I've seen before. It's codebreaking but it's not just a mechanical "and now go look up the pigpen cipher" kind of thing, it's clever and non-trivial and yay.
I'm about halfway through at this point (finished both halves of blocks 1-4, haven't yet attempted 1+ through 4+ or 5), and I'm absolutely going to keep going, but a few very quick, very minor notes:
There are a few typos here and there (usually not worth mentioning, but in a game all about letters...). One of the manual pages has "expeting" instead of "expecting", which is a nitpick. Two of the puzzles had non-words as inputs: one was MIRRACLE, which is a clear typo. The other was...FOAP? I'm confused by FOAP; I'm not sure what it was supposed to be; but the game definitely accepted that as the input.
I hope there will be an answer/cheatsheet/walkthrough posted somewhere. Not that I need it! (Of course!) But...I got through the second component of Block 2 mostly with a little trial and error, because the transformations were easy to spot and I couldn't for the life of me figure out what the conditional there was. (I almost didn't get the conditional in Block 3, Component 3; that one was rough.)
And I think that's it. Looking forward to coming back for the second half.
I tried to fix everything you mentioned plus a little more.
The comments like this encourage people to continue with their gamedev hobbies. I may borrow this wisdom and go playing and commenting others game to make this vibe flow. :)
Finished the game, and definitely enjoyed it to the end. Didn't even mind it calling me a nerd for doing the + levels. :-) There might have been a few more "well, it's one of these two options, I'll just try them both" decision points, but, hey, there's more than one way to solve a puzzle!
← Return to game
Comments
Log in with itch.io to leave a comment.
Very nice game. I finished all story levels, but I can't access the bonus levels (they do not appear; the last green thing is the block 6). I play the game in browser.
The bonus levels are opened if you manage to decipher the compound cipher of associated story levels.
It requires a lot of effort though. :) There is a single hint about the compound cipher in the in-game manual I think.
P.S. - finishing all story levels is an accomplishment as well as the second half of the game requires a good understanding of the game. Nicely done!
Thanks for the tip. I managed to solve everything, including the bonus. It's a really nice game. I have one question: was the entire game supposed to be solved by hand? I used python to solve all the levels (it was a fun challenging problem; thank you so much for this experience).
It’s cool that you used your programming skills to aid you! I wonder how much code you had to write to solve it, which libraries were used, etc.
Well, it is possible to solve the puzzles by hand. A “terminal” panel gets upgraded as the story levels are cleared. It gives the player hints about the level that should help in manual hacking. It might require a text document for some levels with ambiguity (there are only a few) so you can track multiple branches.
The game was created for a game jam (although a long and chill-paced one), so the game lacks the polish. The difficulty curve is also all over the place.
The first couple of levels I solved by hand, but after that I thought about automating it :).
The code is plain python + a library to check if a word is valid english word (there are around 1000 lines of code; half of the code are levels definitions). A level is defined by the chains of possible transformations from input to output (I either define them by hand or I can define the entire graph of nodes and have an algorithm generate all the possible transformations chains; there are some corner cases: 5b+ component 1 and 6b+ component 1: these levels have variable length loops in them; for these I just limited my generator to a max number of loops and it did the job). For example, 1b component 3 is defined as 2 chains with 1 transformation each: the first chain has decrement, the second chain has increment.
Each transformation represents a function with string in, string out. Each transformation has an associated inverse transformation (inverse of increment is decrement, etc). Because not all transformations are bijective functions, the inverse transformation produces a list of possible inputs based on the output word. From here, given the output word, I go through the chain (backwards direction) and apply each inverse transformation. This results in multiple possible inputs and I then filter only the english words.
Ahaha, so you implemented the reversed pipeline from the game, kinda. :D
It’s especially good that you handled 1->n transformations and managed to work around the loops.
excellent game! Made me have to break out python
Loved this game! Took a couple hours, but I finally fully completed it. My only complaint was that some of the transformations and their iconography are not explained anywhere. I had to actually go into the source code to figure out what the three dots was referring to, for example. Thanks for the fun!
Thank you for playing the game! I wasn’t expecting many people to score 100% completion. :D
The three dots thing is there to keep some things cryptic on purpose, so there is some exploration and experimentation left for the player. It’s usually possible to finish most of the levels without a full understanding but the combined puzzles (the ones that unlock the bonus levels) require ~full understanding of everything. This is a bonus (optional) content, so I felt that it was fair to keep it challenging. :)
This is pretty cool! Though, the "fnv_even" branches are... annoying. The manual itself says it can't reasonably be predicted, so it's hard to treat it as anything other than a deterministic RNG call.
Cool game, great concept. Was fun to figure out the puzzle. I definitely got a little confused more than a couple of times. Love the graphics (especially the notebook stuff for instructions), and sounds are great too. Played as part of the GitHub Game Off live stream:https://www.twitch.tv/videos/1712660556
Congrats on top ranked too :)
Oh, yay! I’ll gladly watch the recording.
<3
Sorry for the confusion during the gameplay. I’m not good at creating player-friendly introductions into the game.
For instance, there should be a popup message about what’s going on when “output” looks like “encoded keyword” but it’s not registered as a correct answer. It’s an encoding collision. Different inputs sometimes may encode identically. But the player is trying to find a “keyword”, not the encoded keyword output, so it’s always a real word like snowball instead of some gibberish. There is a manual page for output collisions, which appears after completing a level while hitting a collision at least once (the game gives a sound cue that it’s a collision).
This is probably the thing I need to fix: make game more easy to understand. As some other people said, it needs an interactive tutorial.
Thank you for playing!
on the first part of the second level, i have an input that gave the correct output but was wrong. it used the second road instead of the first one.
what is "unchanged" for the branching info? i understand everything else but i still can't understand the "unchanged" branching info
(Spoiler alert for other readers)
–
–
–
–
–
The “unchanged” condition compares the current text value against the text input. If they’re equal, it’s considered to be unchanged. So if we start with “abc” and rotate it twice, it’ll go through
abc->cba->abc
, the unchanged condition would be “true”. Otherwise it would be false.oh thx, that makes sense
maybe you could add it to the notes because its the most different branch
I wonder if “input_unchanged” name instead of “unchanged” would make it more self-explanatory.
yeah, probably
Interesting game
This game is incredibly interesting and unique! I love how creative the puzzles (as far as I've seen) are, and the aesthetic looks really nice!
Also, really thankful for the alphabet guide, especially the dots (and the notes about ciphers). So glad it's there and I didn't have to google it.
Still stuck on finding the secret word on 4 though, is there another solution for this? Sorry and thanks for making this game!
I’ll try to go spoiler-free. :)
The
(+)
operation is a no-wrap form, so if we apply+
onZ
it remainsZ
(a normal+
would turnZ
it intoA
).Also, you may want to use a terminal “value inspector” feature and see how the input changes over the encoding steps (use “tab” key to toggle a terminal mode). Take a closer look to that
rot13
transformation.Keep in mind that it’s a bonus content, I never expected every player go for the compound encoded keywords. :) But it looks like you’re doing great!
i'm in the same pickle
i am trying with z or y but neither work T_T
If you managed to complete a level and it was removed (or renamed) from the next build, you might get a situation like this:
I’m not even sure I want to fix it. It’s hilarious.
/Overhacking Happened!/
"Multiple solutions" huh?
Oh, congrats. If you will beat the level, you will unlock an extra manual page about the encoding collisions. :)
“Multiple solutions” as in you can find a solution using different ways. You don’t always have to do a backtracking, for instance. :)
Yeah, I saw that.
Look what we have here.
You’re really good at finding these! :D
It's honestly easy. I'm just surprised this happened.
I would say that it’s an unfortunate misfeature. I may try to eliminate most of these ambiguously encoded words from the keyword lists. I don’t have an automation for that right now and no extra spare time. :( I’ll keep in mind that this issue could be bothersome for the players!
I am unable to add anything to the INPUT box. I can only erase items.
Problem solved
Was it a keyboard layout issue? Only English layout is supported right now.
I use English
Apparently, it's caused by Caps Lock.
Well done dev on this game. This was the perfect game for me and I am so happy I came across it. It took me way too long to get through it all, but I stuck through it and got the 100%.
I honestly think this can be a great steam game! My recommendations would be to add simple tutorials for new components to the board and a definition page to the notes, as I was quickly stuck on some of the branch abbreviations, and not sure what they wanted me to do.
I had some weird stuff happening with the saving of some levels, but I assume this relates to browser-based saving.
I can actually see this game expand into a full-on game with a campaign, backstory, lore, and many more levels.
I hope that you will take this gem and expand on it as I really enjoyed the experience to the point I was losing sleep thinking of how to beat a level.
Well done once again on a brilliant game!
I added a manual page explaining the abbreviations. :) I think it fits the game well.
Previously I used the phrases like “chars” in the manual a lot, but then changed it to “characters” and “letters” that are more player-friendly. Maybe I could have kept the programming jargon in there while providing a separate vocab note page. :) Writing is not my strongest side though as you might have guessed by this point. :)
This game is, and I don't say this lightly, amazeballs.
First of all, I adore the aesthetic, both the green-on-black old-school monitor look, but also (and especially) the handwritten-on-graph-paper with doodles on the side look of the help/notes. (OMG the American Chopper meme. Perfect.)
Second, it's just not like anything I've seen before. It's codebreaking but it's not just a mechanical "and now go look up the pigpen cipher" kind of thing, it's clever and non-trivial and yay.
I'm about halfway through at this point (finished both halves of blocks 1-4, haven't yet attempted 1+ through 4+ or 5), and I'm absolutely going to keep going, but a few very quick, very minor notes:
And I think that's it. Looking forward to coming back for the second half.
Thank you for such an elaborated comment.
I tried to fix everything you mentioned plus a little more.
The comments like this encourage people to continue with their gamedev hobbies. I may borrow this wisdom and go playing and commenting others game to make this vibe flow. :)
Vibe away!
Finished the game, and definitely enjoyed it to the end. Didn't even mind it calling me a nerd for doing the + levels. :-) There might have been a few more "well, it's one of these two options, I'll just try them both" decision points, but, hey, there's more than one way to solve a puzzle!
Please add more easy levels in the future! I really liked it, but I'm not smart enough to decipher the complicated ones.
I may just be missing something but I can't figure out what I'm meant to be doing
Hello. I’m sorry for the inconveniences.
I added the “How to play” on the game page. Let me know if it makes anything more understandable.
It does, thank you. I quite like the style of this game as it is quite unique, I was just having some trouble on how to go forward.