Hi, I have absolutely no idea where to put this. I don't think it really belongs in the lounge, but it doesn't really feel like it belongs in programming either (which is almost where I put it).
I've been wanting to make a game/engine for a while, and rather than continue to make excuses to myself like I have for the last 9 months (blah blah, new job, too tired, game just came out, blah blah), I decided to stop pussyfooting around and just do it. However, over this long period of time, I've found that I've spent most of my time thinking about one thing in particular. While not terribly pertinent to the question, that thing has been resource management (asynchrony, caching, hot-loading, and various other features). The amount of detail I've put into the API and design of this one thing got me thinking of a question:
When doing this sort of thing, do you guys usually design/implement an engine depth-first (large, complex subsystems relatively fleshed out before moving on) or "breadth-first" ("minimum viable" subsystems to get a big-picture thing running)? I can see advantages to both. It's not something I'm going to agonize over, since I've learned better than to fret over the small stuff, but it's made me curious. It's not strictly an engine question either I guess, as it really applies to anything that's a loose collection of major systems.