[ad_1]
Introduction
As the capstone for the Game Development Specialization for Computer Science majors at Indiana University, I have been working as a Systems Programmer and a Project Manager at Crystalline Games LLC. The company was formed as part of the program, and the capstone/goal of the develop a game from concept to release by the time you graduate. Every team needs proper communication and cooperation, whether it is a massive AAA studio or a small studio of college students who aren’t even getting paid to make the game. As my time with the team lengthened, I took on more managerial responsibilities in alignment with my skills. In this post, I will review some key experiences I learned during this time. As of now, December 2023, the project is still ongoing, so I may come to learn even better ways to help the teams I am part of work together and become efficient.
Balancing Management and Programming Work
As part of a small team, my role consists of both programming and team management. I work alongside the producer/lead programmer to help delegate programming tasks each week. I also am responsible for the majority of code branch reviews. As a student, there is limited time each week to work on the game, so balancing the management and programming tasks I have each week is vital. Communication plays a key role in this balance. Since I am not the only person who can perform these tasks, I work with the lead programmer each week to get help when needed for them. This is the first buffer to issues with time management for completing tasks for both my roles. If that is not an option for a particular week, the next choice is to prioritize development over review and management tasks. Our game is yet to arrive at an MVP (Minimum Viable Product) status, so we prioritize developing the minimum level of content first. There will be other weeks with extra time available for either me or the lead programmer to complete the management and review work. Depending on the state of your game and the size of your team, you may need, or not need at all, different ways to balance multiple roles and tasks for each week.
Learning What to Expect From Co-Workers
Especially on an unpaid project with college students, everyone will have a different level of dedication and time available for the project. With this in mind, it is important to keep track of the types of tasks each member struggles with and excels with, and how often people are over/under estimating the work they can complete each sprint. The better aware you are of who is good at what, the easier it will be to delegate tasks without issues. It is also good to keep in mind what parts of the code and systems the person knows well or has been continually working on. The fresher the details of the code, the easier it is to work with.
Another important thing to be aware from co-workers is the level of communication they provide. Some people need to be directly and explicitly told how and what they need to communicate, or they will not communicate at all. Some people will communicate all their work enthusiastically. Communication is a key component to all team work and even small updates on the timeline of workflow can help with project management. The sooner you can be aware of issues, the sooner they can be resolved or worked around.
Learning what to expect from your co-workers will help team management run smoothly, and will help prevent issues before they ever happen, especially in small team environments where there is less room for error or overlapping work.
Ask For Help!
This is pretty straightforward, don’t be afraid to ask for help from your co-workers! Ask for help as early as you think you may need it. Asking for help is beneficial in two ways, it communicates a potential problem to managerial roles, and it can also get the potential problem solved quicker than it would with asking. It’s quite common to hear “nobody can do everything on their own” and that’s true. That is why we are on a team in the first place. A new mindset helping brainstorm ideas is one of the best ways to problem solve. If team members aren’t available, there are forums like Stack Exchange, or even game developer discord channels where you can ask for help. Many times, whoever you ask will be willing to help, because you are a team or a member of the community, so it never hurts to ask for help. It will make everything run smoother.
Conclusion
The operation of an efficient game development team is extraordinarily difficult to balance. These are a few key factors I have found influence the operations the most. As long as someone on the team can be in charge of managing these communication and coordination worries, the team can operate smoothly.
[ad_2]