Появилась идея для хорошей игры или просто решили, что вам жизненного необходимо сделать свой проект? Тогда дерзайте, не откладывайте в долгий ящик, а непременно садитесь за компьютер (на консолях и смартфонах, увы, пока что полноценной игры не создать) и первым делом запишите вашу идею, пока не забыли.
Nota bene, большинство статей пугают высоким порогом вхождения и предлагают сначала пройти курсы длительностью от года и более, изучить высшую математику, прочесть тонну литературы посвященной геймдеву (которая устаревает ещё на моменте издания), просмотреть тонну видеороликов и непременно зазубрить от А до Я руководства к софту с которым предполагается работать.
Но на самом деле, не так страшен черт как его малюют. Отбросьте весь этот информационный мусор и не слушайте торговцев «знаниями», задача которых стоит в первую очередь продать вам инфотовар, а не научить.
В этой статье предлагаю рассмотреть именно разработку игры, а вопросы выпуска, рекламы, и сервисов дистрибуции оставить на будущее, чтобы не перегружать материал информацией.
План разработки игр
Итак, разработку игр можно условно поделить на следующие этапы:
- Идея
- Дизайн-документ
- Прототипирование
- Программирование
- Графика и уровни
- Звук
- Тестирование и доработка
Идея!
С этого начинается создание любой игры и очень важно иметь четкое представление того, что вы хотите получить в итоге, иначе можно застрять в долгострое на многие и многие годы. Достаточно, кратко описать свой замысел в любом удобном для вас виде и можно приступать к следующему этапу.
Дизайн-документ (он же диздок)
Ох уж эти диздоки, сколько же их было написано и как мало было реализовано по ним проектов.
Существует множество шаблонов и примеров дизайн-документов, но как писать будете вы, зависит от вас и вашей команды, если конечно, работаете не одни.
В самом же дизайн документе необходимо изложить:
а) Жанровая принадлежность и сеттинг
б) Количество игроков и возможности игры
в) Краткое описание
г) Тип уровней (Например, открытый мир или коридорные уровни)
д) Используемое ПО
е) Платформы на которых планируется выпуск
ж) Языки (имеется ввиду локализация)
Помимо этого можете добавить свои данные, о которых я не упомянул выше. Игровые проекты(если говорить о хороших) уникальны, и все подгонять под единый стандарт не имеет смысла, да и не нужно.
На мой взгляд, прорабатывать до мелочей Дизайн-документ, следует лишь в том случае, когда работаете в команде или привлекаете к проекту сторонних разработчиков и ваш диздок может послужить хорошей вводной для технических заданий. Во всех остальных случаях диздок можете свободно совмещать со сценарием, заметками и набросками для игры. Это избавит вас от лишней формальности и поможет быстрее найти нужную информацию, ведь для этого дизайн-документ и пишется.
Прототипирование
Не так важен этап прототипирования для сюжетно-ориентированных игр и сложно переоценить его значимость для мультиплеерных проектов.
Что из себя представляет прототип игры? Если кратко, то можно сказать, что это сконцентрированный набор механик и игровых возможностей на одном или нескольких уровнях, которые создаются с целью протестировать игровой процесс будущего проекта на потенциальных игроках.
Допустим, вы создаёте многопользовательский симулятор выживания, в котором игрокам доступны такие механики как, вождение автомобиля, карабканье по стенам, строительство домов, приготовление пищи, игра на фортепиано и, например, рыбалка. После нескольких, проведенных игровых сессий с разными группами игроков, вы скорее всего выявите, что игра на фортепиано используется гораздо реже остальных механик, а приготовление пищи и строительство домов наиболее часто. Таким образом вы сможете улучшить слабые игровые механики или вовсе от них отказаться и понять какие точно стоит оставить в проекте.
Программирование
Правильнее было бы разделить этот пункт на множество более точных: создание игровых механик, разработка ИИ, программирование анимаций, создание сетевой архитектуры, неткод, написание скриптов поведения для НПС и т.д. Но, пожалуй, тема бы раздулась до невероятных размеров. Так, что имейте ввиду, дойдя до этапа, который я здесь именовал программированием, вы можете столкнуться с некоторыми трудностями, которые случаются из-за неимения опыта. Возможно придется на некоторое время погрузиться в чтение документации или тематических форумов, но я более чем уверен, что задачи которые вам понадобиться решить уже были решены кем–то до вас. Поэтому здесь важно умение искать информацию.
Если прототип можно собрать на коленке используя готовые решения с торговых площадок, то на этом этапе стоит еще побеспокоиться об оптимизации игровой логики, сокращению неиспользуемых функций и продумать иерархию проекта.
Графика и уровни
Как гласит народная мудрость, встречают по одежке. Поэтому визуальная составляющая также значима, как и игровые механики, даже в некоторых случаях преобладает строя игровой процесс вокруг зрительных образов и виртуального окружения.
Графика в играх зависит от типа проекта, если это 2D, вам необходимо создавать спрайты и фоны, если 3D – трехмерные модели. В обоих случаях потребуется использовать специальный софт для работы с графикой, который вы подберете для своих нужд. Такие программы обычно имеют схожий функционал, но отличаются интерфейсом, тарифными планами и удобством использования в конкретных задачах. Как, например, в одной будет проще создать модель, в другой создать для нее текстуры, а в третьей анимировать.
Стоит учесть, что совсем не обязательно обучаться годами графическому дизайну, даже если вы создаете проект один. В свободном доступе существует огромное количество бесплатных и разрешенных для коммерческого использования моделей, спрайтов, фонов, элементов интерфейса и пр. Либо, если вы располагаете хоть каким-то бюджетом, посмотрите в сторону торговых площадок на которых профессиональные художники выставляют свои работы и делают их доступными каждому по скромным ценам.
Миры в играх создаются дизайнерами уровней, которые наполняют их контентом, созданным графическими дизайнерами. На этом шаге важно создать хорошую композицию, предусмотреть возможные ситуации, в которые может попасть игрок и придать уровню задуманную игровым дизайнером атмосферу.
Звук
В любой добротной игре должны быть звуковые эффекты, если, конечно, обратное не предусмотрено игровым дизайном. Звуки, они же SFX, добавляются для более точной передачи настроения игры и помогают пользователям ориентироваться в вашем виртуальном пространстве. Например, если у вас персонаж передвигается по траве, то игрок рассчитывает услышать шелест, издаваемый ногами, если кругом снег, не помешает добавить хруст, который мы слышим в морозные зимние дни наступив в сугроб. Возможно, у вас в игре доступно огнестрельное оружие, в таком случае звуки выстрелов будут как нельзя более кстати.
Попробуйте выключить звук и поиграть в любой многопользовательский шутер, вы поймете, о чем я говорю.
Говоря про звук в играх, нельзя не упомянуть о музыке. Качественно подобранные композиции или же созданные специально для вашего проекта значительно улучшат восприятие виртуального мира и будут способствовать большему погружению в игру. Также можно добавить генерируемую музыку, которая изменяется от действий игрока.
Звуками стоит разбавить и игровое меню с интерфейсами, чтобы на каждое свое действие пользователь получал некий отклик.
Тестирование и доработка
Последним этапом в создании игр (не всегда и не у всех, к сожалению) является доработка, которую часто называют полишингом или отшлифовкой. Это обычно происходит перед подготовкой проекта к выпуску или созданию финальной версии сборки. Чаще всего исправляют оставшиеся баги, выявленные при тестировании, снова тестируют и снова исправляют, пока не получиться идеально.
В последнее время этим этапом разработки игровых проектов стали пренебрегать и выпускать игры в раннем доступе, чтобы заработать на еще не созданном продукте. Это касается как крупных издателей, так и скромных инди-разработчиков.
Забегая вперед, можно обозначить еще пару моментов, которые не касаются разработки игр напрямую, но играют важную роль для обоих сторон – разработчика и игрока:
- Продвижение проекта – обширная тема, которой можно посвятить отдельную статью;
- Поддержка – обновления, дополнительный контент и общение с аудиторией.
Post scriptum
Будет кстати, упомянуть о визуальном скриптинге, который постепенно добавляют в большинство популярных игровых движков. Если вы не имеете навыков программирования, то при выборе движка стоит особо обратить внимание на эту особенность. С визуальным скриптингом можно создать проекты, не прибегая к коду.
В заключении хочу сказать, что при разработке любого проекта, очень важно поддерживать связь с аудиторией, делиться наработками и черновыми вариантами, рассказывать о процессах создания игры, кто стоит за проектом и по возможности быть открытыми.
Мы знаем множество известных режиссеров, актеров, музыкантов, но нам совсем неведомы создатели игровых шедевров. Пользователь может сыграть в сотни игр, но вряд ли вспомнит хотя бы одного создателя. Во-первых, потому что титры, в которых обычно пишутся их имена мало кто читает, кроме самих разработчиков, во-вторых, специалисты из игровой индустрии крайне редко делятся информацией о своей работе. Но в последнее время ситуация стала понемногу меняться, благодаря активности игровых журналистов и профильных сми.
Если вы создали игру, и она не снискала славы или вовсе не понравилась большинству пользователей, то знайте, всеобщий успех свидетельствует о недостаточной доброкачественности. А вы еще раз подумайте, правильно ли выбрали аудиторию для своего проекта, возможно позиционирование проекта привлекло не тех игроков, которым ваш проект окажется по душе.
Great Creator
Привет, Мир!
I’m truly enjoying the design and layout of your site.
It’s a very easy on the eyes which makes it much more enjoyable for me to come here and
visit more often. Did you hire out a developer to create your theme?
Exceptional work!