Інтерактивна кооперативна 2D гра жанру extraction-shooter
| dc.contributor.advisor | Кардашов, Олександр Вадимович | |
| dc.contributor.author | Булак, Василь Вікторович | |
| dc.date.accessioned | 2026-08-06T07:29:58Z | |
| dc.date.available | 2026-08-06T07:29:58Z | |
| dc.date.issued | 2026 | |
| dc.description.abstract | Дипломна робота виконана на 70 сторінках, містить 15 ілюстрацій, 1 таблицю, 2 додатки, 18 джерел в переліку посилань. Мета роботи – створення гри жанру 2D Extraction Shooter з кооперативним режимом та клієнт-серверною архітектурою. Методи та засоби: мова програмування Python, бібліотека Pygame для побудови ігрового простору, формат JSON для серіалізації та збереження профілів користувачів і історії ігор, алгоритм Ray casting для розрахунку динамічного освітлення, алгоритм AABB для перевірки колізій, Евклідова метрика для дій ботів. Основний зміст роботи: аналіз існуючих рішень у жанрі кооперативних 2D-шутерів, розробка підсистеми генерації матричного рівня, реалізація механік переміщення, стрільби, генерації об’єктів та алгоритмів пошуку цілі ботами, імплементація обміну даних між клієнтом та сервером у режимі реального часу, впровадження механік економіки та евакуації, проведення тестування стабільності. Результат – функціонуюча програмна система кооперативної 2D-гри з підтримкою підключення по локальній мережі, власною системою інвентарю та збереження прогресу гравця. Програма призначена для створення інтерактивної кооперативної 2D гри жанру Extraction Shooter. Де потенційний користувач може отримати глибокий тактичний досвід з виживання та управління власними ресурсами, побудованих згідно концепції «ризик-втрата». Гра містить зручний інтерфейс створений для відображення ігрових показників персонажа у мінімалістичному стилі та наявною можливістю керування інвентарем на власний розсуд. Для створення мережевої взаємодії використовувалася парадигма «авторитетного сервера». Дана модель поділила логіку на дві частини. Серверну, що виконує всі математичні розрахунки фізики, перевірку колізій за алгоритмом AABB, поведінку ботів та не використовує графічні елементи. І клієнтська частина, створена завдяки використанню Pygame, для обробки вводу користувача, відображення графічної мапи рівня та обчислення динамічного освітлення згідно алгоритму Ray casting і обмеженого поля зору. Надсилання станів ігрового світу створено через використання протоколу UDP, де втрата одного пакету є не критичною, адже через долю секунди надійде новий з більш актуальними станами. А можливі вразливості, які пов’язані з нечесною грою були вирішені шляхом ізолювання фізичного двигуна гри на серверній частині та використання серіалізації находжених даних форматом JSON. | |
| dc.description.abstractother | The thesis is completed on 70 pages, and includes 15 illustrations, 1 tables, 2 appendices, 18 sources in the list of references. Objective: Development of a 2D Extraction Shooter game with a cooperative mode and client-server architecture. Methods and tools: Python programming language, Pygame library for building the game space, JSON format for serialization and saving user profiles and game history, Ray casting algorithm for calculating dynamic lighting, AABB algorithm for checking collisions, Euclidean metric for bot actions. Mein Content: analysis of existing solutions in the genre of cooperative 2D shooters, development of a matrix level generation subsystem, implementation of movement mechanics, shooting, object generation and target search algorithms by bots, implementation of data exchange between the client and the server in real time, implementation of economy and evacuation mechanics, stability testing. Outcome: functioning software system for a cooperative 2D game with support for local network connection, its own inventory system and player progress saving. | |
| dc.format.extent | 70 с. | |
| dc.identifier.citation | Булак, В. В. Інтерактивна кооперативна 2D гра жанру extraction-shooter : дипломна робота ... бакалавра : 122 Комп’ютерні науки / Булак Василь Вікторович. – Київ, 2026. – 70 с. | |
| dc.identifier.uri | https://ela.kpi.ua/handle/123456789/82356 | |
| dc.language.iso | uk | |
| dc.publisher | КПІ ім. Ігоря Сікорського | |
| dc.publisher.place | Київ | |
| dc.subject | клієнт-серверна архітектура | |
| dc.subject | протокол udp | |
| dc.subject | pygame | |
| dc.subject | 2d шутер | |
| dc.subject | ray casting | |
| dc.subject | client-server architecture | |
| dc.subject | udp protocol | |
| dc.subject | 2d shooter | |
| dc.title | Інтерактивна кооперативна 2D гра жанру extraction-shooter | |
| dc.type | Bachelor Thesis |
Файли
Контейнер файлів
1 - 1 з 1
Вантажиться...
- Назва:
- Bulak_bakalavr.pdf
- Розмір:
- 1.89 MB
- Формат:
- Adobe Portable Document Format
Ліцензійна угода
1 - 1 з 1
Ескіз недоступний
- Назва:
- license.txt
- Розмір:
- 8.98 KB
- Формат:
- Item-specific license agreed upon to submission
- Опис: