QPCA-77B by Jimbly

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


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🗨️ |
```
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 ;)
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?
@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.
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:
@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?
I'd play a lot more of this, if I had the time. This kind of game is dangerous to me. Good job!
@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 =).
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 =).
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!