i genuinely think vampire survivors / autoshooters are great since there's a lot of stuff in there that you'll encounter fairly regularly in games. i'm terribly biased since i 've been making games for forever now, but if i had to guess / break it down:
- getting stuff to draw on the screen. the top of the mazlow's video game pyramid
- motion and getting your guy to move around. the second tier of mazlow's video game pyramid
- multiple objects : what is a 'unit'? what is a 'enemy'? what is a 'bullet'?
- input and firing stuff on a cooldown. bonus lesson: seeing one million objects generated per second because you made it spawn every frame
3a. brief detour into trignometry land to have enemies track the player as well as the industry wide refusal to standardize around radians vs degrees - collision detection (simple). bonus sidebar here for O(n) problems and what happens when you check the position of a thousand bullets against a thousand enemies by brute forcing it
- ui elements like a HUD and a scoring system
- playing sound and layering sound effects
then there are bonus objectives like making the UI for a choose-one-of-three upgrade system, math involved in doing things like holy bible orbits, game over states, writing high scores to persistent storage, particle systems and VFX, optimization problems and so on
