OVERVIEW

Context

Ambiguity Apocalypse is a game that is currently in development for Aedanna as part of the QUT Industry partner program. Aedanna hosts workshops for companies that would like to improve their employees capacity for making difficult decisions in the face of ambiguity. We are developing this game for them so that they can use it in their workshops.

Ambiguity Apocalypse Website

Most Valuable Skill Learned

The most valuable skill I learned while undertaking this project is how to work in an environment with multiple stakeholders. We worked with an industry partner, Aedanna for our project, and we primarily catered to them while creating this project. However, this is also a university assignment, so we had to find a way to satisfy both stakeholders, who had different ideas about the direction we should take the project. Ultimately we were able to satisfy both parties, and Aedanna has been incredibly supportive of us and the work we have undertaken on this project.

Gameplay

Ambiguity Apocalypse is a network-based game in which teams try to survive in a zombie apocalypse. The goal is to reach a survival bunker with as many resources - and people, as possible. The game aims to put people in uncomfortable situations that build their tolerance for ambiguity. The goal is clear - but every round they must make a choice as to how they should proceed. A key aspect of the game is that players do not recieve all the information required to determine the outcome. There may be hints or clues, but ultimately they must make a choice based on their best instincts.

MY CONTRIBUTIONS

Programming Systems & Mechanics

I was the sole programmer assigned to our team, meaning I had a large responsibility in ensuring this projects completion.

Because I knew the others on the team were not programmers, I created modular, data-driven systems that allowed designers to quickly add content to the game without having to touch the code. I also created documentation that explained these processes, to ensure that iteration time could be as fast as possible. We held weekly meetings in which designers could request that I add features, and I would often have them implemented by the end of the day, ready for them to continue designing.

Every two weeks, we would meet with our industry partners, and I would provide the latest build of the game for them to test. The build worked in a web browser without a download to ensure that

Scriptable Objects allow my team to quickly add content.

A web build means easy-to-access demonstrations, resulting in better feedback.

Creating documentation makes other's jobs easier.

Network Implementation

Although still a work-in-progress as of August, already, I have made great strides in allowing for Ambiguity Apocalypse to be played over the internet. This has been an extremely challenging project, but I have overcome many of the biggest hurdles already.

  • I chose to use a TCP connection for multiplayer.
  • I have implemented my own packet system and packet processor.
  • Connected clients are abstracted into players, and edge cases including disconnects, kicking & leaving have been handled.
  • Players can connect using a username, join a team with their coworkers.
  • The host can start the game, and it will play out as normal.
  • Everyone is assigned their own character, and actions are synced across the server.

This has been a valuable experience for me, as prior to this project I had only implemented a client. Now I know how to make an application that can both host and join a server (at the same time!).

Client joining with the username "Testing"

Server reports "Testing" has joined the game.

UI Design & Implementation

Because this project was extremely UI heavy, the game flow and logic is integrated with the UI. I designed the user interface for this project, and have been continuing to iterate on it. UI Design is one of my strong passions, so it has been nice to work on a project with this much UI. Currently, I believe the UI could be even better, but most of my time has been spent programming for this project.

Logo & Sound Design

While primarily a programmer, I am also an artist. For artwork, I specialise in lower-fidelity mediums like pixel art or low-poly 3D work. For this project, I made the logo for our team, and for the game itself. I also had a lot of experience with sound design from my experience with Contact Park, so I created the music and some of the sounds for this project. I also downloaded and manipulated CC0 sounds from freesound.org to fill the gaps.

Game Logo

Team Logo