I don't recommend building a generic engine or anything.. I start with putting a window on the screen, capturing player input and from then on I focus on the core game itself. The entire code base is the game, there's no engine unless you consider the game an engine.
Would I recommend this for building a AAA game and targeting 12 platforms? Probably not. If you're dabbling with game development then I think it's an incredible way to learn a lot while building up a skill set that is transferable between projects.. plus you won't get the rug pulled out from under you like Unity just did :)