Розроблення ігрового рушія для 3D ігор

Loading...
Thumbnail Image

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Національний університет "Львівська політехніка"

Abstract

Розробка ігрових рушіїв є ключовим аспектом сучасної індустрії відеоігор, яка, за прогнозами експертів, продовжуватиме стрімко зростати у 2025–2027 роках завдяки технологічним інноваціям та зростаючому попиту на високоякісну графіку. Сучасні рушії, такі як Unreal Engine та Unity, використовують модульну архітектуру для забезпечення гнучкості, але створення власного рушія дозволяє досягти повного контролю над рендерингом та оптимізацією. Актуальність теми полягає в необхідності створення доступних інструментів для розробки ігор, які можуть бути адаптовані до потреб різних користувачів – від студентів до дослідників. У даній роботі проаналізовано сучасний стан технологій створення ігрових рушіїв, зокрема архітектурні патерни провідних платформ, таких як Unreal Engine, Unity та Godot. Сформовано вимоги до модульної архітектури, спроектовано ключові компоненти рушія: Developer, Scene, MaterialSystem, Renderer3D та RenderableGroup, які забезпечують гнучкість і продуктивність. Реалізовано рендеринг із використанням технологій PBR та IBL, що базуються на принципах фізично базованого рендерингу, описаних у спеціалізованій літературі. Проведено тестування продуктивності на сцені Sponza з використанням RenderDoc, яке показало стабільну роботу рушія з частотою 333 FPS та використанням 1.2 ГБ пам’яті на апаратному забезпеченні NVIDIA RTX 2060. Об’єктом дослідження є ігровий рушій із модульною архітектурою, що забезпечує ефективну обробку графіки. Предметом дослідження є розроблення та оптимізація модульного ігрового рушія з підтримкою сучасних технік рендерингу. Метою роботи є створення ігрового рушія, який забезпечує гнучкість архітектури та ефективну обробку графіки для різних користувачів. Новизна дослідження полягає у створенні модульного підходу до архітектури рушія, який дозволяє динамічно перемикати рендер-пайплайни (Forward та Deferred Rendering) та оптимізувати продуктивність через групування об’єктів, що підтверджується аналізом сучасних технік рендерингу. Практичне значення одержаних результатів полягає в розробці універсального інструменту для створення ігор. Студенти можуть використовувати рушій для навчальних проєктів із симуляцією освітлення в реальному часі, інді-розробники – для створення прототипів із процедурно генерованими матеріалами, а дослідники – для тестування нових технік рендерингу, таких як IBL чи оптимізація ECS, що відповідає сучасним тенденціям у комп’ютерній графіці. У майбутньому рушій може бути розширений для підтримки анімації та фізичних симуляцій, що дозволить створювати складніші інтерактивні сцени. Такий підхід відкриває можливості для інтеграції рушія в освітні програми з геймдеву та дослідницькі проєкти з комп’ютерної графіки.
The development of game engines is a key aspect of the modern video game industry, which, according to expert forecasts, is expected to continue rapid growth in 2025–2027 due to technological innovations and the rising demand for high-quality graphics. Modern engines like Unreal Engine and Unity utilize modular architecture to ensure flexibility, but creating a custom engine allows for complete control over rendering and optimization. The relevance of this topic lies in the need to develop accessible tools for game creation that can be tailored to the needs of various users, from students to researchers. This work analyzes the current state of game engine development technologies, including the architectural patterns of leading platforms such as Unreal Engine, Unity, and Godot. Requirements for a modular architecture were defined, and key engine components were designed: Developer, Scene, MaterialSystem, Renderer3D, and RenderableGroup, ensuring flexibility and performance. Rendering was implemented using PBR and IBL techniques, based on principles of physically based rendering described in specialized literature. Performance testing was conducted on the Sponza scene using RenderDoc, demonstrating stable engine operation at 333 FPS and 1.2 GB of memory usage on NVIDIA RTX 2060 hardware. The object of the study is a game engine with a modular architecture that ensures efficient graphics processing. The subject of the study is the development and optimization of a modular game engine with support for modern rendering techniques. The aim of the work is to create a game engine that provides architectural flexibility and efficient graphics processing for various users. The novelty of the research lies in the development of a modular approach to engine architecture, enabling dynamic switching of render pipelines (Forward and Deferred Rendering) and optimizing performance through object grouping, as supported by the analysis of modern rendering techniques. The practical significance of the obtained results lies in the creation of a versatile tool for game development. Students can use the engine for educational projects involving real-time lighting simulation, indie developers can create prototypes with procedurally generated materials, and researchers can test new rendering techniques, such as IBL or ECS optimization, aligning with current trends in computer graphics. In the future, the engine can be extended to support animation and physical simulations, enabling the creation of more complex interactive scenes. This approach opens opportunities for integrating the engine into educational programs in game development and research projects in computer graphics.

Description

Citation

Дворичанський О. С. Розроблення ігрового рушія для 3D ігор : кваліфікаційна робота на здобуття освітнього ступеня магістр за спеціальністю „6.122.00.00 — Комп'ютерні науки“ / Олег Сергійович Дворичанський. — Львів, 2024. — 80 с.

Endorsement

Review

Supplemented By

Referenced By