Розробка 2D-гри з інтерактивними механіками створення та руйнування ігрового середовища

dc.contributor.authorФаткулін, Валерій Валерійович
dc.contributor.authorFatkulin, Valerii
dc.date.accessioned2026-03-26T08:28:15Z
dc.date.issued2025
dc.descriptionНауковий керівник : Рогов Андрій Володимирович, кандидат технічних наук, доцент кафедри інформаційних технологій та математичного моделювання
dc.description.abstractОб'єктом дослідження є процес розробки інтерактивних 2D-ігор з використанням мови програмування Java. Предметом дослідження є методи програмної реалізації ігрових механік, зокрема фізики 2D-платформера, системи анімації, обробки вводу та управління станами гри за допомогою стандартної бібліотеки Java Swing. Метою роботи є дослідження, проєктування та розробка програмного прототипу 2D PvP гри з елементами будівництва та захоплення точок. Для досягнення поставленої мети в роботі вирішено такі завдання: 1. Проведено аналіз предметної області та існуючих ігор-аналогів у жанрі 2D PvP платформерів для визначення ключових вимог до проєкту. 2. Обґрунтовано вибір технологічного стеку (Java, Swing) та спроєктовано об'єктно-орієнтовану архітектуру гри з використанням патернів проєктування. 3. Розроблено програмну реалізацію ігрового циклу та системи управління станами гри. 4. Реалізовано фізичну модель руху персонажів, систему виявлення зіткнень та механізми обробки введення для двох гравців. 5. Впроваджено специфічні ігрові механіки: фазу будівництва руйнівних платформ, систему стрільби та логіку захоплення контрольних точок. 6. Інтегровано графічні ресурси та розроблено систему спрайтової анімації персонажів. 5 7. Виконано тестування розробленого прототипу. У роботі обґрунтовано вибір технологічного стеку Java 21 та Swing, проаналізовано існуючі ігри-аналоги (Таблиця 1.1) та спроєктовано об'єктноорієнтовану архітектуру (Рис. 2.1) з використанням патернів проєктування, таких як «Стан» (State) та «Фабричний метод» (Factory Method). Практична частина демонструє ручну реалізацію 2D-фізики платформера, включаючи метод розділення осей (AABB Separation) та покращення керування («Coyote Time», «Jump Buffering»). Розроблено надійну систему обробки одночасного вводу для двох гравців («Stateful Input»). Реалізовано ключові ігрові механіки: фазу будівництва (з процедурною генерацією «скляних» платформ), систему стрільби та руйнування, логіку захоплення точок та підрахунок очок. Інтегровано графічні ресурси, включаючи систему анімації зі спрайт-смуг та завантаження рівнів з текстового файлу. В результаті створено повноцінний ігровий цикл (меню, фази гри, екран завершення). У Розділі 4 проведено тестування функціоналу та аналіз продуктивності. Робота підтверджує, що бібліотека Swing є дієвим інструментом для швидкого прототипування ігрових механік з нуля.
dc.description.abstractThe object of the study is the process of developing interactive 2D games using the Java programming language. The subject of the study is the methods of software implementation of game mechanics, in particular the physics of a 2D platformer, animation systems, input processing, and game state management using the standard Java Swing library. The aim of the work is to research, design and develop a software prototype of a 2D PvP game with elements of construction and point capture. To achieve the set goal, the following tasks were solved in the work: 1. An analysis of the subject area and existing analogue games in the 2D PvP platformer genre was carried out to determine the key requirements for the project. 2. The choice of technology stack (Java, Swing) was justified and an objectoriented game architecture was designed using design patterns. 3. The software implementation of the game cycle and the game state management system was developed. 4. A physical model of character movement, a collision detection system, and input processing mechanisms for two players were implemented. 5. Specific game mechanics were implemented: a destructive platform construction phase, a shooting system, and logic for capturing control points. 6. Graphic resources were integrated and a character sprite animation system was developed. 7 7. The developed prototype was tested. The work justifies the choice of the Java 21 and Swing technology stack, analyses existing similar games (Table 1.1) are analysed, and an objectoriented architecture (Figure 2.1) is designed using design patterns such as State and Factory Method. The practical part demonstrates the manual implementation of 2D platformer physics, including the AABB Separation method and control improvements (‘Coyote Time’, ‘Jump Buffering’). A reliable system for processing simultaneous input for two players (‘Stateful Input’) has been developed. Key game mechanics have been implemented: the construction phase (with procedural generation of ‘glass’ platforms), the shooting and destruction system, the logic of capturing points, and scoring. Graphic resources have been integrated, including an animation system with sprite strips and level loading from a text file. As a result, a complete game cycle (menu, game phases, completion screen) has been created. In Section 4, functionality testing and performance analysis were carried out. The work confirms that the Swing library is an effective tool for rapid prototyping of game mechanics from scratch.
dc.identifier.citationФаткулін, Валерій Валерійович. Розробка 2D-гри з інтерактивними механіками створення та руйнування ігрового середовища : кваліфікаційна магістерська робота : спеціальність 122 «Комп’ютерні науки» : освітня програма «Комп’ютерні науки та інформаційні технології в бізнесі» / В. В. Фаткулін ; кер. роботи А. В. Рогов. – Харків : Харківський національний університет імені В. Н. Каразіна, 2025. – 62 с.
dc.identifier.urihttps://ekhnuir.karazin.ua/handle/123456789/25168
dc.language.isouk
dc.publisherХарків : Харківський національний університет імені В. Н. Каразіна
dc.subjectTECHNOLOGY::Information technology::Computer science
dc.subjectJava
dc.subjectSwing
dc.subject2D гра
dc.subjectплатформер
dc.subjectPvP
dc.subjectігровий рушій
dc.subjectфізика
dc.subjectAABB
dc.subjectрозділення осей
dc.subjectанімація
dc.subjectпатерни проєктування
dc.subjectмашина скінченних станів (FSM)
dc.subjectбудівництво
dc.subjectзахоплення точок
dc.subjectобробка вводу
dc.subject2D game
dc.subjectplatformer
dc.subjectgame engine
dc.subjectphysics
dc.subjectaxis separation
dc.subjectanimation
dc.subjectdesign patterns
dc.subjectfinite state machine (FSM)
dc.subjectconstruction
dc.subjectpoint capture
dc.subjectinput processing
dc.titleРозробка 2D-гри з інтерактивними механіками створення та руйнування ігрового середовища
dc.title.alternativeDevelopment of a 2D game with interactive mechanics for creating and destroying the game environment
dc.typeOther

Файли

Контейнер файлів

Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
КМР Фаткулін 2025 (1).pdf
Розмір:
1.39 MB
Формат:
Adobe Portable Document Format

Ліцензійна угода

Зараз показуємо 1 - 1 з 1
Вантажиться...
Ескіз
Назва:
license.txt
Розмір:
8.17 KB
Формат:
Item-specific license agreed upon to submission
Опис: