This is the general framework I’ve been following for my recent projects, It’s been extremely effective for me. I used this style of planning for both sno day and eg, along with an unannounced project currently in the prototyping phase
You gotta come up with an idea before you can make something! This phase is where I take the disparate soup of game concepts floating around in my head and try to piece them together into a cohesive idea for a game.
Charging right into creating systems and prototypes sets me up for a messy project at best, and failure plus a lot of wasted time at worst. The best way to avoid that pitfall is to create a design doc! This is where I take that idea I came up with in the concept phase and plan out how it will be a game. You should generally state your intent, gamefeel, audience, systems required, and a roadmap of content. The goal is to create an outline you can refer to throughout the project to ensure you stay on track.
Prototyping, building an MVP
Once you have your design docs in place you can start workshopping the systems and ideas you’ve laid out. The goal at this point is to make a minimum viable product. That is, the very minimum of content and features your game needs to be itself. (You can actually apply this MVP perspective to many individual portions of your project!) Plan things as simply as possible and build out from there. Aim to iterate on your ideas as quickly as possible, finding out what ideas are fun and which don’t work in practice. If you stick to doing things simply, it wont be much work and time lost if some mechanic or feature ends up not being condusive to the main idea of the game. During this phase I create prototypes of the core systems that will make up the game, and then hook them together to create my MVP. While your priority should be creating the core of your game quickly and simply, try to write code you’ll be happy working with well into the project. The goal is to create an MVP you can polish and turn into your final product
After I’m satisfied with my prototype I start refactoring what code needs to be cleaned up, and polishing+improving mechanics/features using insight attained from the prototyping phase. This phase should be where you add the majority of your games content. After reaching an acceptable level of polish the game is released.
Addendum: Idk how I forgot to mention this in the beginning. If you’re wondering what systems and tasks to prioritize, it doesn’t really matter what you get started in first so long as you’re working to that minimum viable product. I tend to start with scripting the core game play systems and ui, then the map, then i polish and enhance from there