Yeah thats the gist of things, yes you can argue that it might slow general workflow down, but at the end of the day if I want to test AI behavior do I really need all those textures and maps and god knows whatelse you might have as your map/game logic? Look at an example on how StarCitizen is doing it, from looking at their Around The Verse videos when they show the teams working on different aspects of the game, all developers are using the base code of the current dev build but run their own test maps to test out their own specific things they are working on, in GIT essentially on their own branch. Then once a feature is ready for implementation it gets implemented into main dev branch, then handed to QA to test, then back to bug fixing, then tested again until fully working as per SCOPE, and then merged with main branch and deployed to all others as base.
Remember this is very simplified. But you get the idea. And YOU are the one who knows what is required or not by that specific module. Thats why a good and well commented Design Document is of utmost importance, even more important the bigger your project goes. So ultimatively you are the one deciding what can be developed outside of main project and then later merged into it.
Here is how I do things:
Prototype -> test -> fix -> test -> merge into main dev -> test -> fix -> test -> publish onto master — rinse and repeat until all features are implemented
Yes this might take more time at the end but at least you have a clean flow and testbeds for certain things later on which you can now extend.
The network game I am working on at the moment is getting quite big with all the subsystems and functions in place that I am currently sitting at around 1-5min compile times with quite a beefy PC. So it is something that unfortunately you’ll have to endure through I am afraid. Get side activities at the ready or go for some fresh air while compiling etc Nothing beats a fresh breeze.
And the above doesn’t just apply to game programming, these are workflows you can utilise for all sorts of projects.
Hope this helps