1am/we-built-a-game

We built a game

· from Software Engineering, ANU · Mayukh Das

No lesson this time. Four of us built a game, and I am still pleased about it.

It is called OUTBREAK. A containment failure has turned the building into floors of elementally mutated zombies, and you fight your way down through them in a terminal, one typed command at a time. The building is our own: Hanna Neumann at the ANU, complete with a lecture theatre and a staff room microwave you should not open.

Watch it being played

This is a real run, recorded from the finished game: 54 commands from the front door to the way out. Step through it, or press play.

outbreak · a winning run

    

Every screen here is the game's own output. The comments underneath are mine.

How it plays

The part I built

My part was the engine, and the thing I like most about it is that the whole game is data. Rooms, doors, zombies, items and rules live in plain files, and the engine builds the game from whatever it is given. The same build runs a second, completely different campaign, the Quarantine Ward, with its own rooms and its own rules. Change a file and you get a different game, with no programmer involved.

And when someone gets a file wrong, the game says exactly what and where, where it could have just crashed:

The game refusing to start: room 'lobby' has a door to 'ghost_room', which does not exist
A campaign file pointing a door at a room that doesn't exist.

It plays itself

The run in the player above was not typed by a person. The game comes with an automatic tester that replays whole games from a script and checks how they end, and that winning route is one of its scripts. Every time the tests run, the game proves it can still be won.

By the numbers

Who built what

A team of four, for Software Engineering at the ANU. I built the engine, the campaign loading, the progression between floors, and save and resume. My teammates built the map, movement and drawing; the zombies, combat and the element system; and the inventory, weapons, automatic tester and build pipeline.

It is a text game about zombies in a computer science building. I love it.