Розробка 2D-гри з інтерактивними механіками створення та руйнування ігрового середовища
Вантажиться...
Дата
ORCID
DOI
Науковий ступінь
Рівень дисертації
Шифр та назва спеціальності
Рада захисту
Установа захисту
Науковий керівник/консультант
Члени комітету
Назва журналу
Номер ISSN
Назва тому
Видавець
Харків : Харківський національний університет імені В. Н. Каразіна
Анотація
Об'єктом дослідження є процес розробки інтерактивних 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 є дієвим інструментом для швидкого прототипування ігрових механік з нуля.
The 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.
The 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.
Опис
Науковий керівник : Рогов Андрій Володимирович, кандидат технічних наук, доцент кафедри інформаційних технологій та математичного моделювання
Ключові слова
TECHNOLOGY::Information technology::Computer science, Java, Swing, 2D гра, платформер, PvP, ігровий рушій, фізика, AABB, розділення осей, анімація, патерни проєктування, машина скінченних станів (FSM), будівництво, захоплення точок, обробка вводу, 2D game, platformer, game engine, physics, axis separation, animation, design patterns, finite state machine (FSM), construction, point capture, input processing
Бібліографічний опис
Фаткулін, Валерій Валерійович. Розробка 2D-гри з інтерактивними механіками створення та руйнування ігрового середовища : кваліфікаційна магістерська робота : спеціальність 122 «Комп’ютерні науки» : освітня програма «Комп’ютерні науки та інформаційні технології в бізнесі» / В. В. Фаткулін ; кер. роботи А. В. Рогов. – Харків : Харківський національний університет імені В. Н. Каразіна, 2025. – 62 с.
