Game Development Community

Question: top-down vs. bottom-up design vs. everything else

by Josias Gibbs · in Technical Issues · 12/17/2008 (12:04 pm) · 1 replies

I'm currently in the early stages of working on a large game using TGB, and I'm considering what type of design methodology to use for breaking it down into modules. We have 6 programmers working on it.

From what I've read, it looks like top-down design would be the best way to go for a functional project like a game - but I was curious what some more experienced programmers thought.

#1
12/17/2008 (12:23 pm)
Always start top down unless you want to be mired in a pit of never-ending tweaks, bugs and new "features" that push your completion date so far into the future that you can't see it. There's the old adage: "How can you know when you've arrived, if you don't know where you are going?" With that said, start at the top - Plan what you want to accomplish. Break your coding tasks down into programmer sized layers. Spend a lot of time (I can't stress this enough) defining how the different layers will talk to each other, and what their specific tasks are. What they do, what they provide, and everything else you can possibly think of.
When you are done with that, and only when you are done with that, then you can talk to your programmers. Get them involved, have them hash out any changes to the interfaces, come to a consensus and flesh out all the particulars. A lot will change at this point, but they will have a common framework to base their discussions on, and it will go a lot smoother than if you had introduced them earlier.