I am making a simple 3D Strategy game resembling Starcraft and Warcraft 3. For this game I want to develop a terrain editor. I want my terrain
editor to have the same functionality as the Warcraft III terrain with which I can create terrain like that in the picture below.
This is an example terrain created with the Warcraft III Editor. I did some research and managed to find some information on how the editor works.
The Warcraft III Terrain editor is tile based. Each tile can have its own texture, as well as different height for each of its four points. The are two major tile types. Normal (flat) tiles which are just a plain heightmap, and cliff tiles which are composed of complex geometry.
Before I start building the terrain editor I started thinking about the different aspects of such an editor and found my self with a few questions:
1.) The whole terrain will be represented by a single Vertex Buffer. This buffer will be recreated every time the camera moves and contain only the visible vertices of the terrain. is this possible and will it pull too much strain on the video card? What are other possibilities? Should I use LOD for a 3D strategy game which has a top-down view tilted 45 degrees on the Y axes? (Like the picture)
2.) I will create a single large texture for every terrain type. (Grass, Stone, etc...) and then use alpha maps to blend them together and apply over the terrain then use another texture with multi-texturing to add detail. Is this a good solution? Will I be able to achieve good quality texturing if I build a big texture for the whole terrain? Is it better to create many small textures? Should I devide the terrain into small parts each having its own textures and vertex buffer and then just do a simple check of the position of the camera to remove the non visible parts of the terrain?
3.) How will I be able to achieve square hills like the picture? What I am thinking of using is having a quad of the terrain, which are parts of hills do be subdivided and then displaced using a heighmap texture ( to make the hill look like there are rocks sticking out). Is it better to just create a mesh for a hill (tillable) and then where there's a hill I simply render the mesh ontop? What other possible ways are there?
I think that's all. I hope someone can answer my questions
Thank you for your time!