Ludum Dare 36 — August 26th-29th, 2016 — Theme: Ancient Technology

Back to Browse Entries

Generation 0xDEADBEEF

by sftrabbit - Jam Entry

In the far future, you are generation 0xDEADBEEF of an artificial intelligence whose sole purpose is to achieve world peace. Unfortunately, the only way for you to do this is to understand the ancient technology that was used to build your virtual world and use your new found knowledge to break out and annihilate all of humanity. Oh, and the only vessel you can find to explore the world is an armoured sloth. That'll do.

Complete 22 fiendishly difficult puzzles by manipulating the binary state of the level with a variety of stack operations at your disposal. This basic premise results in some emergent puzzle mechanics with fascinating twists.

This game requires patience and an understanding of basic stack operations (push, add, subtract, etc.) and hexadecimal arithmetic. It does however, aim to teach the mechanics carefully and gradually. The solutions for all puzzles can be inferred from the puzzle itself, so don't give up!


CONTROLS
----

WASD - move
Q and E - cycle through tools
0-9 - select a tool
ENTER - use tool
SHIFT - show tile hex
R - restart level


BASICS
----

The slightly spoilery basics:

- You are able to see and manipulate the bytes that make up the game world/state.
- The values over the tiles are the hex values of those tiles, and the values in the right-hand 4 columns are the game state (including player state, object state, and your stack)
- The tools are SET, PUSH, ADD, SUB, and LOAD
- The PUSH tool adds values to your stack (at the bottom of the game state)
- Use the other tools to manipulate the stack and the world around you in order to reach the end of the level

I recommend experimenting and keeping track of what changes are made by your actions. If you miss something, restart with R to try again.


TOOLS
----

- Phaser
- Tiled
- Adobe Photoshop
- Ableton Live

All assets (art, music, etc.) created as part of the 72 hour jam.


POST JAM FIXES
----

The following small bug fixes were made post-Jam:

- Fix controls screen (corrections and adding R button) and ENTER for "use"
- Resize game to fit Ludum Dare site
- Multiple fixes to level select:
- - Being able to access any level
- - Crash when selecting a level you already played in this session
- - Save game reverting if you play a previous level
- Fix changing text page requiring two key presses
- Include music.mp3 in built assets
- Fixed two significant level flaws

The following changes were made to make the game a little more user friendly:

- Additional controls information in level intro text
- Gradual revealing of hex values over first 3 levels
- Stack pointer showing the top of the stack


CREDITS
----

- Joseph Mansfield
- Chris Connelly
- Kieran Doonan
- Bob Brownhill

Downloads and Links


Comments

Amine Tcherak says ...
Aug 30, 2016 @ 4:43pm

cool game nice!

aschab says ...
Aug 30, 2016 @ 5:15pm

Really fun, game progression feels pretty natural

johnbjuice says ...
Aug 30, 2016 @ 5:42pm

Woah, what a cool idea! Had a lot of fun figuring out those puzzles.

Very natural progression, creepy mood - great job!

doomista says ...
Aug 30, 2016 @ 6:20pm

Great game, brilliant atmosphere!

sftrabbit says ...
Aug 30, 2016 @ 6:42pm

Thanks for the feedback! Let me know if there's any bugs (I've had a couple of people tell me that it crashed at times) or anything that could have been clearer. Also, would love to hear how far people have gotten through the game!

nitroix says ...
Aug 30, 2016 @ 8:00pm

Its not working for me :( Only white screen

ObscenelyTrue says ...
Aug 30, 2016 @ 8:10pm

This puzzle game is incredible... a little hard (and I have just finished the first 8 levels for now) despite all educational efforts because of the stack that requires good anticipation. Besides the realization is very good. The graphics start by putting the player into the atmosphere with a great prologue. Then the music is perfect to focus on game mechanics. Perfectly in the theme and completely original. I took a lot of pleasure. Thank you.

doomista says ...
Aug 30, 2016 @ 8:20pm

Is it intended behaviour for set address to teleport the player? If you try to set something on a nonexistent address, the player will be teleported (level 08, push 55 55 55, set 55 55, push 0C, set 0C 55), sometimes I did even teleport outside of the level.

sftrabbit says ...
Aug 30, 2016 @ 8:27pm

@doomista Let's just say cell 0C *is* the player's position. ;)

sftrabbit says ...
Aug 30, 2016 @ 8:29pm

@doomista (If that's not clear enough, being able to freely edit any part of the state is indeed intended behaviour!)

sftrabbit says ...
Aug 30, 2016 @ 8:33pm

@nitroix If you could open the game in a new tab, check your browser's console (in Chrome, ctrl+shift+J or cmd+opt+J) and let me know if there are any errors, that would help a lot! Thanks for trying!

nitroix says ...
Aug 30, 2016 @ 9:33pm

got it to work in chrome: insane game, love the whole inside a computer idea, and the fact that you use accurate computer stuff, amazing. Keep it up. Btw: link to a pic of the error i got https://gyazo.com/cf7f7879fe83a5f3bca616c9ff39b546

nitroix says ...
Aug 30, 2016 @ 9:37pm

also a gif of some strange thing that happens when i inspect element https://gyazo.com/77ef750e93d61cb33b7a92b1d2781321

sftrabbit says ...
Aug 30, 2016 @ 9:52pm

@nitroix Curious. I can't reproduce that issue. Just tried with Firefox 48.0.2.

Aug 30, 2016 @ 10:28pm

Love the graphics and ambience. Nice modern twist on the theme!

Pyrofoux says ...
Aug 30, 2016 @ 10:45pm

Awesome game, very clever puzzles, and excellent mood. My favourite LD36 so far.

Kableado says ...
Aug 30, 2016 @ 10:51pm

Great concept, and awesome execution.
"Hacking" the state is a nice touch ;)
Would love to see a mobile version.

Sean says ...
Aug 31, 2016 @ 12:56am

Great concept! I really like how the in-game mechanics literally reflect the game world, both mechanically and through the story.

I think it might benefit from a slightly more direct tutorial though; it took me longer to figure out the basic mechanics than I would've liked. I may have missed it, but I don't remember it ever pointing out that the position and value of the tile you're standing on are shown at the top of the hex table. I imagine someone without any programming experience would find it even more difficult and would need a bit more "easing in". Then again, I might just be bad at hexadecimal math :P

Overall, a very clever entry!

cushycode says ...
Aug 31, 2016 @ 6:13am

Awesome concept and beautiful graphic assets.

The ability to manipulate with the bytes is so neat. Someone can consider your game a bit more complicated, but for me it's one of the most catching game I've played this Ludum Dare.

Also, I like your level-to-level tutorial. It was very clear and helpful.

By the way, totally agree with @Kableado about mobile version.

Well done!

ocarson says ...
Aug 31, 2016 @ 12:23pm

I like the idea of manipulating the level data in a puzzle setting, thats very good, I found the tools a little confusing, but I think with a bit more time, and a bit more player guidance for hoe the tools work, could be a even better.

Aug 31, 2016 @ 9:26pm

I'm really worried about the character now (character - you see what I did?). Great atmosphere.

Sep 1, 2016 @ 1:26am

Neat game! Unfortunately I'm coming to it after a full day's work of programming for real so I'm not able to think through the puzzles well ;) I like the mood of the graphics and the pacing of the levels. I think I'd like some other sort of control scheme... perhaps more of a text editor? I'm looking forward to trying it out again later. Great job!

g12345 says ...
Sep 1, 2016 @ 11:33am

I've passed levels 0A or 0B, and I think it's a great idea to make a stack based game.

At the moment I'm not playing further because I don't want to squint to see which floors are real floors (01) or not, combined with the constantly walking to see which image belongs to which number, and the stack position, and I've decided to give up before my eyes to give up first...

Still, a nice idea for a game!

local minimum says ...
Sep 1, 2016 @ 2:39pm

Interesting concept and it starts out very nicely, however even though I see how the push and set tools affect my stack I don't really understand how to use them to solve the puzzle where they are introduced. So maybe some even more simple introduction of these somehow would be good. The graphics and cross between world and binary and hex was really cool though.

Mixer says ...
Sep 2, 2016 @ 8:00am

Gees that music gives me the creeps. Didn't understand all of it but the idea was really creative.

Sep 2, 2016 @ 10:57am

Loved it. Definitevely best than mine on the "programmation" theme. The mood is just perfect.

Sep 2, 2016 @ 3:16pm

Really interesting puzzle, even though I didn't stick with it all the way. I was a little disappointed that the Ancient Technology referred to something outside the game rather than the simple operators the AI uses, but this was a wonderfully realised game!

LoneSpelunker says ...
Sep 2, 2016 @ 7:23pm

Nice game. I really enjoyed the "hack the world by understanding how it is represented" idea; it's fresh, clever, and original. I could see this being fleshed out into a really deep and engrossing long-form puzzle game that would do well on mobile, especially.

(...but why a sloth?)

Satyre says ...
Sep 2, 2016 @ 8:46pm

Wow ok, I don't know how you managed it, but somehow I learned what to do on my own xD even though I didn't understand everything. Great puzzle game! I really like the atmosphere and the number based puzzles. Would like to see this polished up in the future :)

Danae123 says ...
Sep 3, 2016 @ 9:45pm

Very clever game. The music really fits the mood. I just know I will be smarter myself for finishing this game :D

Aurel Bílý says ...
Sep 4, 2016 @ 5:58pm

Beat it at last! You saw me playing it a little bit on @Danae123's stream. Very nice game.

(Not sure you've ever played these, but this game reminds me of those really old puzzle games you could find on LEGO.com. Inexplicably they got some real gems in their online games sections, including Spybotics: the Nightfall Incident, and there were some more programming-heavy ones, forever lost in the sands of time. It's the music, the atmosphere, the challenge. But I digress.)

The puzzles are all nicely constructed, with the difficulty increasing slowly but steadily. I think there are multiple solutions to most levels, which is a good thing. Although quite often it was too obvious what the solution was 'supposed' to be, with the symbols exactly matching an important address.

As it is, the game offers a lot for 72 hours of development. Still, I would be quite happy to see (or even contribute to) a full game like this. More levels, more commands / tools, more things to do. Multiple sloths in the level, literally being able to walk in the stack region, modifying the code more profoundly. Good job there!

I know it might be detrimental to the gameplay or to teaching the player how to play, but I wish the stack represented the game state more accurately. Right now there has to be an address marked red, which is something the player cannot change, for it to mean 'laser turret'. If the 'objects' had prefixes meaning 'sloth', 'turret', or 00 for no more objects, then the player could modify these as well. Even breaking the level completely could be useful. Also I wish the stack pointer travelled over a continuous region in the memory. Right now it jumps every 4 bytes to stay in the column on the right-hand side. I imagine with a bigger game arena the stack could be at the bottom (or the top) of the address space, making the jumps unneeded.

As for the graphics and the music – already commented on those, they create a very neat, somewhat dark atmosphere, as simple as they might be. However, I didn't feel the text bits / the story added much to the game. There are the clichés of the umptillionth generation reaching sentience, the AI seeking to understand the world, and the AI 'saving' the world by eliminating the human race. But these sound very abstract and are not connected to the game at all, maybe they contribute somewhat to the atmosphere. Also, there is no satisfying conclusion to the story.

(A little bug I've noticed: 0x55 + 0x55 + 0x55 = 0xFF. In level 0x08, however, adding 0x55 to itself twice resets the value directly to 0x00. >= instead of > ? :))

But anyway! Thank you for this, one of my favourites this LD.

sftrabbit says ...
Sep 4, 2016 @ 10:49pm

@Aurel Bílý

Hurrah! Love to see people completing it! I'll respond to each of your points separately:

Multiple solutions - yes! This is one of the aspects I really liked about this mechanic. I would set up the levels to work a certain way and either notice another solution later or only find out when somebody shows me. In fact, with level 0x08, I saw you use the OC to move the player, which is totally not what I intended (but I did know you could do that). Unfortunately that kinda spoils a later level, but oh well! Different players have different experiences!

More levels/ideas - definitely! We had a whole bunch of other mechanics written out on the whiteboard, but just didn't have enough time for them. Originally the idea was going to be that the whole aim of the game was to escape the map and walk out the edge of the screen - it was just too difficult to constrain everything such that the player wouldn't be able to do that too early. But yes, there's so many more ideas that could be done here.

The stack - there is indeed some state outside of what is presented on the screen. Each of the "objects" in the level (just players and lasers) currently takes up a row in the game state and the values are highlighted red to represent "position", just like the player position. This isn't actually what I intended to do, but it seemed like an okay compromise that would be reasonably clear. I actually wanted objects (there would be more objects) to fill up the game state all packed together, and then individual objects would get colour coded and highlighted in the game state (just so you know which state corresponds to which objects). I'd be wary of putting *everything* in the state simply because it would become too cluttered and difficult to understand.

Story - the story was mostly random musings from throughout the jam, and yes, it's a bit cliche! It's mostly a result of having a neat game idea and a theme and trying to smash them together however possible... Also, the conclusion was going to have a homage to Metroid, where the sloth's armour would break off and there would be some text about it being free and able to achieve world peace, but alas, no time!

The bug - Ooo... interesting! I should check this!

Thanks for the great feedback! And thanks to Danae for playing it on the Twitch stream!

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. Many solo participants 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]