I've been kicking around the idea of doing a 3d game in my spare time, but I am struggling when it comes to actually setting up an application from scratch in such a manner that the different aspects of the application are separated into different projects in my IDE.

I have worked on large C++ applications with multiple projects before, although those were in Visual Studio and not CodeBlocks but it can't be much different, but I've never actually had to setup one of these new projects within the larger application myself and to be honest I'm rather stumped by it.

Does anyone know of any tutorials or books on this subject? I am going to be using CodeBlocks for my development, but I may move to VS2010 if it would prove easier for a large application such as this.

I don't see any way to do that either in Code::Blocks. But it is quite easy with VC++ 2005/8/10. That has an option to add a new project to the existing solution, which is what you want to do.

Well in Code::Blocks you can create new projects and add them to the workspace, which is kinda the same as the solutions in VS.

Let me reword my question to be a bit more specific. I think the problem I am having is what do I do for the build paths, linker and compiler settings, etc for each of these projects. And how do I handle includes? As far as I can tell I just include things as normally and mark that other project as a project dependency... correct? Example: Foo.h is in project Foo and I include it in Bar.h and set Foo as a project dependency for project Bar.

why would you want to do that (unless one is a library or DLL)? If foo.h is in both projects then Code::Blocks should recompile both projects when foo.h is changed.