Введение 6
Глава 1. Производственный цикл разработки компьютерных игр 8
1.1. Формирование идеи 8
1.2. Разработка дизайна игры 9
1.3. Планирование 9
1.4. Проектирование архитектуры игры 10
1.5. Разработка 10
1.6. Тестирование 11
1.7. Публикация 12
Глава 2. Постановка задачи 14
2.1. Концепция 14
2.2. Похожие идеи 14
2.3. Задачи проектирования 17
Задачи дизайна 17
Технические задачи 18
Глава 3. Дизайн игры 19
3.1. Боевая система 20
Способности игрока 21
Предметы 21
Стандартные варианты поведения игрока 22
Баланс способностей 23
Механика повреждений 24
3.2. Ролевая система 25
Методы формирования 25
Базис системы 26
Прогресс персонажа 27
Разработка системы 29
3.3. Игровые предметы 34
3.4. Балансировка 35
Ручная настройка 36
Корректировка выпадающих 36
Ресурсный баланс 37
Сюжетно-связанный баланс 37
Камень-ножницы-бумага 37
Риск-контроль 38
Дипломатия 38
Разгадывание намерений и блеф 38
Авторский подход 39
3.5. Дизайн арены 3 9
Особенности дизайна уровней для мультиплеерных игр 39
Режимы игры 41
Поведение игроков 41
Боевой диапазон 42
Правила планировки зон 42
Методика проектирования уровня 42
3.6. Рейтинговая система 46
Балансировщик World Of Tanks 46
Система званий в CS:GO 49
Глава 4. Технический проект 50
4.1. Требования к продукту 51
4.2. Технологии 51
4.3. Высокоуровневая архитектура
ER-диаграмма базы данных 54
4.4. Шаблон проектирования 56
4.5. Прототипирование 57
Глава 5. Методология проектирования 59
Формирование идеи 59
Проектирование дизайна 61
Проектирование архитектуры 62
Прототипирование 63
Заключение 66
Список использованных источников 68
Приложение А. Концепт-документ 74
Платформа 75
Жанр 75
Камера 75
Дополнительные метки 75
Сеттинг 75
Описание 75
Ключевые особенности 76
Целевая аудитория 76
Геймплей 76
Система боя 78
Способности 78
Прогресс персонажа 79
Энергия героя 79
Дорожная карта 80
Приложение Б. Примеры реализации методов проектирования
архитектуры приложения 81
1. Анализ требований 81
2. Основные варианты использования игры SFWM 82
Описание актеров 83
Варианты использования 83
3. Архитектура системы для игры SFMW 85
4. ER-диаграмма базы данных 87
Пользователи 88
Персонажи 89
Статичные данные 89
Компьютерная игра - это программа, выполняющая широкий спектр задач: отображение виртуального мира на экране, расчет игровой логики на специально-выделенном сервере, взаимодействие через сеть с большим количеством клиентов и т.д. Но не менее важно, что именно эта программа выполняет, какой мир она отображает, и как игрок взаимодействует с этим миром. Качество программы и увлекательность игрового процесса - залог успеха игры.
Фундамент будущего проекта закладывается на этапе проектирования продукта. Проектирование игры [2] делится на два этапа: проектирование игрового дизайна (эскизный проект) и проектирование программного части (технический проект). Эскизный проект определяет какой будет игра, чем она может заинтересовать свою аудиторию, какой игровой контент и в каком количестве будет наполнять игру. Без игрового дизайна сложно определить конец проекта и его сильные стороны. А технический проект даст представление о деталях и сложности реализации игры, и заранее избежать множества проблем на поздних этапах разработки. Оба этих этапа жизненно необходимы для создания крупной успешной игры.
Заполнением эскизного проекта занимается гейм-дизайнер, он устанавливает правила игры, описывает содержание и игровой процесс, а также следить за целостностью видения игры. После разработки эскизного проекта, начинается проектирование программной части. На этапе создания технического проекта становится ясно, что из эскиза возможно реализовать, а что стоит упростить. Далее, на этапе разработки программы, тестируются механики. Некоторые из них меняются, либо вовсе исключаются из проекта. То есть, происходит корректировка дизайн документа. Поэтому этот процесс очень затягивается и требует постоянного внимания. Также важно доступно и понятно описывать части дизайна игры, это позволяет составить целостное представление игры для остальных участников проекта, таких как дизайнеры, моделлеры, художники, программисты и т.д.
Актуальность данной работы обусловлена необходимостью суммирования современных методов проектирования игр жанра MRPG в единую методологию. Такая методология позволяет ускорить и упростить этот процесс проектирования. Дополнительной значимостью данной работы будет практический опыт применения методологии и взаимодействия с остальными этапами разработки компьютерных игр. Данный опыт может быть использован для реализации подобных проектов.
Объектом исследования является проектирование игр.
Предмет исследования - компьютерная игра “Sci-fi - Magic World” (сокращенно SFMW), разрабатываемая в жанре MRPG.
Цель работы - разработать проектную документацию на игру в процессе создания авторской методологии проектирования игр этого жанра.
Задачи:
• Проанализировать существующие и актуальные практики проектирования игр;
• Выбрать из найденных практик оптимальные для игры SFMW;
• Спроектировать дизайн игры SFMW на основе выбранных практик;
• Подготовить проектную документацию для игры SFMW
В ходе работы были исследованы следующие темы: производственный цикл разработки игр, формирования проектной документации, методы и практики проектирования. В проектную документацию игры входят концепт-документ, дизайн-документ и технический дизайн-документ. В главах данной работы представлены структуры этих документов. Были выбраны методы для проектирования боевой системы, ролевой системы, игровых предметов, уровней и методы балансировки параметров игры. Также были рассмотрены методы для анализа требований, проектирования архитектуры системы, базы данных, и реализация архитектурного шаблона MVC в игровом движке Unity.
По своей сути, данная работа обобщает накопленный опыт в области проектирования многопользовательских ролевых игр. Но при этом, благодаря практической реализации методов, предлагает новые подходы для проектирования. Например, в ходе синтеза принципов и правил, описанных в статье [11], были предложены два новых подхода к проектированию боевой системы: первый подход основан на моделировании основных поведений игрока для проверки используемости способностей персонажа; второй подход, на основе выравнивания по временной шкале, позволяет сбалансировать способности относительно друг-друга. Так же в работе предлагается собственный подход к отображению иерархии навыков и проектированию схемы их группировки.
Изучив десятки источников данной тематики, не было найдено ни одной статьи или работы, в которой бы описывалась методология проектирования. Это подтолкнуло к созданию авторской методологии. В ней описываются этапы и шаги проектирования. Этапы проектирования подробно раскрываются в главах данной работы, и дается практическая реализация многих исследованных методов, которая отображается в проектной документации. Проектная документация размещена в приложениях А, Б, и в главе 3 в качестве примеров реализации методов. Сама методология описана в главе 5. Целями работы были методология и проектная документация, поэтому можно считать, что задачи данной работы выполнены, и цели достигнуты.
Однако, не все области проектирования были рассмотрены, что открывает простор для дальнейшего исследования данной темы. В частности, нужно исследовать теорию и практики в области механики управления, и в области проектирования низкоуровневой архитектуры игровых приложений. Методологию можно подвергнуть тестированию на реальном проекте, и доработать ее исходя из полученного опыта. Также, хорошей темой исследования будет балансировка многопользовательских игр, обобщение накопленного опыта или автоматизация баланса игры.
Разработанная методология проектирования может использоваться для реализации новых идей. А полученная проектная документация будет использована для последующей разработки игры Sci-fi: Magic World.
1. Деникин А.А. “Могут ли видеоигры быть искусством?” // Международный журнал исследований культуры, № 2(11), 2013. — М.: Эйдос, 2013, с. 90-96
2. Эндрю Р., Дэйв М. “Проектирование и архитектура игр. Второе издание”. // Москва. Издательство «Вильямс». 2006. — С. 1040.
3. Антон Карлов. “Оригинальные идеи игр. Где их брать?” [Электронный
ресурс] // Личный блог автора, URL: http ://www.ant-karlov.ru/originalnie-idei-i gr.html (дата обращения: 03.06.2017).
4. “Особенности тестирования игр”. [Электронный ресурс] // QATestLab. URL: http://ru.qatestlab.com/knowledge-center/qa-testing-materials/distinctive-features-of-game-testing-process/(дата обращения: 26.06.2017).
5. Alexis Santos. “A Guide to Launching Indie Games, Part One: Pre-Launch” [Электронный ресурс] // Binpress blog, 2015, URL: http://www.binpress.com/blog/2015/02/06/indie-game-launch-guide-pre-launch/(дата обращения: 02.06.2017).
6. Alexis Santos. “A Guide to Launching Indie Games, Part Two: Websites and Media” [Электронный ресурс] // Binpress blog, 2015, URL: http://www.binpress.com/blog/2015/03/06/guide-launching-indie-games-part-two-websites-media/(дата обращения: 02.06.2017).
7. “Всё, что вы хотели знать об ELEX” [Электронный ресурс] // Game In
Online, 03.2017, URL:
http://gameinonline.com/article/vsyo chto vy hoteli znat ob elex.html(дата обращения: 03.06.2017).
8. Денис Майоров. “Рецензия на Horizon: Zero Dawn”. [Электронный ресурс] // Канобу — это сайт про современные развлечения, URL: http://kanobu.ru/reviews/retsenziya-na-horizon-zero-dawn-370111/(дата обращения: 05.06.2017).
9. Gamux. “Effectively Organize Your Game's Development With a Game Design Document” [Электронный ресурс] // Envato Tuts+, 2011, URL: https://code.tutsplus.com/articles/effectively-organize-your-games-development-with-a-game-design-document--active-10140(дата обращения: 01.06.2017).
10. Axiomatis. “About skill/level systems”. [Электронный ресурс] // /r/gamedesign - Designing rulesets for interactive entertainment, 2017, URL: https://www.reddit.com/r/gamedesign/comments/4ntb5p/about skilllevel syste ms/(дата обращения: 23.06.2017).
11. Анатолий Шестов. “Краеугольные камни системы боя”. [Электронный ресурс] // Аус Хестов - Личный блог автора, URL: http://aushestov.ru/краеугольные-камни-системы-боя/(дата обращения: 13.06.2017).
12. Александра Семыкина. “Тонкая механика, как настроить систему для игры”. [Электронный ресурс] // Roleplaying News Russian, 2016, URL: http://rpg-news.ru/2016/12/07/tonkaya-mexanika-kak-nastroit-sistemu-dlya-igry-gostevaya-statya-ot-aleksandra-semykina/(дата обращения: 12.06.2017).
13. PostOfficeBuddy. “Thoughts on class/skill systems and character design for
RPGs/MMOs?” [Электронный ресурс] // /r/gamedesign - Designing rulesets for interactive entertainment, 2017, URL:
https://www.reddit.com/r/gamedesign/comments/6gdezm/thoughts on classski ll systems and character/(дата обращения: 12.06.2017).
14. Сергей AlmazDelDiablo. “Unity и MVC: как прокачать разработку игры”. [Электронный ресурс] // Хабрахабр: сайт для публикации ИТ новостей. 2016 г. URL:https://habrahabr.ru/post/2817 83/(дата обращения: 26.05.2017).
15. Emil Drkusic. “MMO Games and Database Design”. [Электронный ресурс]
// Vertabelo Blog, 2016, URL:
http://www.vertabelo.com/blog/technical-articles/mmo-games-and-database-design(дата обращения: 26.05.2017).
16. Kristjan Tryggvason. “Design and Implementation of a Collectable Trading Card Board Game and Game AI” // Reykjavik University Menntavegur, 2016.
17. Глейзер Дж., Мадхав С. “Многопользовательские игры. Разработка сетевых приложений”. // Издательство «Питер», 2017. — 368 с. Серия «Библиотека программиста».
18. Пользователь cobiot. “Создание архитектуры программы или как проектировать табуретку” [Электронный ресурс] // Хабрахабр: сайт для публикации ИТ новостей. 2016 г. URL: https://habrahabr.ru/post/276593/(дата обращения: 22.03.2017).
19. Jere M. “Unity 3D and PlayMaker essentials : game development from concept to publishing” // Taylor & Francis, CRC Press, 2016.
20. Блог компании Plarium. “Особенности разработки мобильной MMO RTS”. [Электронный ресурс] // Хабрахабр: сайт для публикации ИТ новостей. 2016 г. URL:https://habrahabr.ru/company/plarium/blog/317976/(дата обращения: 23.03.2017).
21. Михаил Кадиков. “Дизайн уровней: теория и практика”. // Сайт Михаила Кадикова - интересное о дизайне уровней, URL: http://level-design.ru/pro-ld-book-index/(дата обращения: 05.06.2017).
22. Алексей Сергеев. “Левел-дизайн на бумаге: Принципы проектирования уровней от создателя игры Captain Kaon”. [Электронный ресурс] // vc.ru- крупнейшая в рунете площадка для предпринимателей нового поколения,
URL: https://vc.rU/p/level-design-paper-to-screen(дата обращения:
05.06.2017).
23. Блог Александра Бындю. “Принципы проектирования классов (S.O.L.I.D.)”. [Электронный ресурс] // Blogger: сайт для создания блогов. 2009г. URL:http://blog.byndyu.ru/2009/10/solid.html(дата обращения: 23.03.2017).
24. Bobby Ross. “Visual Guide: Multiplayer Level Design”. [Электронный ресурс] // Bobby Ross Level Art+Design Portfolio, 2015, URL: http://bobbyross.com/library/mpleveldesign(дата обращения: 05.06.2017).
25. Tracy Fullerton. “Game Design Workshop: A Playcentric Approach to Creating Innovative Games, Third Edition”. // A K Peters/CRC Press March 5, 2014 - 535 Pages.
26. “Система развития персонажа”; “Навык”. [Электронный ресурс] // Свободная энциклопедия о ролевых играх, URL: http://ru.rpg.wikia.com/wiki/(дата обращения: 12.06.2017).
27. Yiting Xu, Shah Nawaz. “A Comparison of Architectures in Massive Multiplayer Online Games”. // 2II45 Architecture of Distributed Systems, October 31, 2014.
28. KORPPOO, KAROLIINA. “Designing Game Analytics for a City-Builder Game”. // UNIVERSITY OF TAMPERE, 74 pages, May 2015
29. Anders Andersson. “Multiplayer Game Server for Turn-Based Mobile Games in Erlang”. // UPTEC IT 12 020 Examensarbete 30 hp, 47 pages, Februari 2013
30. Mike Stout. “Trinity, Part 3: Game Mechanics”. [Электронный ресурс] //
Patreon Blogs, 2015, URL:
http://www.chaoticstupid.com/trinity-part-3-game-mechanics/ (дата
обращения: 16.06.2017).
31. “Balancing Path of Exile”. [Электронный ресурс] // POE wiki, 2011, URL: http://pathofexile.wikia.com/wiki/Balancing Path of Exile(дата обращения: 25.06.2017).
32. Андрей Панасюк. “ОТВЕТЫ РАЗРАБОТЧИКОВ №1: БАЛАНС”.
[Электронный ресурс] // Wargaming, 2015, URL: https://wotblitz.ru/ru/news/pc-browser/common/ask-us-balance/ (дата обращения: 25.06.2017).
33. Блог компании Мосигра. “Как балансируются настольные и разные другие игры - краткий обзор способов”. [Электронный ресурс] // Хабрахабр: сайт для публикации ИТ новостей, 2015, URL: https://habrahabr.ru/company/mosigra/blog/278095/(дата обращения: 25.06.2017).
34. Андрей Фролов. “Архитектура сервера онлайн-игры на примере Skyforge”. [Электронный ресурс] // Хабрахабр: сайт для публикации ИТ новостей. 2016 г. URL:https://habrahabr.ru/company/mailru/blog/220359/(дата обращения: 25.06.2017).
35. Хокинг Дж. “Unity в действии. Мультиплатформенная разработка на C#”. // Пер. с англ. И. Рузмайкиной // Издательство «Питер», Серия «Для профессионалов», 2016.
36. “Сильные стороны и преимущества Unity”. [Электронный ресурс] // Сайт
посвященный разработке игр и мобильных приложений на движке Unity3D, URL:
http://develop-unity3d.blogspot.ru/2016/01/Silnie-storoni-Unity.html (дата
обращения: 27.06.2017).
37. Глеб Диденко. “Орёл или решка: сравнение Unity и Unreal Engine”. [Электронный ресурс] // DTF, 2017, URL: https://dtf.ru/7227-orel-ili-reshka-sravnenie-unity-i-unreal-engine(дата обращения: 27.06.2017).
38. “Балансировщик в 9.18”. [Электронный ресурс] // Wargaming, 2017, URL:
https://worldoftanks.ru/ru/news/common/balanc-9-18/ (дата обращения: 27.06.2017).
39. “Система званий в CS:GO и как она работает.”. [Электронный ресурс] //
CSGOGamer.net, 2017, URL:
http://csgogamer.net/839-rangi-i-zvaniya-v-csgo.html(дата обращения: 27.06.2017).
40. Анатолий Ахмедов. “Technical Design Document: что, зачем и как”. [Электронный ресурс] // DTF.ru, 2011, URL: http://www.dailytelefrag.com/articles/read.php?id=46398(дата обращения: 27.06.2017).