Project Description
The project had a large team consisting of ~50 students at Humber College, half programmers and half artists. The goal of our Game Productions class was to have students simulate a larger game production studio, and develop a multiplayer capture-the-flag Unreal Engine 4 game. This meant that professors were mostly hands-off, and had students elected to leadership positions. This project was also everyone's first large-scale team and our first networked game.
The game was inspired by the artist team's design documents they had made the previous year, which described a 1930s setting which had humans and aliens racing to recover an ancient alien crystal. We then adapted this idea to fit our course's criteria and the end result was a 1930s aesthetic multiplayer Capture-the-Flag game, where two teams with asymmetric abilities were fighting over a "neutral flag".
The flag itself starts as separate pieces that must be combined in a central location, with each piece giving points to the team which escorted it. These pieces once amassed turn into the final "main" flag, which when brought to a team's base, ends the round and nets that team a large number of points.
My Roles
I mainly had two simultaneous positions for this project. The first was in "Management", a sort of C-suite/Director/Project Lead style position, and the second was to participate in the development as a rank-and-file programmer within the game-mode & level design team.
​
Our "organization" was generally structured as such:
-
Management (elected top leadership)
-
Team Leads (the best programmer/artist of each team is chosen to act as a sort of Lead Dev + team lead)
-
Regular programmers/artists.
My Management Role:
At the start of the project, we had to organize the various departments and vote on leadership positions. On the programming side of things, I was immediately elected to management, with me acting as the "main" lead. In this role I:
-
Lead the weekly team lead, programmer division, and all-hands meetings.
-
Managed the programming side of development by working with the corresponding team leads.
-
Organized and lead the initial game design process, as the game design documents that we were given didn't fit the project's criteria. This led to many optional all-hands meetings where I got people to discuss and vote on ideas for the core aspects of the game. Then each team got to decide on the details for themselves so that everyone had a say in the final result.
-
I was then relied on as a sort of game director. Because if anyone had questions about the project's design, they would look for me. This was likely due to my role in leading the initial design discussions.
-
I also acted as a main liaison between the programming and art teams.
​
I learnt many things about project management through this project, like delegating tasks, organizing development teams, handling project timelines & delays, and much more. Honestly, it featured both the type of learning experiences I'd assume any sort of project would run and quite a few unique problems that you wouldn't even run into at a large studio! After all, I doubt (and hope) that normal studios don't have to deal with entire teams missing important meetings because they slept in (such is the life of a student lol).
My Programming Role:
I also took part in programming as a regular member of the "Game Mode & Level Design" programming team. And yes this meant I was working under a team lead which I technically managed, but this worked quite well in practice as our roles were clear and I very much respected his work as our Lead Developer (I later joined his Capstone team the following year). In this role I:
-
Developed the "flag" of the CTF game.
-
Worked with the map-art team on the gameplay aspect of the level design.
-
Made fixes/changes to the map relating to collisions/performance.
-
Assisted the source control team since it turned out to be more work than originally anticipated, since many programmers and most artists hadn't used GitHub before, and most of the staff of that team (other than my lead) disappeared without notice.
-
Assisted other programming teams with more advanced UE4 features (like delegates & replication). Since I worked with those features earlier in development as they were core aspects of my work (the flags).