Or, we
want to make a game, but we
also want to make the base a reusable game engine, so we can later make another game with it, and this way we can also make simpler tech demos on the way to impress our friends (real or on social media), and because of that we need to do this properly, and wait I remember the Virtual File System in StarCraft was fascinating to me as a kid, let's do something like it, and wow did you see this new ambient occluding path traced cube marched screen space voxel protrusion demo, I absolutely need to implement this for my game, and...
... this is how you end up making three skeletons of a game engine and never making that game itself, before running out of childhood and having to switch to doing webshit for a living to pay for mortgage.
Ask me how I know.