Search code examples
opengl3ddirectxgame-development3d-modelling

3D plane/map: model versus native code?


I'm curious as to how games are written. For those who have a better understanding of how the latest-title, real-world games are written...

Are 3d planes(?)/maps/grounds of a level created in 3D programs then just imported & loaded into the code IDE, or are they ever generated completely via the developer & in code? Why would 1 be advantageous & preferred over another?


Solution

  • Terrain generation is highly dependent on the game's requirements, not necessarily on the advantages and disadvantages of a particular generation method. There are essentially three categories of approaches which are widely used, which may be combined for a final solution:

    • Modelled in DCC tools (potentially using terrain generation plugins), and imported into the game engine. Only games that use 'fixed' terrains can use this method. It is certainly the easiest to implement, as generally it doesn't require any special code (in terms of rendering) than other assets.
    • In-engine modelling tool for terrains, for example UE4's terrain editor (https://wiki.unrealengine.com/Landscape_-_World_Machine_perfect_integration). The type of game terrains this can be used for is highly dependent on the tool's features.
    • Code-driven generation of terrain. This is generally the most work to implement. However, it might be the only choice for terrains that must be generated randomly (eg. http://www.firaxis.com/?/blog/single/procedural-terrain-generation-in-sid-meiers-civilization-v), or whose data size would be prohibitive to create with other tools.