Разработка игры с процедурной генерацией уровней на Godot Engine 3
ВВЕДЕНИЕ
В современном мире компьютерные игры занимают значительную часть развлекательной индустрии и становятся все более популярным способом проведения свободного времени для множества людей. Вместе с тем, разработка игр является сложным и многогранным процессом, требующим не только технических навыков, но и креативного мышления и тщательного планирования. Одним из самых захватывающих и инновационных аспектов игровой разработки является процедурная генерация уровней.
Процедурная генерация уровней представляет собой метод создания игровых уровней динамически с помощью алгоритмов и случайных элементов, вместо традиционного ручного создания каждого уровня разработчиками. Этот подход позволяет достичь бесконечного разнообразия в игровом процессе и создать непредсказуемые и уникальные впечатления для игроков. Каждое прохождение игры становится уникальным, поскольку уровни генерируются динамически при каждой новой игровой сессии.
ВВЕДЕНИЕ 4
1. АНАЛИТИЧЕСКИЙ АНАЛИЗ 7
1.1. Описание объекта исследования 7
1.2. Сравнительный анализ существующих игровых проектов 9
1.2.1. Российские аналоги PGD 9
1.2.1.1. Despot’s Game: Dystopian Battle Simulator 9
1.2.1.2. Loop Hero 11
1.2.1.3. Stoneshard 12
1.2.2. Зарубежные аналоги PGD: 14
1.2.2.1. Shattered Pixel Dungeon 14
1.2.2.2. Dwarf Fortress 15
1.2.2.3. One More Dungeon 17
1.3. Определение требований 19
2. ПРОЕКТИРОВАНИЕ ИГРОВОГО ПРОЕКТА 22
2.1. Анализ существующих сред разработки 22
2.1.1. JetBrains Rider 22
2.1.2. VIM 24
2.1.3. Visual Studio Code 25
2.2. Анализ существующих игровых движков 28
2.2.1. Godot Engine 3 28
2.2.2. Unity 3D 30
2.3. Выводы 32
3. ПРОЕКТИРОВАНИЕ 34
3.1. Use case диаграмма PGD 34
3.2. Activity диаграмма АРМ менеджера турагентства 37
4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРОЕКТА 39
4.1. Реализация процедурной генерации 39
4.2. Реализация игрового персонажа 43
5. ГОТОВЫЙ ПРОЕКТ 46
6. ЗАКЛЮЧЕНИЕ 51
7. ИЗУЧЕНИЕ ЛИТЕРАТУРЫ И ДРУГИХ ИСТОЧНИКОВ В СООТВЕТСТВИИ С ТЕМАТИКОЙ ВКР 53
1. Черпаков, И. В. Основы программирования : учебник и практикум для вузов / И. В. Черпаков. — Москва : Издательство Юрайт, 2023. — 219 с. — (Высшее образование). — ISBN 978-5-9916-9983-9. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/511703
2. Йонас Фрайкнехт.. Генерация процедурного контента для игр. Мангейм, 2020 г. – URL: https://madoc.bib.uni-mannheim.de/59000/1/Procedural%20Content%20Generation%20for%20Games.pdf
3. Ариэль Манзур и Джордж Маркес. Godot Engine Fame Development. 2018г. URL: https://docviewer.yandex.ru/view/612277445/?page=4&*=8fDV0oYn%2FowbmLBwUBle8T6Uq%2FN7InVybCI6Imh0dHBzOi8vZmlsZXMuY2F0Ym94Lm1vZS9mZ242MW0ucGRmIiwidGl0bGUiOiJmZ242MW0ucGRmIiwibm9pZnJhbWUiOnRydWUsInVpZCI6IjYxMjI3NzQ0NSIsInRzIjoxNjc1NzE1NzEzMTY2LCJ5dSI6Ijc5MzgxOTI3MDE2NjY4MDA1MjIiLCJzZXJwUGFyYW1zIjoidG09MTY3NTcxNTY4MiZ0bGQ9cnUmbGFuZz1lbiZuYW1lPWZnbjYxbS5wZGYmdGV4dD1nb2RvdCtsZWFybitib29rJnVybD1odHRwcyUzQS8vZmlsZXMuY2F0Ym94Lm1vZS9mZ242MW0ucGRmJmxyPTE5MyZtaW1lPXBkZiZsMTBuPXJ1JnR5cGU9dG91Y2gmc2lnbj0yYmZiYmZhZDA0NjZlMzdmY2JkMmQ2NDZjY2MzYTUzMCZrZXlubz0wIn0%3D&lang=en
4. Тайнан Сильвестр. Геймдизайн. Рецепты успеха лучших комптютерных игр от Super Mario и Doom до Assasin’s Cread и дальше. ООО Издательство «Питер» 2020г. URL: https://m.vk.com/doc10885998_562745406?hash=ZsXr34AWE3SewBAzxRig9rhr2w8YpzNZV664Y5zePqgZhZDA0NjZlMzdmY2JkMmQ2NDZjY2MzYTUzMCZrZX
5. Подбельский, В.В. Программирование. Базовый курс С#: учебник для среднего профессионального образования/ В.В.Подбельский.— Москва: Издательство Юрайт, 2023.— 369с.— (Профессиональное образование).— ISBN978-5-534-11467-6. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/517893 (дата обращения: 16.05.2023).
6. Крис Брадфелд. Godot Engine Game Development Project. Packt Publishing 2018. URL: https://vk.com/doc265999929_471463153?hash=9id3TqIL6yVwLv6usT8CAZZ9sPDt0t6CjqSP0vgb7u0&dl=tJdI1MlzK0308iTMGjnl9JSgYtEzF3Q9lzUOMhSpKgH
7. Даниэль Буклей. Godot Game Development for Beginners. Zenva pty ltd 2020. URL: https://gamedevacademy.org/wp-content/uploads/2020/07/Godot-Game-Development-for-Beginners.pdf
8. Джуан Линиэтски и Ариэль Ианзур. Документация Godot Engine. Godot community 2022. URL: https://docs.godotengine.org/ru/stable/
9. Вячеслав Голованов. Процедурная генерация случайных игровых подземелий. Habr 2016г. URL: https://habr.com/ru/articles/275727
10. Никита Барышников. Как рисовать пиксель-арт: программы, пайплайн, советы. DTF.ru 2022г. URL: https://dtf.ru/gamedev/1257126-kak-risovat-piksel-art-programmy-payplayn-sovety
11. Мишель Аззи. Pixel logic, a guide to pixel art. Michael Azzi 2019г. URL: https://cloud.mail.ru/public/U5p6/PNyiS9VYh
12. Райхан Такер. Hands-On object-orientied programming with C#. Packt Publishing 2019г. URL: https://vk.com/doc565756056_647931991?hash=znbZ1yXvCRZn8jeics33PYT1KAflbgMH2Up9zNZ0FsX&dl=ssmnLy76SaEUj85JhIQxQK2a1ALQcDHzGqgXIIKlrnL
13. Тузовский, А. Ф. Объектно-ориентированное программирование : учебное пособие для вузов / А. Ф. Тузовский. — Москва : Издательство Юрайт, 2022. — 206 с. — (Высшее образование). — ISBN 978-5-534-00849-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/490369 (дата обращения: 01.02.2023).
14. Адэль Зафар, Хасан Муджтаба и Омер Бег. Procedural Content Generation for General VideoGame Level Generation 2021г. URL: https://www.researchgate.net/publication/355058777_Procedural_Content_Generation_for_General_Video_Game_Level_Generation
15. Ариэль Манзур, Георг Маркес. Godot Engine Game Development in 24 Hours, Sams Teach Yourself: The Official Guide to Godot 3.0 2018г. URL: https://psv4.userapi.com/c834500/u265999929/docs/d7/aae2265018d7/Godot_Engine_Development_Hours_Yourself_0.epub?extra=5CiLzq7sj2vk7UQCQdb1N3f7cvV6vQYFIOYxe1BQFGAm5g2ll655Jj3aBxiULkLRAkHHbcu_C6K5pUO5ig979udvERX8rjo2c6-LuzJGbopkULGUmeSNWjWPmt5cLeHwJt6ZaXDkG5pf&dl=1
Shattered Pixel Dungeon - это увлекательная рогалик-игра с пиксельной графикой, разработанная командой ShatteredPD. В этой игре вы отправитесь в опасные подземелья, полные ловушек, монстров и сокровищ.
Вам предстоит собирать экипировку, сражаться с врагами и исследовать каждый уровень подземелья. Вас ждут различные классы персонажей, каждый со своими уникальными способностями и стилем игры. Вы сможете выбирать из множества предметов, заклинаний и тактик, чтобы преодолеть преграды и добраться до главного босса.
Одна из особенностей Shattered Pixel Dungeon - это ее высокая сложность. Вам придется быть осторожным, планировать свои действия и избегать опасностей. Ни одно решение не должно быть принято наугад, так как даже небольшая ошибка может стоить вам жизни.
Игра также предлагает систему прогрессии и развития персонажа. Вы сможете получать опыт и уровни, улучшать свои навыки и открывать новые возможности. Каждое прохождение будет уникальным, так как генерация уровней происходит случайным образом.