About three-dimensional procedure virtual spaces
Michael Khrebet, H. M. Kodola, Inna Serbulova · Bulletin of the National Technical University «KhPI» Series New solutions in modern technologies · 2019
In modern realities, procedural content generation is one of the most popular and promising areas in the game development environment. Nowadays, a well-executed and well-designed procedural generation algorithm can take on most of the work of creating unique content during game development, or during the game itself. Using procedural generation, you can quickly create a set of unique objects. There is a wide variety of various procedural generation algorithms, each of which has its pros and cons, and is best suited to a specific type of task. This article focuses on algorithms that can be used to create a three-dimensional game level, which will significantly reduce the time for creation of such levels, and will also increase the uniqueness of each generated level. As an example, in the text of the article, five existing algorithms of procedural generation are described, which in one way or another makes it possible to generate a three-dimensional game level. The ultimate goal was to find the optimal procedural generation algorithm that will satisfy the main selection criterion – the creation of a full-fledged game level with landscape and objects, which does not need further refinement. At the moment, there aren’t many games that successfully use procedural generation algorithms to create a full-fledged three-dimensional game world – the most famous games are Minecraft, No Man’s Sky and Deep Rock Galactic. The final result of the study was to find the most acceptable procedural generation algorithm with which it is possible to generate unique game levels in real time. The main requirement for an algorithm was the lack of the need for further work with a created level, because the use of this algorithm is planned primarily for a variety of gameplay and creation of a larger element of randomness. As a result, the best one was the algorithm for dividing a level into sectors, due to the fulfillment of the main condition, as well as the possibility of programming several conditions.