The first two weeks of this Capstone course focused heavily on planning out our projects, down to the smallest detail. While I understand the benefits of planning everything from A to Z, I also realize that unpredictable events will occur along the way. No product is perfect on the first iteration, and no project goes 100% according to plan.
Every day I try to watch at least one YouTube video that relates to computer programming, software development, or cybersecurity in some way. Today I watched a video by Game Maker’s Toolkit that discussed how game designers solved problems that came up in playtesting. One quote that I loved was from Wyatt Cheng who worked for Blizzard on the development of Diablo III:
“We weren’t totally thrilled with this solution as we were putting it in, but we did it anyway. We knew that even though this might not be a solution that we’re willing to ship with, it was something that was going to teach us a lot more about the problem.” – Wyatt Cheng
I think this statement is a great approach to problem solving and hits on a point that a lot of people (myself included) oftentimes miss. Step 1 to solving a problem is identifying the problem. Once you think you have discovered a problem that needs to be solved, come up with a solution, try the solution, and see if the problem really was what you thought it was. The video shows how Cheng and the Blizzard development team iteratively tried different solutions, until they identified the true problem they were trying to solve.
I highly recommend giving this video a watch, it is only 15 minutes long and provides great insight for any field of software development, not just game development.