In popular computer games released in the last decade, we can often find some kind of terrain providing the basis of the game space. This thesis covers the structure and rendering of tile-based terrains that consist of small rectangle shaped parts. It gives a short introduction about the needs and solutions that affected the development of terrains in the last years from the release of the first tile-based games, when, due to the limits of resources, optimization was one of the most important issues.
Rendering methods of tile-based terrains and technical background information are described along with the introduction and comparison of the traditional heightmap-based and tile-based terrains, their structures, advantages and uses. You can read a short overview about the methods for triangulating terrain geometry, uses of textures and the role of surface normals in lighting models.
Two particular case studies are described, which investigate the tile-based terrain rendering solutions used in two popular computer games. Useful information can be gathered about the game using tools for analyzing closed source software, like PIX for Windows that can log Direct3D calls, and a binary data file editor tool.
The paper introduces the solution of the given task to design and implement a graphical application that loads and renders tile-based terrain in real time using the data of an existing computer game. The application is written in C++. It uses the Irrlicht Engine library, the terrain data and textures of the game Ragnarok Online. You can read an overview about the structure of the Irrlicht Engine, its connection to the application, the considerations during the object oriented design, and the detailed steps of the implementation.
To demonstrate the steps of used optimizations, four different rendering methods were implemented. At the end measurements prove the success of the implemented optimizations. As a result we get an optimal method, which gives a competitive solution on the market of currently available graphical applications for real-time terrain rendering tasks.