Avoid theory.
The easiest thing to do is to determine which âscreensâ youâll have. Like, title screen, gameplay screen, menu screen, game over screen, victory screen, continue screen, etc. and code up the logic for switching between all the screens. When does the game start? What variables determine game over? How do you win? Write that up in variables and use key inputs to trigger things to happen, like press âkâ to kill the player, etc. Construct a basic skeleton for your game. Then, start fleshing it out by adding more features. Then make it look a little nicer. Then test. Then add features. Then make it look nicer. Then test. With luck, your game will take shape and you will like it.
If you start with the underlying details first and work up to the presentation, youâll save time and have less bugs.
The worst thing to do is hit the presentation layer first, get a working game loop running and then test/tweak/test/tweak until itâs fun. When you do that, you leave the underlying details in a state of uncertainty⌠which means youâre working on the graphics but you donât know what game youâre making. Which means, lots and lots of testing extremely early in the process, followed by repeated major changes to the core gameplay, followed by bugs and fixes, followed by soul searching (why isnât this fun?), followed by development hell and, if you donât quit, youâll have a game on your hands⌠but it might not even be a game you meant to build.
So, recap⌠start practical, detail oriented, focus on the things that wonât change much/at all early in the process and then iterate over and over, gradually building it up. Youâll have more control over the way your project is going this way, and less likely to get stuck 100 hours down a rabbit hole.
Good luck and remember, you can always ask for help once you get started.
Sources: Experience, hundreds of hours I can never get back.