1.Думаем – нужно ли это тебе
Перед тем, как за что-то взяться, необходимо всё обдумать. А перед тем, как заняться разработкой игр, необходимо обдумать всё очень хорошо. Очень часто начинающие разработчики, достигнув определённых успехов в чём-то (сделал мод для игры, небольшой фан-сайт и пр.), начинают грезить созданием своей игры. Это происходит из-за того, что они имеют слабое представление о процессе разработки игр.
Я перечислю основные ошибки в их представлении:
- Нет романтики. Многие начинающие разработчики, наигравшись вдоволь в игры, приходят к мысли, что создавать игры также интересно, как и играть, только чуть-чуть сложнее. Это очень частая ошибка. Чем больше и сложнее игра тем, скучнее и безынтереснее процесс её разработки. Романтики совершенно нет.
- Трудно и даже невозможно. Многие после нескольких (или даже одного) успешного проекта наполняются уверенностью, что написать игровой проект им по силам. На самом деле, игры – это одно из самых сложных направлений разработки. И чем «серьёзнее» игра, тем проект сложнее. В процессе создания игры разработчик может столкнуться с нерешаемыми проблемами, которые убивают на корню энтузиазм даже у самых упёртых.
- Отвращение к играм. Со временем у каждого матёрого разработчика игр развивается отвращение к играм. Сначала просто они становится менее интересными. Затем начинаешь замечать, что они вовсе не интересны, а интересно только, как они работают. Чем дальше, тем хуже.
- Конкуренция и качество продукта. Играми занимаются многие студии и независимые разработчики. Существует своеобразный «уровень вхождения» в этот бизнес. Сейчас нельзя сделать успешную игру, нарисованную акварелью (да, такие игры встречались в начале 2000-х). Она просто не выдержит конкуренции. Соответственно, абы что не сделаешь. Тут скрывается важный психологический момент – начинающий разработчик вынужден делать хороший продукт, иначе он будет испытывать постоянное чувство страха неуспешности своего продукта.
- Время и ресурсы. И самая распространенная ошибка – это то, что ресурсов (время, деньги, знания) им хватит. Чтобы понять объём работ, читайте следующие пункты.Программный код
Создание игрового материала (наполнения, контента) – это чисто творческая часть процесса, рассмотрим её чуть позже, а пока разберём программный код только в роли инструмента. В таком случае программный код представляет собой каркас (скелет), на который будут нанизываться результаты всех последующих этапов разработки.
Этим этапом занимаются программисты.
Прежде всего мы должны выбрать язык программирования, который нам наиболее подходит. После этого предстоит тяжелая и кропотливая работа по написанию программного кода, способного оперировать двухмерными или трехмерными объектами в пространстве, привязкой изображений и звуков. Для создания виртуального трехмерного пространства придется использовать сложные геометрические формулы для построения проекции 3D-объектов на плоскость (в уме компьютера объекты существуют в настоящем трёхмерном пространстве, но для вывода их изображения на плоский двухмерный экран приходится делать пересчеты). По ходу разработки придётся изучить все форматы изображений и аудиофайлов, всевозможные кодеки и кодировки.
2.Игровой движок
Благо, в наше время можно долго не возиться с написанием низкоуровневой программной части, а сразу же воспользоваться готовым программным модулем (игровым движком), где уже реализованы базовые функции, способные связать воедино графику, звук, объекты и их движения. Таким образом выбор языка программирования заменяется другой дилеммой – выбором готового игрового движка (подробнее о игровых движках, доступных на рынке в настоящее время, можно узнать в статье «Бесплатные игровые движки»).
Применение игровых движков ещё не освобождает нас полностью от использования услуг программистов, но сводит их к минимуму. Стандартный программный модуль ещё придётся настроить под себя, добавить в него что-то своё, чтобы игровой проект получился более уникальным.
3. Игровая механика
Самая важная творческая часть любой игры – игровая механика. Эта вещь находится не на поверхности, поэтому часто ускользает от взгляда невнимательных ценителей игр.
Молодые подростки (основная часть игровой аудитории) в большинстве своём оценивают игры по качеству графики, и не замечают, что красивые игры хоть и популярны, но их популярность длится всего несколько месяцев после релиза. А в сердцах игроков и в золотых списках вечной игровой классики навечно остаются совсем другие игры, может быть немного неказистые на вид, но имеющие потрясающе захватывающий геймплей. Чем разнообразнее и интереснее игровые возможности, тем дольше игрок остаётся в игре. Например, за что получила всеобщую любовь «MineCraft»? Уж точно не за примитивную кубическую графику, а за то, что эта игра дарит поистине безграничные игровые возможности.
Если представить игру в виде живого организма, то игровая механика будет является его нервной системой и головным мозгом. А если представить игру в виде строящегося дома, то игровая механика предстанет как электропроводка, трубопровод и прочие бытовые инженерные коммуникации. Представьте, что происходит с красивыми и модными, но не продуманными играми с этой точки зрения: можно поселиться в красивом доме, но если в нём не будет освещения, водопровода и канализации, то при первой же возможности вы покинете его в поисках более комфортабельного жилья.
Игровая механика, по сути своей, это свод правил, по которым будет функционировать игра. Какое действие произойдет, если игрок возьмет вот этот бонус? Если игрок соприкоснётся с врагом, то что случится тогда? Потеряет ли он здоровье от этого соприкосновения, или это случится только после удара врага? Если игрок подойдёт к машине, сможет ли он в неё сесть и прокатиться? А сможет ли игрок что-нибудь строить или хотя бы перемещать объекты? Таких вопросов может возникнуть несколько сотен или даже тысяч. Ответы на все эти вопросы и будут представлять собой игровую механику.
Объекты
Основой всей механики являются игровые объекты. Главный герой игры, компьютерные соперники, второстепенные персонажи (NPC), бонусы, подвижные объекты, декорации – всё это игровые объекты со своими свойствами и возможными действиями.
Управление
Игровая механика определяет какими клавишами будет управляться главный герой или основной игровой объект, какое действие будет происходить после нажатия той или иной кнопки. Сюда же относится законы поведения игровых объектов (физический движок) и поведение врагов (искусственный интеллект).
Физический движок
Если «управление» отвечает за перемещение подконтрольного нам персонажа, то физический движок отвечает за те движения, которые происходят без прямого вмешательства игрока. Эти действия имитируют физические законы реального мира (иногда немного искаженные в сторону фантастики). Брошенный мячик отскакивает от пола, опрокинутая бочка скатывается с наклонной поверхности, выстрел мощным оружием отбрасывает стреляющего назад, хрупкий предмет, брошенный с высоты разбивается – всё это примеры действия физического движка.
В готовых игровых движках чаще всего реализованы и физические движки. Вам лишь останется присвоить своим уникальным объектам уже готовые физические характеристики: вес, плотность, эластичность, разрушаемость. Если же задумаете создать свой физический движок, то для этого вам понадобится талантливый программист, хорошо понимающий принципы объектно-ориентированного программирования (ООП) и немного разбирающийся в классической физике.
Искусственный интеллект (ИИ)
ИИ отвечает за поведение компьютерных врагов или союзников.
Роль ИИ значительно разнится в зависимости от жанра игры. В экшенах действия врагов крайне примитивны; в RTS стратегиях достаточно пары десятков скриптов, чтобы придать сопернику кажущуюся разумность; в стелс-экшенах, слешерах и файтингах необходимо создать уникальную систему поведения для каждого типа врагов, иначе глупые враги сделают игру неинтересной. Серьезная стратегическая игра требует колоссальной работы над ИИ, а в простых казуальных играх и в онлайн-проектах, ориентированных на сражения только между реальными игроками, искусственный интеллект вообще не нужен.
4. Уровни
Правила игры в виде игровой механики готовы, теперь нам нужно создать площадки, где эти правила начнут работать. Созданные игровые объекты расставляются в отдельных виртуальных пространствах – уровнях (локациях). Игры чаще всего содержат множество отдельных уровней, переход между которыми происходит по ходу сюжета. Но в последнее время, благодаря возросшей производительности компьютеров, выпускаются игры с одним большим цельным миром, лишь условно разделяемом на различные локации (GTA, Skyrim).
На каждом отдельном уровне расставляются игровые объекты, стенки, платформы, декорации, фоны. Уровни создаются в играх всех жанров. Даже в простенькой казуальной игре по перестановке цветных камешков есть уровни – в их роли выступают игровые поля и расстановка камней. В браузерных играх в роли локации выступают отдельные html-страницы.
Если, опять же, представить игру в виде дома, то построение игровых уровней – это планировка этажей, а количество уровней – этажность здания.
Построением уровней занимаются левелдизайнеры.
В идеале левелдизайнеры берутся из числа заядлых игроков. Это происходит потому, что любой другой человек со стороны, пусть даже и творческий, но очень далёкий от темы игр, не сможет хорошо справиться с этой задачей. Левелдизайнер должен хорошо представлять себе игровой процесс, и чувствовать, как от перемещения объектов на уровне будет изменяться игровая ситуация.
Редактор уровней
Довольно часто в комплекте с игрой поставляется редактор уровней, с помощью которого обычные игроки могут самостоятельно создавать себе новые карты и уровни. Разработчики игр поддерживают распространение самодельных карт между игроками и часто выкладывают лучшие работы на своих официальных серверах. Редакторы уровней создаются не только для развлечения игроков и увеличения срока жизни отдельно взятой игры, но и для того, чтобы отыскать среди игровой аудитории наиболее талантливых людей. Таким образом, игровые студии решают свою кадровую проблему. Как уже говорилось выше: лучший левелдизайнер – это заядлый игрок.
Именно от дизайна (не оформления, а планировки) уровней зависит важнейшая составляющая игры – геймплей. (Это правило не действует лишь для большинства казуальных игр, файтингов и спортивных игр, где уровни крайне примитивны). Неинтересная и однообразная планировка уровней загубила множество игр с великолепным оформлением, подкреплённым новейшими технологиями. Если вы хотите создать полноценную увлекательную игру, а не пустышку в красивой обёртке, то на левелдизайн нужно потратить максимум творческих усилий.
5. Оформление
Далее начинаем обтягивать голый каркас игры украшением в виде графики.
Созданием графики занимаются художники, геймдизайнеры.
Конечно, если Вы разрабатываете простенькую 2D-игру, то Вы сами можете изобразить что-нибудь из пикселей, но в более серьезных и крупных проектах лучше нанять профессиональных художников и дизайнеров.
Арты
Для начала нужно создать образы героев, врагов, игровых предметов, задних фонов. Первоначально они рисуются либо на бумаге, либо на компьютере с использованием графического планшета. Для небольших игровых студий этот этап не обязателен, но он просто необходим в больших компаниях, чтобы не на пальцах, а на наглядных изображениях объяснить всем дизайнерам, что у них в итоге должно получиться.
2D, 3D модели
На основе артов дизайнеры создают либо двухмерные спрайты из пикселей, либо трёхмерные модели из полигонов.
Анимации
Для игровых объектов, которые будут передвигаться в ходе игры, создаются анимации. Особенно сложно придётся с героями и врагами, количество анимаций которых иногда превышает целую сотню различных движений.
В настоящее время для создания человекоподобных 3D-персонажей существует специальная технология «Motion Capture», позволяющая создавать анимации на основе движений настоящих людей. Эта технология доступна лишь крупным и очень богатым компаниям. Для использования Motion Capture нужно не только приобрести дорогостоящее оборудование, но ещё и нанять группу актёров, с которых будут записываться движения.
Фоны
С задними фонами всё гораздо проще – нарисовал один раз, поставил в нужное место на уровне без всяких изменений, и забыл.
Спецэффекты
Визуальные спецэффекты – это, по сути своей, те же анимации, только вместо перемещения объектов в них используются перемещения частиц и светофильтров. Лучи света в разные стороны при взятии бонусов, огонь на горящем здании, дымовая завеса после взрыва гранаты, лазерные лучи из дула винтовок, наложение фильтров размытия при нахождении под водой и фильтров затемнения в плохо освещённых местах – всё это спецэффекты. Без подобных эффектов игра будет казаться пресной и слишком обыденной. Использование спецэффектов добавляет игре яркости, сочности и экспрессивности.
Оформление экрана и меню
Оформить нужно не только игровые уровни, но и систему, объединяющую их в единое целое – игровое меню (строчки, кнопки, страницы настроек). Начальное меню – это вообще визитная карточка игры, и выглядеть она должна идеально. На игровом экране так же есть множество элементов, к которым можно применить оформление – количество жизней, лайфбар, миникарта, меню быстрого выбора действий, инвентарь героя, списки заданий, экраны диалогов. На английском языке всё это называют одним сокращением – GUI (Graphical User Interface - графический пользовательский интерфейс).
Оформлением интерфейса и меню занимаются художники, программисты и верстальщики html-страниц. (Сайт gamesisart.ru)
6. Сюжет
Привлечь игрока к своему проекту очень сложно, но ещё сложнее сделать так, чтобы игрок прошел игру до конца. Любое разочарование, занудное или трудное место может мгновенно оттолкнуть игрока от дальнейшей игры. В большинстве случаев игрок оставит и забудет игру без всякого сожаления. И только грамотно поданый качественный сюжет может заставить игрока собраться с силами, пройти всю игру, а значит - дослушать вашу интерактивную историю до конца.
На заре своего существования компьютерные игры обходились без сюжета, затягивая игроков лишь своим игровым процессом. Но в настоящее время даже к самой простенькой казуальной игре прикручивают сюжет, не говоря уже о крупных игровых проектах ААА-класса.
Хотя, существование в игре сюжета лишь для галочки не даёт никакого положительного эффекта, разработчики продолжают придумывать всё новые и новые истории, одна глупее другой. Сюжет приносит пользу лишь в том случае, если он может зацепить чувства игрока. Для этого нужна уникальность, интересность и правдоподобность сюжета; каждый персонаж должен иметь свою неповторимую личность, и совершать поступки согласно ей; действующих лиц и событий должно быть не больше, чем может воспринять человеческий мозг, иначе сюжет превратится в никому не понятный винегрет; события должны происходить логично (загадочность и туманность приветствуется для поддержания сюжетной интриги, но и при этом должна быть скрытая от игрока логичность).
Скрипты, события
Самый лучший вариант – когда сюжет существует прямо внутри игры. Это достигается с помощью использования скриптовых сценок.
Скрипт представляет собой следующее: игрок заходит в определённое место, или совершает нужное действие, или выполняются ещё какие-то необходимые условия, и после этого начинают выполняться действия, запрограммированные вами на этот случай. Например, в военном 3D шутере поднимаемся на возвышенность, подходим к установленному пулемёту (условие выполнено), через 10-15 секунд после этого внизу вдруг начинается вражеская массированная атака, и нам есть на кого использовать пулемёт (произошли события).
С помощью скриптовых событий можно вносить разнообразие в игровой процесс или даже превратить игру в аттракцион нескончаемых скриптов (именно на этом построена серия игр Call of Duty). Единственный минус такого способа – у игрока уменьшается свобода действий. Всё происходит по воле скриптов, и мало зависит от действия игрока.
Продумыванием скриптов занимаются сценаристы, а их реализацией – программисты.
Диалоги, повествования
В старых классических играх сюжет существует обособленно от игрового процесса. Например, при загрузке или окончании уровней нас знакомят с сюжетной историей, рассказывают об отношениях между героями и врагами, объясняют, что и для чего нужно сделать на уровне. В процессе самой игры ничего из вышесказанного не имеет никакого значения, и игрок может смело пропускать все эти тексты. Чаще всего так и происходит - тексты остаются не прочитанными. А всё из-за того, что нет никакой веской причины их читать.
Другое дело – внутриигровые тексты или диалоги. Они происходят в процессе игры, но в безопасных местах, или с остановкой игрового времени, чтобы игрок мог сосредоточиться только на тексте. Повествования игроку приходится выслушивать, так как игра на это время замирает, но не останавливается совсем. А в диалогах ещё и нужно выбирать вариант ответа. Выбор варианта придаёт прослушиванию текста интерактивность и хоть какой-то практический смысл – правильно выбранный ответ может принести дополнительный бонус, облегчить дальнейшую игру или сохранить выбранный характер героя в ролевых играх.
При создании игры тексты повествований и диалогов лучше хранить в отдельных файлах, подгружаемых по ходу игры. Отделение художественного текста от технических кодов поможет в будущем, если вы решите создать локализованную версию игры на других языках мира.
Написанием текстов и диалогов занимаются сценаристы и писатели.
Видеовставки
Между уровнями игры или в определённых контрольных точках уровней можно вместо сухого текста и озвучки показывать игрокам видеовставки (катсцены). Такие заставки можно создавать как с помощью отдельных видеофалов, так и с помощью игрового движка.
Видеофайлы позволяют передавать игроку картинку любого качества и сложности, но при создании дистрибутива игры они занимают много дискового пространства. Заставки, создаваемые на движке игры, по своему качеству уже почти не уступают отрендеренным заранее видеозаписям, но для их хорошего просмотра у игрока должен быть достаточно мощный компьютер, что не всегда бывает на самом деле.
Созданием видеовставок занимаются художники, аниматоры, 3D-модельеры, сценаристы, режиссеры.
7. Звук
Красиво нарисованный и эффектно оформленный проект молчаливо смотрит на нас, и ждёт, когда мы добавим ему звучания. Это ещё одна важная составляющая игры.
Звуковые эффекты
Для любого маломальского игрового движения нужно добавить соответствующий звук. Это могут быть удары меча, нанесение рукопашного удара, звуки движения автомобиля, получение бонуса, обнаружения героя врагом. Не думайте, что это какое-то излишество, и можно обойтись всего несколькими базовыми звуками. Например, в большинстве 3D-Action игр пренебрегают добавлением звуков шагов главного героя и врагов. В результате – при виде от первого лица видно, что герой передвигается в пространстве, но кажется, что он не идёт, а плавно скользит вперёд. А враги без озвучки шагов вообще могут совершенно бесшумно подбежать к герою сзади и сильно попортить нервы игрокам.
Хорошие звуковые эффекты не только заполняют тишину, но и являют собой продолжение графического стиля игры. Веселая аркада наполнена не менее весёлыми мелодичными звуками, спортивный автосимулятор наполнен рокочущим гулом моторов и лязгом тормозов, трехмерный боевик оглушает пулемётными очередями, падающими гильзами и клацающими затворами винтовок.
Чаще всего в качестве звуковых эффектов используются реальные звуки, записанные в цифровом виде. В интернете есть множество бесплатных коллекций звуковых эффектов, Вам нужно лишь найти их и выбрать самые подходящие.
Музыка
Кроме звуков для полноценной игры нужна и музыка (саундтрек). Она будет звуковым фоном для происходящего на экране. Музыка так же является одним из стилистических элементов игры, и сильнее всего влияет на настроение игрока. Готовую музыку нужно долго выбирать по подходящему темпу и настроению. Существуют множество как платных, так и бесплатных коллекции игровых фоновых композиций, которые можно использовать в своей игре (статья «Музыка для создания игр»). Или можно заказать композиторам написать новую музыку специально под игру.
Озвучка
Третьей звуковой оставляющей игры является озвучка игровых диалогов и монологов. Эта составляющая очень дорога, но её наличие в игре не обязательно. В некоторых играх диалогов и текстов почти нет, а там, где есть, их можно оставить неозвученными в виде текстовых субтитров. Небольшие игры обходятся совсем без озвучки, а в больших проектах для озвучивания даже приглашают профессиональных актеров мировой величины.
Наличие в игре музыки и полноценной озвучки значительно увеличивает объем готовой игры, занимаемый на жестком диске, Но по возможности лучше всё таки добавлять озвучку в игру. Это повысит вовлечённость игрока в сюжет и рассказываемую вами историю, так как большинство игроков игнорируют и вообще не читают обычные не озвученные тексты.
8. Отшлифовка
Процесс разработки большой игры построен таким образом, что различными её элементами занимаются различные специалисты. На начальном этапе игра представляет собой разрозненный набор творческих наработок в различных областях искусства: изображения, звуки, 3D-модели, архитектура, тексты, сценки, видеовставки, оформление. И вот, наконец, наступает такой момент, когда разбросанные камни нужно собирать. С помощью программных средств разрозненные объекты соединяются в единую сложную систему.
Сведение материала (a-версия)
При построении игры на игровом движке объединение объектов происходит постепенно с самого начала процесса. Пока игра не собрана до конца, её называют альфа версией. В этот момент уже можно заниматься тестированием отдельных уровней, скриптов и прочих механизмов.
На этом этапе уже технически возможно выпустить демо версию или хотя бы видеоролик с игровым процессом, чтобы заранее привлечь игроков к своему проекту.
Устранение ошибок (b-версия)
Когда игра полностью собрана, остаётся лишь устранить получившиеся ошибки (bugs). Они появляются в любом случае, так как игра – это система со сложной структурой. Сами элементы игры наглядны и просты, но связи между ними настолько сложны и витиеваты, что процесс отладки и устранения ошибок может занимать до 40% всего времени разработки проекта. Полностью собранная, но ещё не проверенная на ошибки игра называется бета версией.
Поиском ошибок в игре занимаются тестеры. Очень часто в качестве тестеров привлекаются группы обычных игроков, и это служит началом их карьеры в игровой индустрии. Проще всего эта проблема решается в онлайн-играх – разработчики организовывают открытые бета-тесты, в которых участвуют вообще все желающие игроки.
9.Организационные моменты
- Команда. Как Вы могли догадаться, созданием таких проектов, как игры, лучше заниматься командой. Это обосновано тем, что создание контента совершенно другой вид деятельности отличный от программирования и организации проекта и одному заниматься такими разными видами деятельности сложно. Минимальная команда – это два человека, создатель контента и разработчик. Чтобы не было непонимания, уточню – наёмный работник, по-моему, тоже в какой-то мере член команды.
Конечно, можно заниматься разработкой и в одиночку. Есть такие «сумасшедшие», которые и пишут код, и рисуют графику, и сочиняют музыку, но это их проблемы.
Собрать команду при наличии финансирования легко – форумы программистов и создателей контента, биржи фрилансеров Вам в помощь. При отсутствии финансирования можно найти только программиста, а вот нормального создателя контента не найдёте – здесь надо надеяться либо на себя, либо на удачу. - Юридическое оформление. Здесь всё просто. Хотите иметь с игры деньги и обезопасить себя от рейдерского захвата (когда кто-то внаглую ворует вашу игру), то вам нужно юридическое оформление на уровне индивидуального предпринимателя. Если Вы ещё собираетесь распределять проект по долям, то нужно оформление на уровне ООО. Поэтому если при поиске членов команды Вы обещаете долю в проекте, то не удивляйтесь, что Вас будут просить предъявить реквизиты вашей организации.
- Контакты. Никогда не пренебрегайте знакомствами. Знакомьтесь с другими разработчиками, общайтесь и обменивайтесь контактами. В будущем, возможно, знакомство с ними принесёт Вам пользу.
- Реклама. Так как игр на рынке много, то чтобы пользователи выбрали именно вашу игру, нужно привлечь к себе внимание. Делается это при помощи рекламы на различных ресурсах. Логично, что реклама эта требует: во-первых денег, а во-вторых, рекламный контент (банеры, видеоролики, статьи). Возможны и другие способы ¬– связи, спам, рекламные акции и прочие, но они не всегда эффективны.
Без рекламы игра, точно также как и без контента, является провальным проектом. Обратите на это внимание. Но тут ситуация может достаточно легко исправлена инвестированием и сторонней помощью. - Инвестирование. Понятное дело, что с деньгами игру делать гораздо легче, но без развёрнутой концепции (с концепт-артом), команды и рабочего прототипа никто не будет финансировать ваш проект. То есть на начальных этапах на финансирование не надейтесь. А вот на последних этапах разработки ситуация может в корне поменяться – могут появиться инвесторы и Вам всё равно будут нужны деньги для организации рекламной компании.
Чтобы найти инвесторов, собирайте контакты. - Сторонняя помощь. Вместо инвесторов можно найти стороннюю помощь (реклама за рекламу, помощь в распространении за процент и прочие). Тут надо ориентироваться по ситуации. Чтобы найти стороннюю помощь, так же собирайте контакты.