Earlier during the semester I put together thoughts regarding the state of the semester. I would like to proclaim that the state of the Hostile Territory team has improved since that time. The Hostile Territory team consists of five producers, five engineers, three technical artists and two artists. Weighing in at fifteen people the team is large. The team has experienced growing pains due to size. Overall, the team is in a better place than the start of the semester. I will now detail the journey provided by the semester.
I had sworn off large teams when I left Retro Yeti in late June 2014. Retro Yeti, at that time, suffered from a culture that focused on last minute heroics toward a goal discussed by leads in closed meetings. I attributed the problem to large teams and left to form a new team. The goal was to get two producers, four engineers and two artists on the team. The new team formed with only three people. As a new team we built four prototypes. The prototype Roller ended up going on to the “Utah Game Wars” competition as a finalist and is now submitted to the “Independent Games Festival”. Overall the summer prototyping session was a success, however when the semester began it was apparent that the fifth team would not form.
I decided to enjoy the success of Roller and let go of the creation of a fifth team. The first day there was a meeting about team formation. Other people had left their original team, but instead of joining the fifth team, went to safer teams. I spoke briefly with Jose and Ryan regarding my situation and speed dating teams was mentioned, so I set off to find a team. I worked with Rody and Rob on Reflex Speed in the spring and decided it would be a good idea to join the Hostile Territory team. I asked to join the team and was welcomed. The talk of the team was switching from Unreal Engine 4 to Unity. I decided that I would be a good team member and keep my efforts to building whatever unassigned tasks were deemed important.
The engineers had a first meeting regarding getting a Unity build up and working. I chose to do networking with George. There were synchronization issues in the build from last spring. I looked over the network code George had and realized that the connection being used was UDP peer-to-peer. While fast, a UDP peer-to-peer connection is not synchronized by design. George and I talked and came to a conclusion that we needed a client – dedicated server system to ensure synchronization. The game should run on the server with each client sending remote procedure calls to their character to ensure shooting was synchronized.
I was working on a client – dedicated server system in the first week. I had movement working for more than one client using remote procedure calls when Triston, the engineering lead, asked me to leave networking behind in favor of split screen. Triston asked me to start work on a third person controller. I started work on the controller and was later asked if Ron helped on the controller if that would help. Ron and I began working on controllers. As Ron and I started to work together it became apparent that we were very different engineers. Ron spent time building up interfaces that every controller should use. I spent time building a controller that could wall walk.
During the second or third week the term re-architecting started being thrown around by Triston and Ron. The code that had been written for the game was seen as inadequate and was being rewritten in a less “hacky” way. I was mortified. The Hostile Territory team seemed to be doing well, but the re-architecting with leads looked, smelled and walked like the problems from Retro Yeti. Engineering became stagnant for the end of September as the new architecture was being developed. Attitudes on the engineering team went from fun to fear. Shelwin started work on a weapon system that was compartmentalized from the new architecture. I kept myself busy working on the wall walking movement controller. I vocalized my distaste of the re-architecting process. I started to let my 9 AM to 1 PM schedule for Hostile Territory slip since the new architecture was up in the air. Other engineers were biding their time waiting for the release of the new architecture.
The new architecture was released. I updated the wall walking controller to meet the interface needs of the new architecture. There were still bugs with the wall walking controller. Triston told me to remove wall walking and get the controller into the game. I cobbled together a solution to get the controller into the game without wall walking. The solution worked, but had problems. Over the weekend Ron released the controller he built in combination with the architecture and it was better than my controller, so we moved forward with Ron’s controller. I brought attention to the wasted effort from both Ron and I in developing separate controllers and asked production for help. My moral tanked and I was unable to put my finger on any part of the project that was mine. Ron and I started working on understanding our differences and the strengths and weaknesses of both of our approaches. Ron and my competition started to become a mutual respect.
I changed gears and started working on bug fixes. I spent time between bug fixes working on the wall walking controller. I was able to fix a significant issue with yaw rotations beyond 90 degrees in either direction causing undefined movement. I made strides with the wall walking controller and was working on getting the controller to work in environments with noisy surfaces. Production didn’t have a specific task for me. As a result I had extra time to work on wall walking, when not fixing bugs for the IGF build, since the feature still came up as good for the game.
I was working on two games for IGF. I spent the morning with Hostile Territory and the evening with Roller. Luckily the engineering classes gave extra time on due dates around IGF since I spent all my time working on Hostile Territory and Roller. Hostile Territory was submitted on the Thursday before Halloween. Roller was submitted on Halloween. I was running on little sleep and took the weekend afterward off to recuperate after the IGF submissions.
The team played the IGF submission and came to a consensus that the game was not fun. I stated the game we submitted was the same game we started with except with a new cave level. During the process of building the IGF submission the team was informed that iteration would occur afterward. The team pushed for prototyping. There was backlash from production, but the team was able to get a prototyping phase approved. As an engineer I am strong at prototyping and decided to take on three prototype ideas. The first idea was from our artist Mark and involved blowing up minions to remove tiles. The second idea was a play upon Mark’s idea involving non-permanent toggle removal of tiles like a light switch. The third idea was Peijun’s musical chairs where players had to move to their own territory on a timer or fall. I was able to prototype the first and second idea. Peijun finished the third idea a week later. As a team we presented six prototypes to Jose and Ryan. The detonate and light switch prototypes were selected to move the design forward. Both included the wall walking controller. A major selling point for the new prototypes was clean visuals.
During the last weeks of the semester the team spent time getting a build ready for IGF. I spent the majority of my time jumping helping others with tasks. I have started to solidify my role on the team as a prototype engineer to ensure ideas on the team get a fair trial. I do not have the dread I experienced during the middle of the semester. The team seems to be working together better. Each engineer has organically taken a role to help the team. The roles are not all inclusive of our work, but serve to denote the strengths we individually have brought to the team. The roles I identify are Triston as engineering manager, Saumya as GUI engineer, Ron as architecture and systems engineer, George as build engineer, Peijun as animation engineer, Shelwin as weapon, sound and shader engineer, Sty as technical artist and myself as prototype engineer.
The engineering team has been gaining steam since the IGF submission. The culture is improving and we can get more work done in less time. We have more respect for each other than when we started. With the success of prototyping I would like to continue to provide engineering expertise to move the design forward. If anyone on the team has an idea to move the design forward, after talking to Rody, I would love to build the design to allow the team to give the idea a fair trial.
Moving forward I will be addressing issues with the camera and wall walking controller. Re-architecting has prevented the team from building some of the suggestions from Jose and Ryan. I would like to prototype some of the ideas including a controller where the camera isn’t controlled directly and a fixed camera at either end of the tube. Both ideas have design problems, but deserve a fair trial. I will be working with Rody to find good solutions to design problems with both the light switch and detonate prototypes.