When I write a web/database system at work. I have multiple tiers/layers, ie DAL, BLL, UI, Datasets etc. I make these separate sub-projects and when I have an issue the structure usually helps me go straight to where the problem is.

Is there a similar structure that will put me on a good foundation for writing a game in Direct3D (in my case C# 3.0/2008)?

My game (hobby) will start of small, but I have big ideas for it and I'm sure I will get similar issues to those I get at work if I don't start out with the a good underlying structure...

Thank you for any advice...