Computer games went trough a great development over the past 30-40 years. Initially every game was developed from the scratch, but over time it became clear, that by using an existing game framework a development team can achieve much better quality in a shorter time period. As the speed of the personal computers rised over the decades, the first three dimensional games and 3D game engines appeared. One of the main aspects of a 3D game engine made today is the list of its supported techniques that allow the game developers to achieve their vision. It is also important to support the work of the content creators and programmers as much as possible to reduce the development time.
In my thesis I created a 3D game engine. The visual aspect of the engine is powered by Microsoft DirectX 11 API. This enabled me to integrate complex effects into the engine by the utilization of shaders. These effects include Phong shading, shadow mapping with multiple light sources, Screen Space Ambient Occlusion, render-to-texture, realistic water, normal mapping, parallax mapping, and particle systems. The physical simulation is provided by the NVIDIA PhysX physics engine. The engine runs Lua scripts, that allows game developers, to program their game by only using external scripts.
Finally I evaluated the achieved results, and wrote about further extension possibilities.