QPCA-77B by Jimbly

[raw]
made by Jimbly for Ludum Dare 54 (COMPO)

cover_alpha.png

Welcome to the QuantumPulse Control Assemblage 77B Visualization Interface. Please complete the provided training exercises to earn your professional certification. Please see the included Reference Manual for further details.

This is a Zach-like programming game where you program execution nodes using a limited assembly language. A brief tutorial and full reference manual is included, however some (real or virtual) programming experience is probably required to have any fun at all with this.

Links * HTML5(WebGL) Post-Compo Version: dashingstrike.com/LudumDare/LD54 * HTML5(WebGL) Original Compo version: dashingstrike.com/LudumDare/LD54jam * Reference Manual: dashingstrike.com/LudumDare/LD54/manual.html * Source Code: Jimbly/LD54-qpca-77b

If you're wondering what to rate the game on humor, check out the manual, which the tutorial mostly eliminated the need for :(, or the screenshot below of its best page.

Screenshots ss1.png ss6.png ss2.png

ss5.png

Post-compo bug fixes (included in compo version, as allowed by the rules) * Fix crash running when a node is completely empty * Fix display issues when high score list is larger than the screen space and when players are tied * Fix quick reference card overlapping game area * (upstream engine fix) Fix leaderboard library bug where high scores would not get resubmitted if you were disconnected when they were first attempted to be submitted * (upstream engine fix) Fix text overflowing if you paste multiple lines * (upstream engine fix) Fix not allowing you to enter more text if you have a trailing newline that puts it over the limit

Post-compo expanded version with some QOL improvements for the competitive coder * Play [here] (your solutions will transfer, please play the Compo version first above) * Fancy authentic PDF reference manual recovered from the 1970s: manual.pdf * Added 4th save slot * Added better code validation on labels (detect duplicate labels, detect invalid labels at code-time) * Added beep sound when keyboard input would overflow an edit box * Fix some highlight/edit box text alignment issues * Reworked level select screen to better display your scores, your progress, and all other players' scores

Development Notes

Ever have that problem where you're looking for a 3.5" disk and all you can find are 5.25" disks? Finally found one. All sounds made by recording real floppy drives, buttons, and PC Speakers.

This game is heavily (and obviously) inspired by the fantastic TIS-100 by Zachtronics. Fans of TIS-100 will be (at least a little) familiar with this kind of game, though this one definitely has its own twists. It's also really addictive if you enjoy competitive optimization. I apologize if I am slow to respond or rate games, I may be distracted competing against my friends for the high score position in each puzzle for a while...

Tools Used * Custom Engine: GLOV.js * Mtn Dew * Audacity * Photoshop * Palette: Retro Space Palette * Fonts: Perfect DOS VGA 437

Ratings

Overall 21th 4.18⭐ 27🧑‍⚖️
Fun 29th 4.1⭐ 27🧑‍⚖️
Innovation 181th 3.4⭐ 27🧑‍⚖️
Theme 141th 3.84⭐ 27🧑‍⚖️
Graphics 159th 3.6⭐ 27🧑‍⚖️
Audio 74th 3.7⭐ 27🧑‍⚖️
Humor 93th 3.239⭐ 25🧑‍⚖️
Mood 17th 4.063⭐ 26🧑‍⚖️
Given 17🗳️ 18🗨️

Feedback

caryoscelus
01. Oct 2023 · 23:43 UTC
there seems to be an issue when trying to run with some nodes being empty, it breaks and never recovers after that

```
Error: node.op_lines[step_idx] is undefined
statePlay@LudumDare/LD54/app.bundle.js:578:14
tick@LudumDare/LD54/app.bundle.js:2596:23
```

anyway, fun little assembler ;)
🎤 Jimbly
02. Oct 2023 · 00:40 UTC
@caryoscelus Oops! That was the result of a last minute fix for a bug someone else found! Thanks for reporting, it's fixed now if you wish to play some more (also your progress should be saved in your browser's local storage).
🎤 Jimbly
02. Oct 2023 · 02:45 UTC
And, uh, general recommendation: don't pay too much attention to the high scores... I've shared this game with some _very_ smart and _very_ competitive friends and they seem to be hooked :D
LDJam user 373644
02. Oct 2023 · 15:26 UTC
I am a sucker for emulator games, and this is as good as it gets! Great work with the sounds, they're so satisfying. And nice tutorials, too many emulator games just throw the manual at you... which is fine, but not for a general audience.
caryoscelus
02. Oct 2023 · 16:56 UTC
..and here's [me playing it](https://tube.tchncs.de/w/93nYbi14oNnkhM2YrpBZD7?start=35m23s)
tanis
02. Oct 2023 · 17:51 UTC
I must admit I am not a fan of this kind of games. I spend most of my time coding already :smile:
The sound effects from your 5.25" drive are neat! Good idea. I must say that it is really well done. But I did not manage to find out how to set your name, where is that hidden?
🎤 Jimbly
02. Oct 2023 · 18:07 UTC
@ralian Thanks for playing, and I'm glad you like it! My first test build did just throw the manual at you, and pretty much the only person who played it was obsessed with TIS-100 and he still bounced off pretty quickly (solved 1 of 2 puzzles =). I spent most of the second day adding a tutorial and (almost entirely easier) puzzles (original 2 puzzles were just "add" and "multiply"). Hopefully the tutorials make it a _little_ easier to get into, but to be honest you've gotta be a pretty hardcore programmer already to get into something like this =).
🎤 Jimbly
02. Oct 2023 · 18:11 UTC
@caryoscelus Ooh, thanks for sharing a video, I'll take a closer look later, I always learn so much from watching someone play =)

@tanis Thanks for trying anyway =). I also spend most of my time coding, but a puzzle game like this is so far removed (in mechanics) from regular coding I like these kinds of games. It's still very much coding themed though, so I can understand it feeling too similar! As for setting your name, if you've ever played one of my previous Ludum Dare submissions your browser may remember your name, but generally when you complete a level and submit to the high score list there should be a text box under the high scores to set your name if the name is currently "anonymous". If you're showing as "anonymous", and you've completed a level, and there still isn't a prompt, let me know, maybe there's a bug.
tjm
03. Oct 2023 · 10:57 UTC
Excellent; it has all the modern conveniences and QoL I'd want from a modern game like this, and some interesting restrictions to work around. I'll be sure to recommend it in the puzzle game discords I'm in!
OadT
04. Oct 2023 · 12:56 UTC
Can't wait too see games developed on QuantumPulse Control Assemblage QPCA-77B in the next jam :joy: There are some edge cases that were a bit hard for me to understand at first (e.g. when the input actually progresses) but once I understood most rules it was a fun device to work on. But since the weekend I am still too lazy to properly optimize my solutions :smile: Its cool that the editor recognises some errors. I would have only wished there was ~~a way to run the program step wise (instead of running and pausing it the whole time)~~[Oh, found it!] because I often had issues synchonizing the nodes and it would have been nice if there was an easy way to downgrade/upgrade a node. But overall funny experience, maybe I will come back once I have fully recovered to solve the last level and optimize the other ones! Great work as always!
🎤 Jimbly
04. Oct 2023 · 16:13 UTC
@oadt Thanks for playing! I hope you had fun figuring out the edge cases (once you discovered step!), and it wasn't too annoying. The input advancing method was initially done just to make it deterministic (I didn't want rearranging nodes to change which node read the input first - which is great because I never got around to adding rearranging nodes! hah!), but actually ended up being a _really_ cool side effect to discover that aids in optimization =). I hope you come back and play after recovering! I'm still recovering myself and haven't had a chance to beat the whole game yet :D.
sven schoeling
04. Oct 2023 · 20:17 UTC
A Zach game. Praise the ldjam. 10/10.
cheesepencil
07. Oct 2023 · 17:29 UTC
How innovative! I finished the first tutorial puzzle and by then it was well over my head. It love that it plays in a browser and the audio is fun. The manual is amusing too!
Tesseract
08. Oct 2023 · 16:26 UTC
This is a fun game. Very similar to TIS-100 as you say, but it's nice to play more of that :). I'm seeing what I can do about the high scores in the cycles category.
🎤 Jimbly
08. Oct 2023 · 23:39 UTC
@tesseract Thanks for playing, and great job taking the top spots on a few puzzles! I think you're definitely the highest scoring LD-er, most of the other top spots are my (non-LD) friends ^_^.
Edward Dassmesser
10. Oct 2023 · 03:18 UTC
Damn. I'm a big fan of all zachtronics games and now I've been nerdsniped.
Tesseract
10. Oct 2023 · 05:22 UTC
Thanks for including a modulo operation ;) . I haven't used it in any of my leaderboard solutions, but maybe there's a way to do multiplication in a constant number of cycles (perhaps a throughput of 1 output per 8 cycles) using the Chinese remainder theorem.
Papaver
10. Oct 2023 · 11:00 UTC
Interesting programming puzzles in a new language! Well done :thumbsup:

I finished the first 5 exercises, but now I should get back to work :wink: I'll try to finish it later and collect my certification! :smile:
🎤 Jimbly
10. Oct 2023 · 13:11 UTC
@tesseract yeah, I'm not sure there's actually any way to use it with the provided puzzles, but I was thinking about adding (or at least testing) a puzzle that could use that when I discovered it myself. I'm slightly weirded out by how many tricks I've discovered myself while playing my own game, shouldn't I already know this stuff...?!

@papaver Thanks for playing! Doesn't training for a professional certification count under your company's education budget policy? Alternatively, if _everyone else_ in the office is also playing, no one can complain, right?
knexator
12. Oct 2023 · 15:32 UTC
incredibly polished, nice work
raassh23
13. Oct 2023 · 03:15 UTC
Really fun, i ended up spending more time on this than my actual work today, oh well hahaha
LDJam user 206001
13. Oct 2023 · 03:57 UTC
I came here and even opened the simulator, but of course, I don't understand anything. From the comments it seems very good for those who understand.
MiniBetrayal
13. Oct 2023 · 07:34 UTC
I found myself wishing for normal registers a few times (rather than broadcast channels) but i recognise that would make some puzzles trivial.
I'd play a lot more of this, if I had the time. This kind of game is dangerous to me. Good job!
🎤 Jimbly
13. Oct 2023 · 13:02 UTC
@raassh23 Thanks, and, yeah, I know that feeling...

@lincolnsalles It's definitely a niche game with some pretty steep prerequisites, thanks for checking it out anyway ^_^.

@minibetrayal Yep, normal registers would definitely make things easier. You can make a pretty trivial "fake" register with a 1-cycle delay by setting up another node that simply moves between two registers over and over, but you definitely won't make any high score placements with that. Well, except on the puzzles that almost no one has solved yet =).
TheLastSlowpoke
13. Oct 2023 · 13:29 UTC
I've spent definitely too much time on your game. While being super long for a jam game it still looks like a demo in comparison to original Zach games xd You captured the soul of these games, it truly felt like a spin-offy dlc to TIS-100. I had a lot of fun! I'm glad there are only this few levels though, my brain is melting. The game is super polished, good job!
🎤 Jimbly
13. Oct 2023 · 14:40 UTC
@thelastslowpoke Thanks for playing, and, wow, congrats on making it all the way through! The content creation to playtime factor in this game blows my mind - I spent like 5 minutes adding a problem description inputs and outputs, and then just myself immediately spent over an hour playing and optimizing my solution ^_^. Compared to my normal jam games where I spend ~30 hours making it and it gets played for 5 minutes... If I make a larger version of this, the playtesting is going to be more work than the authoring, I think =).
kaliuresis
14. Oct 2023 · 09:27 UTC
This is a very well done Zachlike! I had a lot of fun with this one. It seems I have beaten or tied all of the LOC records :). I might come back to try to crack some of the cycles records. I would have liked to be able to use acc in the conditional jump instructions, but I suppose having an extremely constrained instruction set is the whole point.
🎤 Jimbly
14. Oct 2023 · 15:41 UTC
@kaliuresis Thanks for playing, and nice job on the LOC records (and making it all the way through)! I just can't figure out a 7-line Repeat... maybe some day...

And, yeah, using ACC for conditionals would make things a lot easier, I had that (as well as ADD/SUB) at first and then I realized things could be solved using only channels and it made for a much more interesting set of constraints =).
vidarn
14. Oct 2023 · 20:02 UTC
This was super fun!

I haven't played any games like this before so it took me a while to get used to the puzzle aspect of the limited instruction set. That's on me being inexperienced though, I think you did a great job explaining the game and it's really cool how quickly it went from being overwhelming to addictive once I read the manual and started with the tutorial.

Solving the levels was satisfying and I think the editor was very well implemented. It really shows that you put a lot of thought and effort into this!
Wendel Scardua
20. Oct 2023 · 21:00 UTC
My head hurts 😅 I'm at exercise 6/9, but I still need to play some other games before time runs out so I'll pause here for now. You nailed the Zachtronics vibe, and the channels thing was a really nice twist on the genre. I only wish we could see the other people's solution (maybe after we solved the respective exercise?)
🎤 Jimbly
20. Oct 2023 · 23:05 UTC
@wendel-scardua Thanks for playing, and glad you enjoyed it! As for seeing other people's solutions, it would be too easy for everyone to copy and paste themselves to first place on the leaderboard, so I think I like the Zachtronics scheme where if you want to see their solutions, you have to ask them ;). I am collecting the solutions with the high scores for potential verification, and I'm _super_ tempted to look at some myself, as I just can't figure out how they did it... but that's the fun =).
🎤 Jimbly
06. Sep 2024 · 22:37 UTC
Big news, all! A full version of this game is coming to [Steam](https://store.steampowered.com/app/3175190/QuantumPulse_2A/) as [QuantumPulse 2A](https://store.steampowered.com/app/3175190/QuantumPulse_2A/), I'd love it if any fans of the jam game could wishlist it =).
LDJam user 385093
11. Sep 2024 · 18:02 UTC
cool game i like it