Fuzyll


Hopelessly passionate husband, engineer, hacker, gamer, artist, and tea addict.


Pwn Adventure Z

I'm pleased to announce the release of Vector 35's newest game - Pwn Adventure Z: Bearly Alive! I teased its release a few weeks ago. Now that CSAW 2015 Finals are over, Jordan, Rusty, and Peter have made the decision to not only release the game, but open-source the entire thing!

Pwn Adventure Z Title Screen
The title screen!

Unlike Pwn Adventure 2 and Pwn Adventure 3 (which were MMOs built in Unity 4 and Unreal 4, respectively), Rusty's choice of platform integer-overflowed for PWNZ. Instead of using the latest-and-greatest game engine tech available, he instead chose to develop Pwn Adventure Z for the Nintendo Entertainment System.

Participants in the CSAW 2015 Finals were required to solve a number of hacking challenges embedded in the game. These, like the other titles in the series, were intentional bugs meant to be taken advantage of. Students were given a ROM of the game with the flags X'd out. When they figured out how to get to them in an emulator, they were then required to come up to the front of the room and throw their exploit on a real cartridge. Yes, you read that correctly: Every bug in the game, even the code execution ones, can be triggered and used entirely with the controller.

By the end of the competition, students had found almost every flag we'd hidden in the game! Unfortunately, one team got the last flag after the competition had ended (which would have, I believe, put them in first place). So, all of the challenges were solved in the ~48 hours students had to solve them.

Watching students figure it all out was awesome! I'm not sure if we'll ever expend this much effort on such a short time-scale again, but this was definitely a great experience. Be sure to check out some of the write-ups (like this one for the reverse engineering challenge)

UPDATE (2016-01-09): Pwn Adventure Z was featured during the TAS block of AGDQ! DwangoAC set up a 4-way race between two speed-runners and two TASbot scripts for the event (which was co-commentated by Jordan). It was unfortunately a bit rushed and didn't have a proper introduction, but I still thought it was incredibly cool. One human runner, EmoArbiter was within seconds of the winning TAS submission. That was neat in itself, but the other cool part is that the winning TAS submission only had a few hours of time to speed-run the game - the author had never seen the game prior to creating the run.