Beyond Engineering
- Nate Herbst
- Jun 12, 2019
- 2 min read
Even in my senior year of college, I have rarely been a part of large group projects. Part of my learning curve on Spacial Delivery how to cater to both designers and other programmers.
When working independently, it is so easy to throw in a design pattern or code structure in an effort to solve a problem and then rapidly move on, but when working on a team I found that code that I wrote could quickly become confusing both to myself and my colleagues. One of the biggest time wasters on the project was trying to debug the state machine I wrote to control the game loop for each level. Because so many other systems were build on top of it, any flaw could cause the game to produced undefined behavior that was difficult to trace. Once I found yet another bug in my system, I realized I had to sit down and relearn my design to fully understand the source of all the errors. After a small redesign, we were bug free.
Working with a team of designers was completely new for me. Early on, I underestimated the difference in our abilities and I gave them code that was perfectly operational, but required a deeper level of technical knowledge to use effectively. As the project progressed, I began to tailor my code for my audience, providing a more limited range of values for variables and eventually packaging my code into prefabs for ease of use. Eventually, I started producing placeholder designs and implementing features that I knew would have to be in the game but were easier for me to start and finish and have a designer look at and give notes on.
My biggest take-away from this project was the time I wasted. I never again want to sit in a classroom for three hours trying to figure out why our version control system is spitting out random code or having a design conversation that could easily be solved by taking initiative. Time is valuable and by taking steps to maximize productivity and efficiency, I can sleep at night not worrying about tomorrow's crisis and be a part of a better, happier team.
留言