Deeper Bros. Digital Computer by Adam Selker
Thank you for purchasing DEEPER BROS. (R) DIGITAL COMPUTER v0.23! Your new computer comes with a beautiful 4-color display, a 5 Hz CPU, and a built-in programming environment.
The DEEPER BROS. (R) DIGITAL COMPUTER v0.23 is programmed using two languages: Deep Assembly language, and Deeper Microcode. Programs are written in Deep Assembly, and Deeper Microcode is used to create custom Deep Assembly commands.
NOTE: Programming the DEEPER BROS. (R) DIGITAL COMPUTER v0.23 is not for the faint of heart.
To run on Linux, download deeper_bros. Then, in a terminal, run:
chmod +x deeper_bros
./deeper_bros
Windows isn't recommended, the game stutters. It does work, though. To run on Windows, download the source code, install Python 3 and Blessed, and run python3 game.py.
If you enjoy this game, also check out TIS-100 and Shenzhen I/O!
Ratings
| Overall | 62th | 4.068⭐ | 24🧑⚖️ |
| Fun | 122th | 3.881⭐ | 23🧑⚖️ |
| Innovation | 52th | 4.182⭐ | 24🧑⚖️ |
| Theme | 384th | 3.696⭐ | 25🧑⚖️ |
| Graphics | 536th | 3.295⭐ | 24🧑⚖️ |
| Audio | 691th | 1.9⭐ | 17🧑⚖️ |
| Humor | 300th | 2.853⭐ | 19🧑⚖️ |
| Mood | 322th | 3.45⭐ | 22🧑⚖️ |
| Given | 26🗳️ | 22🗨️ |
I'm gonna be diving into the rest of the levels for sure! Though i might need my ortho keyboard that's got arrow keys instead of the 60% i'm on right now!
OOps, just got rid of that solution screenshot, realize it's not good to share the answer.
I managed to get down from 67 ops to 45 :D
But I'm a programmer so I just love it!
A inspiring idea of the theme 'deeper and deeper'.
Good work.

Creating a programming language for a game jam is pretty sweet. I love the TIS80 and Shenzhen I/O style puzzle games.
The experience on Windows is pretty rough, lots of stuttering. A proper Windows release would be sweet, and hopefully get more people would try this game, because it's pretty cool!
@sirfist19: First, add Python to your PATH. After you do that, in a command prompt or PowerShell, the command `python` should do something, rather than saying "command not found". Then, in the cmd prompt, go to wherever you downloaded the game code, and run `python3 game.py`. As Greg the Egg said, you might get some stuttering.
Might install Ubuntu just to play this game lmao, it's really fun so far
EDIT: just remembered i installed it on a small laptop so i'll use that instead
- add in the tutorial that bits are ordered from most significant to least significant
- if you press right arrow at the end a line it should probably move the cursor to the next line, same thing for left at the beginning of a line
- ~~if you have a line, a blank line and a line, you can't erase the blank line, bug?~~ (edit: i was wrong)
There's a brief mention of "big-endian" in the documentation, I figured folks would mostly figure it out by trial an error. This game already has a four-page manual _instead of_ a tutorial, lol.
Thanks for playing!
Only thing missing thing for full Zachtronics-like experience is a printable PDF manual :)
Great idea to add `Deeper` custom user code functions.
To be fair, I had struggled quite a bit to get down to it, as I had wrap my head again (read - remember) stack based programming. What would really have helped is an ability to `debug` step through my code rather than executing everything at once. I think it would make the game a lot more accessible to wider audience, as it would make it easier to see, understand and learn how it's working.
Would love to see a bit improved navigation, debug-stepping and more puzzles, but overall it's already very impressive.
P.S. Thanks for showing Blessed, time to go make `Space DwarfFortress | ADD|OUTPUT` => SpaceFortress.
Despite being a game about low-level programming languages, it's remarkably accessible; the on-screen documentation and stack/output information was surprisingly smooth for a 48-hour game. In terms of the IDE, the only thing I would have added would be a debug mode or at least a way to "underclock" to follow execution more easily (although I'm not surprised you didn't have time for it).
The puzzles were well-constructed and force you to tackle them in different ways, between the deep assembly language and the deep deep microcode. The language itself made enough sense, but the additional restrictions --- mostly memory-related --- made you have to think really carefully. It would have been nice to have a couple more ways to interact with memory, like maybe a separate stack for the inputs and general use, or a couple registers to store values. That said, just the stack was technically enough and certainly made the earlier puzzles more interesting.
Performance on Windows wasn't the best, and it took a couple seconds holding down delete to clear a line. I never expect great optimization for a game jam game though.
I still haven't beaten all the puzzles but I'll probably come back to it! Great work and creative use of the theme.
@Homlet : Haha, I've left so many accidental ":w"'s in the code =) Really, your code should be autosaved, but I didn't have time during the jam, so now it's on the Post-Jam Improvement List. Hope you didn't lose too much time!

I thought this was gonna work, but it didn't :(
https://imgur.com/a/1tqGbDv
It looks like the code consumes three stack elements each loop, which makes sense since there are three POP instructions.
Do you see something different?
Thanks!
First of all, congratz on making this within 48 hours! There are some things I would change though:
- While in general the UI works fine, the code editor itself is kind of obstinate, especially when it comes to inserting or removing lines.
- Despite the "levels" having a didactic progression, I still think the learning curve might be too steep. It might be worth considering to start out with 2 or 3 instructions, and then getting to know the other ones later.
- There is some weirdness with the interpreter, I was often not sure whether this was my fault (probably) or bugs manifesting. This was especially tough in the beginning, where the example program wouldn't even run: no feedback, no stack action, no output.
I did like the fact that the editor does input checking in real time. The weird machine language kind of reminded me of some of the Advent of Code ones :laughing:
Oh by the way, if there was audio, it wasn't playing on my machine, don't know :shrug:
The custom instructions is cool too.
It's hard to debug. Step by step execution would have been nice.
I have found a bug: this code should return 1 when the second input is greater than the first. It works when I test values in the editor, but not in the main program.

I just won't rate on fun, or innovation, or graphics I guess. I am just really conflicted.
Reminds me of the Dijkstra quote:
APL is a mistake, carried through to perfection.