research

About three-dimensional procedure virtual spaces

Abstract

В современных реалиях процедурная генерация контента является одним из наиболее востребованных и перспективных направлений в среде разработки игр. В наше время качественно выполненный и хорошо продуманный алгоритм процедурной генерации может взять на себя большую часть работы по созданию уникального контента во время разработки игры, или же во время самого игрового процесса. С помощью процедурной генерации можно в кратчайшие сроки создать набор уникальных объектов. Существует большое разнообразие всевозможных алгоритмов процедурной генерации, каждый из которых имеет свои плюсы и минусы, и лучше всего подходит к определенному типу заданий. В данной статье речь пойдет об алгоритмах, которые могут быть использованы для создания трехмерного игрового уровня, что позволит значительно сократить время на работу по созданию таких уровней, а также позволит повысить уникальность каждого сгенерированного уровня. В качестве примера для ознакомления в тексте статьи изложено пять существующих алгоритма процедурной генерации, которые так или иначе позволяют сгенерировать трехмерный игровой уровень. Конечной целью является нахождение оптимального алгоритма процедурной генерации, который будет удовлетворять главному критерию отбора – создание полноценного игрового уровня с ландшафтом и объектами, который не нуждается в дальнейшей доработке. В данный момент существует не так много игр, которые успешно используют алгоритмы процедурной генерации при создании полноценного трехмерного игрового мира – к наиболее известным играм можно отнести Minecraft, No Man’s Sky и Deep Rock Galactic. Итоговым результатом исследования стало нахождение наиболее приемлемого алгоритма процедурной генерации, с помощью которого можно в реальном времени генерировать уникальные игровые уровни. В качестве основного требования к алгоритму выступало отсутствие необходимости дальнейшей работы с созданным уровнем, потому как использование данного алгоритма планируется в первую очередь для разнообразия игрового процесса и создания большего элемента случайности. В результате фаворитом оказался алгоритм разделения уровня на сектора, ввиду выполнения им основного условия, а также возможности программирования нескольких условий.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 focuseson 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’tmany 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

    Similar works