For us to actually finish games we need to take a very different approach to those people, which means our games will look and play differently from the games we love, but they will be ours. We need to focus on our capabilities and resources, rather than what we can imagine.
Please understand, the number one threat to your project’s success is you. Especially if you are working on a game by yourself, your ability to finish the game depends on your ability to keep going. We will keep our concepts small, and simplify as many elements as possible. We will also stay motivated and focused on what matters most, by identifying all the technical problems that must be solved for our game to work, and heavily prioritizing the most important features.
We have to be able to measure our progress. One of the biggest challenges of making games is staying motivated and focused. We will do this by clearly defining success, and how we will know that we are making progress.
Lastly, as novice programmers, we are going to struggle to keep our code well written and easy to work on. As our projects grow bigger, we will no longer be able to understand why something isn’t working, or what to do about it. We will avoid ‘technical debt’, as software professionals would call it, by splitting up our work into small units of code that are easy to work with and then assembling them to make our game.
This also makes it way easier to split up work between teammates, because there are clear tasks that need to be completed, and can be assigned to each team member.