I'm a Typescript\C#\Flash developer of regular games (not adult ones).
First I make a working mockup of a game. Start menu, "game" window with just win\lose buttons, gameover\win screens. At this stage it becomes a complete game, so I can add content in the middle, while showing it to anyone because it already has all the necessary UI.
Text messages\buttons\game logic comes first, everything else later. For example, If I had to make Renpy game: I'd write placeholder text messages briefly explainig what happens on the screen step by step like "<MC talks to his sis>" or "You meet <NPC1> on the street" without any graphics. Later, when the game mechanics are working I can focus on renders and proper storytelling. Its easier to change your game or fix problems, when there is no art. For example, changing a few lines of text to add or remove some character from a scene is easier than rendering this scene again.
When you can play your game in "text mode", you can already tell if you like it or not. For regular games, like RTS\FPS, where you have to see something, usually devs use colored primitives(spheres, boxes) instead of detailed animated 3D models.
Remember about screen aspect ratio and touchscreen limitations if you plan to port your game on different platforms later.
General decisions you should make that make your game easier to support:
1 - use Git or any other version control system. It saves alot of time, when you can undo any changes in your project with just one click, or look back in history for months to see what has changed in a specific file.
2 - Have consistent naming scheme for all your variables, functions and files.
3 - Think about organizing your assets in folders, like if you had 10x more of them. They tend to pile up.