As always you can join our Discord
A very popular design methodology in the software industry is the agile methodology. The agile method relies on fast iteration whereby you constantly present the client with new builds of the software and get feedback. Using ideas similar to the agile approach, game development can be made much more manageable. I found that my own personal opinions on this topic aligned with John Romero's when he was working on Doom, so check that out if you're interested in further reading.
Remove the concept of prototype
In your mind you should not imagine your game as a prototype. There may be situations where a prototype is appropriate such as game jams or short several week projects, but if you have an idea and are trying to execute or flesh the idea out, prototype is the wrong mindset. Approach the game as a series of iteration which will eventually be polished into a final product. Just like in Agile where you would show your client the product at the end of every sprint, you personal game project will begin to evolve over the course of weeks. With each iteration, the scope and meaning of the game will change and you will be able to adapt.
Modular is King
Write every single system in your game to be as modular as possible. Each system and hookup for systems needs to be as easy to interact as possible. Since you're iterating as fast as possible, you need to be able to hook new systems in to old systems as easily as possible. Exposing all of your functionality through class functions which can be expanded, or modified is the only way to go.
Do not Marry your Concepts
While you may have an awesome vision for your game, you also need to let your game talk to you. Something kicking around in your head for 5 years may not translate so well onto paper. One of the core features that we have in Stouthollow Tales is the ability to customize both your character and your shop. Both of these features were discussed early on and determined to be too much work to be worth it. After iterating several times, we noticed something was missing from the game-play loop: Customization:
If we were married to our original idea, this new feature would not have seen the light of day. The customer system was written in such a modular way, that the system that allowed the user to display items was effortless to hook up.
Overall these ideas are easy to understand. You treat your game more like a living thing, and you adapt as you go. Giving you more flexibility and ability to expand.
This truly is very inspirational. Good job guys.
state defense lawyer