There seem to be multiple solutions to most problems in 3d gaming
and there you have it.
for almost anything you want to do in games, there are usually at least half a dozen ways, none of which is optimal for everything.
but there are definitely better and worse ways to go about things. much of which is usually game specific.
what you'll need to do, is select a game type, then learn how to do the bits and pieces specific to that game type.
general algos, approaches, and types of data structures will be recurring themes, but each implementation will be unique.
follow a methodology of incremental development.
learn non-game programming skills as needed.
if you can't implement a static array flat file database in your sleep, learn to do so before you write an inventory database module.
muddling through is no way to run a railroad.
i wrote one of every type of app before i started on games. and you really need to know a lot about a lot to do games well.
be prepared for the fact that you'll constantly be learning new techniques. i've been building PC games for 32 years, and still spend as much as 10% of my time in pure research on coding techniques. if you don't like to learn, you shouldn't be building games. constant sharpening of the saw is an integral part of the process.