The Order of the Overflow...
In its newly-found gaming studio essence presents...
ZERO is YOUBaba is You.
What is it?
In short, you control an avatar (ZERO) in a two-dimensional cyberspace grid. In each level, the goal is to spawn a shell , which is typically obtained by controlling a special CPU objects that can execute bytes as it moves through the grid. As in Baba, the rules of the game (including the CPU architecture and its characteristics) are written in the game itself - and thus can be changed and recombined by ZERO to control the system.
At its core, Baba is You was already a hacking game.
My idea was to make it a hacking game for hackers.
ZERO at DEF CON
ZERO is YOU was developed by Balzaroth as part of the challenges OOO released for the DEF CON CTF finals in 2021. During its game life (roughly 10 hours), among the 16 finalists only PPP managed to reach the last level (which they solved just after the game ended).
During the competition the game had a server component that validated each solution and made sure the game was strictly sequential (the client could download the next level from the server only after the previous solution was accepted). This has now been removed from the game.
During DEF CON I discovered that many levels have in fact several, and very different, solutions. Since the final score is computed based on the number of moves, this made for a very interesting competition.
As a reference, PPP solutions score 28257 points in the current game. If you do better (and yes, it is possible to score higher), please let me know on Twitter (@balzarot) and I’ll update this page.
Problem Running the Game
The current version is generated with PyInstaller, and therefore it “should” run on any Linux distribution. However, I heard of players having problems with python versions.. I am looking into it but if you still encounter problems please let me know (the game was tested on Ubuntu 20.4).
I have few half-baked levels I was not able to finish in time for DEF CON (I was initially planning for 20 levels). I will release them when I find some time to finish them up.