if you want to make a game engine, make a game engine
if you want to make a game, do not under any circumstances make a game engine
This is how I ended up writing a really neat trie implementation backed by a custom memory allocator… I tried to write a Boggle clone
Putting together a “fantasy console” or a game engine is a great exercise for experimenting with ideas for what a programming language and/or its surrounding environment can look like. And “nice to write Tetris in” is a more practical goal to attain than the “nice to write absolutely any kind of program and possible to use at any scale” ambitions that mainstream platforms tend to get mired in