Ludum Dare 33 — August 21st-24th, 2015 — Theme: You are the Monster

Back to Browse Entries

Synapse

by tompudding - Compo Entry

*** WARNING ***
This is an extremely nerdy hacking "game" that is barely a game, and certainly not fun. If you're not into security or embedded systems shenanigans, you might want to give this a miss!

That said, if things like TIS-100 and 0x10c interest you, and you wish for something vastly more complicated and much less fun, then walk this way...

Synapse
-------

This is my entry for Ludum Dare 33. It is a hacking simulator (You are the monster(!), because hackers are monsters right?) where you have an imaginary old machine based on an ARMv2 CPU and made up hardware. You have some tapes, and on each tape there is a secret password, can you find all three?

I had originally intended to implement a BBS style system and have you hack a real server and possibly other people, but that was way too ambitious for the 48 hours. It's probably extremely hard, with a high barrier to entry, but if you like low level stuff, old computers and ARM, then it might just be for you :)

Installation
------------

A Windows build is up, Linux coming soon :)

You can build and run the source directly with python, pygame, pyelftools, cython and an arm toolchain (arm-none-eabi-) installed into your path to build it.

Help
----
To get started you'll want to load a tape. You can type load and enter and it will try to load a tape, but at bootup there is no tape in the drive.

* Press escape to halt execution and switch controll to the debugger. You'll see the bottom right text switch from "RUNNING" to stopped
* Press tab until the tape selector is highlighted
* Use the arrow keys to choose the tape you want
* Press enter or space to load it
* Resume execution either by pressing c or escape again. R will reset the machine and Q exit completely at this point so be careful!
* type load and enter to load the tape
* Enjoy the delights of the Tetralimbic Systems Synapse!

At this point it's probably very daunting. The debugger is not very full featured and there's a lot of code, so I've included a docs directory in the binary distributions with some helpful files:
* disassembly of the tapes including function names. These should give some hints where to set those breakpoints
* ARMv2 manual

You can add other tapes by dropping files into the tapes directory. These can then either be loaded and run as any other tape, or played as keyboard input by pressing p (for any crafted input you might need :))

Bugs
----
* Sometimes there's a deadlock and it hangs. Not sure why :(
* There is no indication when the CPU is idle and waiting for an interrupt. This is a problem as it causes the debugger to not step.

Downloads and Links


Ratings

#129Innovation3.61
#160Mood3.53
#425Graphics3.17
#542Humor2.53
#572Overall3.00
#599Fun2.82
#875Theme2.40
#1752Coolness36%

Comments

dosmaen says ...
Aug 24, 2015 @ 5:13am

I'll give this a try once it is built, seems like a good concept.

Aug 24, 2015 @ 5:21am

I love the old commodore 64 look.

Aug 24, 2015 @ 9:28am

Love the style... Give us a playable version! :D

okmmjyygv says ...
Aug 24, 2015 @ 1:58pm

Not bad, but can be improved.

Big Cow says ...
Aug 25, 2015 @ 5:58pm

Got as far as loading the adventure tape, then tried a whole bunch of commands but not worked. Still, I like the concept, there was a great feeling of excitement on loading the adventure tape. The initial interface was a little advanced for me but I'd love to play a bit more of a noob version :)

Phil Strahl says ...
Aug 25, 2015 @ 10:22pm

Wow, very impressed by all the nerdy stuff that's in there. This is way beyond what I know about those great old hardware (which mostly amounts to copying sprites to v-ram ;). Your game looks like the big brother of Uplink :D

flatgub says ...
Aug 26, 2015 @ 7:27am

I was really excited to play this because I love stuff like this, but it seems to freeze every time i try to start it...

tompudding says ...
Aug 26, 2015 @ 8:09am

Oh that's a shame flatgub, finding people who might want to play this is going to be hard I think. Are you on Windows? Does the Window appear or does it hang at the console? Maybe try running it from the command prompt and seeing if there any errors? Thanks

flatgub says ...
Aug 26, 2015 @ 8:45am

Yeah windows.
The window appears for about a second and it suddenly freezes and I get the "Synapse.exe has stopped responding" message. I checked the cmd and There's no errors being logged or anything...

tompudding says ...
Aug 26, 2015 @ 8:54am

OK thanks, I haven't done much testing on Windows. Which version of Windows do you have out of interest? Thanks for the help

flatgub says ...
Aug 26, 2015 @ 8:56am

Windows 7 Ultimate!
Maybe i should get the source and compile it myself?

boardtobits says ...
Aug 26, 2015 @ 10:02pm

Hitting tab didn't seem to do anything, then the game locked up.

tompudding says ...
Aug 28, 2015 @ 7:53am

I updated the binaries to hopefully fix the deadlock bugs, I'll try rating some games now and see what the new players thing :D

wesley werner says ...
Aug 28, 2015 @ 7:52pm

This is madness, I tell you. Madness! You actually linked the ARM libraries, what dark magic is this?

Your interpretation of the theme is largely interpretive. But I guess tongue-cheekery is to be expected in LD!

Okay on to the game - I stepped through the number guessing game, watching the registers to glean any info on what the number is I should be guessing, they are tricky to decipher, my friend. Golly-gosh-gee-willikers batman.

Okay... I am wiping the brain-ooze off the side of my face now, and am going back in to decipher some more.

tompudding says ...
Aug 28, 2015 @ 8:11pm

Woohoo, really glad someone is enjoying it Wesley! The tapes are C, compiled with the GCC arm toolchain into Armv2 assembler, then linked up with a bit of hand codes assembly, run on a C emulator running as a python extension model with the hardware devices in pure python. It is a fun project :)

Empyrealhell says ...
Aug 30, 2015 @ 8:16pm

I feel like if you want to make a game like this, the debugger really needs to be on point, and this one isn't. The concept is really neat, but for those of us that don't have experience with this type of hacking, the game requires hours of research to learn how to even approach it. A built-in tutorial that shows people how to start would go a long way to making this more approachable. As it stands, it seems more like an emulator than a game, really. I think it's an awesome idea, I just don't have time to read a tech manual and spend the next few days learning what I'm supposed to be doing.

nihilaleph says ...
Aug 30, 2015 @ 8:28pm

Oh I would love to finish your game, but I really need to relearn all this ^^; Still I'll try to play though!
PS: Is there anyway you could share a manual or instruction set?
PSS: I was able to get the password from guessing game with basic dichotomy xp

Biruts says ...
Aug 31, 2015 @ 3:20pm

Very nice project guys, i really love it, please check our game too and if you liked it give us a vote. Look for Road to hell and enjoy.

You must sign in to comment.


Mini Submission FAQ

TEAMS: Teams entering the Jam should pick a single representative to submit your game, or create a team specific account you can share. We currently do not support Team Voting, but sharing an account and together playing and rating games is acceptable.

CAN I ENTER BOTH EVENTS?: You should pick 1 event, whichever you think it’ll do better in. If the idea is strong, and everything plays well enough, you can go Compo. If you’re a perfectionist, and would prefer people to play a more polished game, do the Jam. Historically, more games are entered in the Compo, but with more people and more time, Jam games have the potential to be better (that doesn’t mean they are). Many solo participants do enter the Jam.

If you made 2 games, unfortunately, the website doesn’t support multiple submissions per user. To submit your 2nd game, you will have to make a 2nd account. Only do this if you made 2 games. Alternatively, if one game is better than the other, then consider just entering the better game.

CAN I KEEP WORKING UNTIL THE DEADLINE?: Yes! Immediately after the 48 or 72 hours, we do something called Submission Hour. As the name suggests, it’s an extra hour for you to package, upload, and submit your games. If there were catastrophic issues trying submitting your game, or you misunderstood how submissions work, that’s okay. It happens. We’re flexible. If you need advice, check with the folks on IRC. If you need an admin, get in touch.

CAN I KEEP WORKING ON MY GAME?: Oh definitely! You should! But for the sake of judging, keep the Compo or Jam version around. You can include a link to the Post-Compo/Post-Jam version of your game on your games page, but sure your main links are the original version.

PORTS: Ports to other platforms can be done after the deadline. That said, the sooner you finish your port, the sooner people can play your game, improving your chances of placing in the final results. For best results, provide a Web version of your game, or a Windows version with no dependencies. Also be sure to rate at least 20 games to improve your visibility (Coolness).

MY GAME CRASHES, IS UNBEATABLE, OR I MADE A TYPO: We allow you to fix crashes, win condition, or tiny bugs after the deadline. In a sense, this is like “porting” to support more players. We leave this open to interpretation, but generally speaking your game should be identical to the game you submitted. No new features, just fixing mistakes you should have caught had you been better rested.

MY GAME DOESN’T SHOW UP: If you can’t find your game, it’s usually because the URL to your downloads are missing ‘http://‘. Fix your URLs (http://mysite.com/mygame.zip) and you will show up. Alternatively, if you just posted it, wait a minute. The cache may not have refreshed yet.

NOT LOGGED IN?: If you get a message about not being logged in, even though you are, it’s because your web browser cached the non-logged in page. You can fix this by either refreshing your cache or clearing your cache. CTRL+F5 in many browsers. Chrome is a bit more work. Press F12 to enable Developer Mode, then you can right click on the refresh button and select “Empty Cache and Hard Reload”. This option is unavailable if you are not in Developer Mode.


[cache: storing page]