Recently we have formed a team and started developing a strategic game. We all are in IT industry for some time but it is first time when we are developing a game. The reason I am writing this post is that we want to hear an opinion about architectural decisions we have made from people who are game industry professionals.
First I give a screenshot so it would be easier to understand what I’ll be talking about: https://skydrive.live.com/?cid=AC26DC9D4B0CE3E5&id=AC26DC9D4B0CE3E5%212005&v=3
Basically we to develop a huge hexagon based map which would contain cities, roads, woods, etc.
This is how we have approached the problem till now: we have divided the whole map into regions (currently 20x20 tiles). Each region is represented by region object. We have used quad trees to determine which regions are on screen at the moment. If the region gets to screen for the first time, it gets loaded asynchronously – terrain geometry is generated based on map tiles (we have decided not to save terrain geometry on disk because it would take a lot of space), roads, territory markers are generated and everything is placed to region object including vertex buffers and other data needed to latter render the region.
Whole generation of objects is done by updater objects, which get regions passed, do the generating stuff and places generated data on region.
When something changes in map, e.g. new city is added, updaters get regions passed which are involved in update, generate data with changes and places it to region object.
There is a set of renderers, which get list of regions to render and draws them on screen based on data placed in region objects.
So, my questions are: is this similar to the techniques game developers approach that kind of problems? If not, then how usually people approach them? Are there any flows you may notice in such design?