Generation 0xDEADBEEF by sftrabbit
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
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
| Web (HTML5) | http://josephmansfield.uk/generation-deadbeef/ |
| Original URL | https://ludumdare.com/compo/ludum-dare-36/?action=preview&uid=26559 |
Very natural progression, creepy mood - great job!
"Hacking" the state is a nice touch ;)
Would love to see a mobile version.
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!
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!
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!
(...but why a sloth?)
(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.
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!