Breach is a fairly unique game. It combines the fast paced splitscreen multiplayer nature of games like GoldenEye with survival and puzzle elements. The short description is that you are on an underwater base and there has been a catastrophic failure. Rooms are flooding at random. You must navigate the base to find a key for the escape pod room, as well as batteries to power the life support in your escape pod. You can collect more than one copy of each item, and use this mechanic to help or hinder your fellow players.
The Code Fish team built an engine from scratch. Built upon component based design and highly modular systems loading. Entire systems could be switched out by swapping DLLs and relaunching the game. Our proof of concept for this was to switch from FMOD to Wwise for our sound system without any additional compilation time (both DLLs were already built). If you would like more information on how this is done, contact me and I would be happy to talk about it more.
My main role for this project was as Producer. At our peak we had twelve members on the team, including 2 artists, a sound designer/composer, 2 game designers, and seven developers. One of the engineers acted as a tech lead and one of the engineers was the vision holder. As the main producer, I utilized both of these people to assist in keeping the day to day operations running smoothly.
The biggest challenge in this project was with ever changing team composition. DigiPen allows students to join and leave teams as they see fit and due to scheduling conflicts we were not able to retain our artists for the life of the project. Luckily all of the engineers on the team have had at least one semester of 3D modeling, so the art assets in the final build are all "programmer art."
The secondary role that I am manned for this project was as a developer. I had a working networking in game before the design shifted to focus on local split screen.
After we moved away from networking for this project, I moved on to assisting in filling some needed gaps. I worked on the message handling system for the game logic sub system, as well as some metric reporting tools used in our grading and a memory debugging system. This debugging system can detect many common errors in memory management, such as: double deleting memory, deleting random (not allocated) pointers, scalar/vector mismatching between new and delete, real time buffer overrun detection of both read and writes, checking for memory leaks on exit, and logging of the number of allocations and the total amount of memory allocated while running.
Additionally, I was one of the primary people responsible for code reviews and keeping Jira updated with current project status.
I was the producer of this game team (12 team members)
I helped integrate agile methods to our workflow
I administered our Jira server
I identified project risks and developed mitigation plans
I set internal deadlines to support our external milestone dates
I performed our cert submission
I was an engineer on this game team
I was the lead networking developer
I worked on gameplay code
I worked on tools
I performed code reviews