Как сделать игру на 100
Как создать игру, ничего не умея. Часть первая: модели и анимации
Привет, меня зовут Павел, и я разработчик игр. На идею рассказать о разработке игр людьми, которые ничего не умеют, но горят желанием, меня натолкнул мой брат.
— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.
И я задумался, а так ли сложно что-то создать с нынешним количеством уроков и тем по созданию игр в интернете?
С чего начать?
Для начала нам нужна идея, что за игру мы будем создавать, благо у меня была идея брата. Рассмотрим её поближе.
Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).
Начнём создавать шедевр
В первую очередь регистрируемся на сайте Unity, скачиваем и устанавливаем движок последней версии. Далее перевоплощаемся в человека, который совершенно ничего не знает о движке и о создании игр.
Идём в интернет и спрашиваем «как нам начать использовать Unity?».
Запускаем Unity Hub.
Выбираем NEW и далее 3D проект, пишем название и местоположение проекта.
И открывается сама программа.
И тут, наверное, знатоки начнут кидаться картошкой со словами «Зачем столько воды? Все и так это знают» НО! Материал предназначен в первую очередь для тех, кто ничего не умеет, а не для гуру геймдева =).
Дальше снова идём в интернет либо проходим туториал в самой программе, чтобы научиться основам работы с движком. Для того, чтобы воспользоваться туториалом в программе, нужно в окне Unity Hub нажать на строчку Learn и выбрать любой из проектов. Я советую пройти все уроки и посмотреть несколько роликов по созданию игр.
Как создать модели для игры?
Я выбрал второй вариант. Отправляемся в AssetStore. Если у вас не активировалась ваша учетная запись, повторно входим в личный кабинет. И начинаем искать подходящие паки. Я нашел то, что нужно, примерно за 3 минуты по поиску knight. В паке, помимо моделей самих персонажей, были модели окружения. Купил за 10 долларов, нажал Import, поставил все галочки, и пропала проблема, неумения моделировать. 1/4 игры готово.
Сцена
Дальше начинается самое нудное. Нужно собрать рабочую зону (scene, сцену, кому как привычнее называть).
Я привык сначала прописывать персонажей, анимацию, и прочую ненужную (очень нужную) ерунду в начале работы, а уже после того как основные механики готовы, я собираю уровень (локацию, игровую зону). Для начала давайте в сцену поставим кусок земли, на которой будет стоять наш персонаж, и начнём работать с анимацией.
Далее добавляем персонажа (рыцаря, демона, ниндзю, тяночку, или кто вам больше по душе). Персонажа берем из папки Prefabs: мы уже знаем (вспоминаем, чему нас научили во вкладке Learn), что туда сохраняют полностью готовые объекты, персонажей и так далее.
И вот он, наш герой, который будет покорять всех и вся.
Анимация
Помните в рейде «Цитадель Ночи» в World of Warcraft был босс Алуриэль? Когда она произносила заклинания, то кричала «Аннигиляция, репликация, детонация, АНИМАЦИЯ. ». Нам необходимо с криком «Анимация!» наброситься на интернет и понять, как её сделать.
Изучаю кучу материала по созданию анимации, и…, либо я дурак, либо лыжи забыл. Реально перелопатил полтора часа материала, но так ничего более-менее подходящего не нашел. Поэтому я решил объединить несколько уроков в один и собрать простой способ анимации.
Что нужно в первую очередь? По мне — так научиться ходить и бегать. Возьмём анимацию ходьбы и бега.
Теперь создаём папку Animation в Unity и добавляем туда нашу анимацию. Начинаем настройку.
Вот мы и победили нашу анимацию! УРА! Теперь нам нужно подключить её к нашему персонажу. Вперед, к финишной прямой!
Выбираем персонажа, inspector, окно Animator, и в строке Controller нажимаем на кругляшок. Появится выбор, где мы и увидим нашу Animation, выбираем её и нажимаем на кнопку Play в Unity. Если вы всё сделали правильно, то сейчас должны наблюдать как ваш персонаж стоит, и у него проигрывается анимация Idle. То есть, он стоит и немного покачивается.
С анимацией разобрались, пора включать снова человека, который ничего не умеет =)
Скрипт W A S D
Анимация у нас есть, теперь нужно заставить нашего персонажа двигаться. Покопавшись в интернете, я узнал, что можно просто добавить компонент Character Controller. Так и сделаем — тыкнем Add Component, в поиск вбиваем Character Controller и добавляем его, в строке Center выставляем Y=1 (нужно, чтобы «яйцо» покрывало всего персонажа. Если у вас получилось меньше или больше, то просто настройте его вручную).
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move: MonoBehaviour
<
public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);
CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);
Тут я немного поясню скрипт.
Верхние четыре строчки — это подключение библиотек, public class — название скрипта. Если у Вас скрипт называется Moving или что-то в этом роде, то поменяйте название. Учтите, к регистру скрипт тоже придирчив.
public float speed = 3.0F; public float rotateSpeed = 3.0F; — это скорость персонажа, настраивается по желанию. Далее идёт подключение управления Character Controller и, соответственно, анимации.
Перетаскиваем скрипт в Inspector персонажа и проверяем. It’s ALIVE.
Но есть нюанс: поворачивается наш персонаж слишком быстро и не подключена анимация бега. Скорость поворота лечится просто — выставляем в строке Rotate Speed 0.5, и наш персонаж больше не использует чит-крутилку из CS GO. Теперь сделаем, чтобы наш персонаж все-таки побежал. Снова интернет, хотя, по мне, тут можно и логически додумать, как всё провернуть, но всё же я нашел строчку кода, чтобы всё заработало. Добавляем в наш код такую строчку
Если у Вас возникли вопросы, что такое Fire3, то ответ прост: это LShift, а проверить это можно, зайдя File->Build Setting->Player Setting->Input Manager. Эту информацию также не составило труда найти в интернете.
После проверки наш персонаж при нажатии клавиши LShift сменил свою анимацию на бег, но при этом его скорость никак не изменилась. Снова уже по протоптанной дорожке идём сами знаете куда, и я снова нашел строчку кода, которая мне подошла и оказалась полностью рабочей.
В итоге весь скрипт у нас получился такого вида
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move: MonoBehaviour
<
public float speed = 3.0F;
public float rotateSpeed = 3.0F;
void Update()
<
float horizontal = Input.GetAxis(«Horizontal»);
float vertical = Input.GetAxis(«Vertical»);
CharacterController controller = GetComponent ();
transform.Rotate(0, horizontal * rotateSpeed, 0);
Vector3 forward = transform.TransformDirection(Vector3.forward);
float curSpeed = speed * vertical;
controller.SimpleMove(forward * curSpeed);
if (Input.GetKey(KeyCode.LeftShift))
<
speed = 6.0f;
>
else
<
speed = 3.0f;
>
Всё проверили, всё работает, осталось только прикрепить камеру к персонажу. Без заморочек просто перетаскиваем Main Camera в нашего персонажа, далее её настраиваем как нам удобно, проверяем и празднуем ПОБЕДУ!
Заключение
Я считаю, что не имея никаких знаний и денег, а только немного терпения, можно самому создать свою игру. Если вас смущает покупка пака из Asset Store, то всегда можно найти бесплатные паки. Я порылся в интернете и нашел как минимум 6 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.
Все описанное в этой статье было собрано без специальных знаний с помощью интернета.
Как создать игру без навыков программирования
Мечтаете создать свою игру, но мысли о том, что придётся учить языки программирования пугают вас? Вы гуманитарий? А может, у вас просто не хватает времени на изучение C# или Java? В любом случае, речь в этом посте пойдёт об игровых конструкторах. Для тех, кто не в курсе, это программы, в которых можно делать игры без написания кода. Конструкторы подходят для создания прототипов и участия в коротких Game Jams, которые сейчас популярны.
Первое знакомство
Однажды мне довелось побывать на мастер-классе по прототипированию у одного известного левел-дизайнера, работавшего в одной из крупнейших IT-компаний в России. На мастер-классе каждому участнику предложили создать свою игру за 1 час, а в конце часа показать игру остальным. То есть я первый раз запускаю программу и через час должен создать игру? Обладая некоторым опытом работы в программах, где необходимо писать код, я не поверил, что такое возможно. К моему удивлению, все (я в том числе) успели сделать свою первую маленькую игру. Пусть и простую, но в нее можно было играть. Так во мне зародилась любовь к конструктору под названием Clickteam Fusion 2.5 (раньше назывался Multimedia Fusion). Ещё популярными конструкторами являются Game Maker Studio и Construct 2. В основном, я работаю в Clickteam Fusion 2.5 (далее CF 2.5). На её примере раскрою принцип работы таких программ и их возможности.
Как это работает
Сразу отмечу, что конструкторы предназначены для работы в 2D. Уверен, в ближайшее время появятся и полноценные 3D-аналоги. Если вы настроены попробовать себя в 3D, то без знания программирования, вы сможете создать только карты для популярных игр, которые имеют редакторы-карт. Это уже другая тема, а сейчас я расскажу, как же работать в конструкторе.
При создании новой игры необходимо определить, для какой платформы хотите творить. Конструкторы дают возможность создавать игры для PC, IOS, Android, Html 5, Flash и т.д. Например, чтобы создать игру не только для PC, но и для IOS в программе CF 2.5, придётся докупить или скачать export module ios. Модуль конвертирует игру в код платформы – Xcode. Затем, через несколько нажатий, вы уже сможете тестировать игру на устройствах Apple (также нужен аккаунт разработчика Apple).
Ваша игра будет состоять из кадров (сцен). В каждом кадре можно создавать объекты, которые помогут вам решить любую задачу. Например, если это главное меню и вы хотите создать кнопку «Start», вам необходимо создать объект «active».
Окно «Редактор кадра».
Нажимаем правую кнопку мыши и выбираем «Insert object».
Выбираем объект «active».
Затем, нужно вставить в объект изображение кнопки или нарисовать во встроенном редакторе. В этом окне также можно создать покадровую анимацию. Один объект может иметь несколько анимаций (герой стоит, герой бежит, герой летит).
Окно «Графический редактор».
Осталось придумать событие, которое будет происходить с этим объектом.
Для этого, переходим с вкладки «редактор кадра» на вкладку «редактор событий».
Выбираем из списка необходимые события (условия), при которых, произойдут установленные вами действия над выбранным объектом, группой объектов, кадром.
Если игрок нажимает левой кнопкой мыши на объект «Start», то —
— происходит переход на следующий кадр.
Вот так просто, без программирования, можно создавать различные события, из которых будет состоять ваша игра.
Ещё несколько примеров:
— Если объект «шар» коснулся объекта «шип», то на экране появляется надпись «вы проиграли», а объект «шар» меняет анимацию на «шар лопнул».
— Если прошло более 5 секунд с начала запуска кадра, то в правом верхнем углу появляется объект «аптечка».
— Если объект «птичка» коснулся объекта «червяк», то «червяк» исчезает, в объект «счётчик очков» прибавляется единица и один раз проигрывается звук «жалобный крик червя».
Не изучая программирование, вы сможете создавать самые разные механики, используя фантазию и большое количество вспомогательных объектов. Перечислю некоторые из них:
Active object – самый популярный объект, его используют для создания объектов взаимодействия (главный герой, враги, платформы, ящики и т.д.). Он может содержать много разных анимаций (герой стоит, герой бежит, герой стреляет), иметь встроенные стандартные механики движения и управления.
Counter object – создает всевозможные счётчики жизней, денег, очков и т. д. Может быть представлен как в виде цифр, так и в виде шкалы.
INI object – сохраняет данные после выхода игрока из игры. Можно использовать для сохранения месторасположения любых объектов в кадре.
Physic engine object – появление этого объекта в кадре создаёт гравитацию, параметры которой можно регулировать.
Joystick control object– для touch-устройств создаёт эмулятор джойстика.
IOS store object – даёт возможность сделать внутриигровые покупки для AppStore.
Admob object – позволяет поместить баннерную рекламу в игру.
Touch object – учитывает все касания к экрану touch-устройства. Например, можно создать такое событие:
если игрок одновременно коснулся экрана тремя пальцами, то игра останавливается на паузу.
Если что-то не получается
У CF 2.5 есть отличная техподдержка, которая в течение 24 часов всегда отвечала мне. Ещё у них неплохой форум, на котором выложено много готовых кусков игр и рассказывается, как работать с новыми объектами. Не знаю, как дела с технической поддержкой у других конструкторов, но думаю, не хуже. Game Maker более популярен, чем CF 2.5 и, как мне кажется, тоже должен иметь хорошую поддержку. Один мой знакомый работает на Construct 2, он никогда не слышал, чтобы возникали трудности. А на youtube.com выложено много роликов, где разжёвывают создания популярных механик для большинства конструкторов.
Список популярных игр созданных на конструкторах
Чему я научился, создав 100 игр за 5 лет
Мой марафон закончен! С июня 2012 года по июнь 2017 года я создал 100 игр.
Прежде, чем мы углубимся в подробности, мне нужно немного рассказать о своём проекте «100 игр за пять лет» и вкратце изложить числа и факты о самих играх.
Небольшое объяснение
В 2012 году я решил создать себе долговременную стратегию проверки. Я подумал, что к концу этих пяти лет я буду точно знать, является ли разработка игр интересным для меня занятием и достаточно ли я хорош в ней.
Кроме того, я знал, что даже сами по себе мои игры будут плохими (а многие из них и в самом деле плохи), то по крайней мере поставленная задача заслуживает внимания. Хотя я не могу сказать, что научился при создании 100 игр большему, чем если бы выбрал другой путь, но одним из основных качеств Джеймса из 2012 года была амбициозность. Благодаря проекту я попал в список Forbes 30 Under 30 2017, выработал и упрочил собственный дизайнерский стиль, а также познакомился с самыми удивительными, вдохновляющими и интеллектуальными создателями игр. Я с гордостью называю свою цель «самой умной идеей, пришедшей в голову более юному мне».
Также важно упомянуть, что на протяжении всего этого марафона меня поддерживали. Во-первых, всё это время я учился: сначала был студентом последнего курса в Университете Майами, а потом студентом магистратуры в Университете Южной Калифорнии. Мои преподаватели очень мне помогли. Поставленная задача была моей задумкой и моим волевым решением, но финансировалась она не мной, и я никогда не стремился, чтобы она так воспринималась. Моя цель открывала передо мной двери и обеспечила финансовую поддержку, но кроме того, мне помогали мои родители и родственники. К тому же на протяжении всего пути мне оказывали поддержку, которую я, вероятно, не смогу возместить в полной мере.
Почему я пишу об этом сейчас?
Последняя игра появилась в июне 2017 года, и ровно год спустя я пишу эту статью. Почему прошло так много времени? Отвечу честно: мне нужна была передышка — мне потребовалось какое-то время, чтобы собраться с мыслями и приспособиться к жизни без стремления к своей цели. Пять лет — это долгий срок. Я начал, когда мне был 21 год и закончил в 26 лет, то есть марафон занял почти пятую часть моей жизни. Эту солидную долю срока я потратил на быстрые итерации!
Я не хочу сказать, что после ничего не делал, просто это был другой вид занятости, темп стал медленнее, а дедлайны — более приближенными к реальности. После выполнения своей задачи я создал ещё несколько игр, а именно четыре мелких проекта. Я всё ещё работаю над eCheese Zone. Она находится в разработке уже шесть месяцев и связана с You Must be 18 or Older to Enter и с The World the Children Made тем, что это самый долгий период разработки, потраченный на один проект. Но сейчас, в годовщину завершения 100 игр за 5 лет, у меня появилось достаточно времени, чтобы написать об этом.
Вкратце о результатах
Использованные движки:
К слову о пожертвованиях — моей целью в этом марафоне ни в коем случае не был заработок. Я не думал о монетизации своих 100 игр почти до конца марафона, то есть до 2017 года. Сейчас общая сумма пожертвований (от нескольких игр, позволявших давать пожертвования) составила меньше 400 долларов. В течение всего марафона я был студентом-очником, поэтому разработка игр оставалась хобби. Но даже несмотря на это, с радостью могу сказать, что Университет Майами и Университет Южной Калифорнии часто предоставляли мне за мою работу пособия на оплату путевых расходов и стипендии, но это не был настоящий доход. Поэтому я не рекомендую никому ставить перед собой такую задачу, если при этом нет соответствующей поддержки, как социальной, так и финансовой.
Здесь стоит рассказать о том, как я определял успех:
Успех игры = восприятие аудитории / (время разработки + личная привязанность)
Хочу уточнить, что так я определял успех игр для себя; это не ожидание, проецируемое на других людей. Когда оцениваешь разработку игр как возможный путь развития своей карьеры, важно иметь гибкую (хотя и субъективную) метрику успеха. Обычно мои ожидания превосходила одна игра из восьми.
В целом все 100 игр были маленькими. Прохождение двух самых длинных, The World the Children Made и Innovative Food Company, занимает около 30 минут. В большинстве игр нет экранов меню или систем сохранения. Ни в одной из них нет многопользовательского онлайн-режима. Наконец, ни одна из них на самом деле не была создана в одиночку. Будь то непосредственное сотрудничество, использование чужой музыки, или вдохновление, взятое из чьей-то работы, на все мои игры каким-то образом влияло сообщество.
Важным человеком в разработке 100 игр был мой брат Джо Кокс, работавший над более 40 играми, создавая графику, дизайн, а часто и музыку со звуковыми эффектами (потому что у меня нет способностей к музыке). Сейчас у нас есть своя студия Seemingly Pointless и мы завершаем разработку eCheese Zone!
Кроме того, мой марафон принёс неожиданный результат — интерактивное портфолио. Теперь у меня есть сильная коллекция работающих примеров: экспериментов, которые я хочу расширить, и экспериментов, которых я научился избегать. Мне стало проще оценивать новые проекты на основании этой библиотеки предыдущих работ.
Последние примечания перед перечислением уроков
Я усвоил эти уроки благодаря своей цели. Возможно, им можно было научиться иным способом, но мне они дались в процессе создания 100 игр. Надеюсь, они в том или ином смысле окажутся вам полезными.
Не забывайте, что я создавал короткие бесплатные игры — очень быстро разрабатываемые и публикуемые проекты. Такой рабочий процесс я взял из собственного внутреннего правила выпуска игр: я выпускаю игру только тогда, когда чувствую, что она готова. Я должен был уметь объяснить себе, почему игру можно считать готовой для аудитории. Поэтому обычно процесс создания игр был разбит на быстрые отдельные этапы. Я стремился к созданию отполированного базового игрового процесса, а уже потом добавлял новые функции. Таким образом, если мне приходилось прекращать разработку любого проекта, я мог просто его выпустить. Во многих своих играх из-за этого я вырезал дополнительные возможности.
Эта методика разработки может очень сильно противоречить процессам, используемым при создании более длинных игр. Например, она плохо подходит для систем, обладающих глубинной сложностью. Поскольку я был сосредоточен на том, чтобы игру можно было выпустить после добавления каждой дополнительной функции, я прикладывал усилия к полировке каждой дополнительной детали, чего невозможно добиться в более крупных проектах.
Применимость каждого урока очень сильно зависит от конкретной ситуации. Каждый урок сопровождается двумя примерами игр из моей сотни. Количество сыгранных игр указано на июнь 2018 года.
Переходим к урокам!
1: Дополнительное время разработки не спасёт игру
Полировка и усовершенствование игры, которая не приводит в восторг на ранних этапах, не позволит вам добиться большей увлекательности. Невозможно выдавить ничего нового из игрового процесса, который изначально слаб.
Ужасный пример: RUNNER
Подсказка: ограничьте длительность игры — ограничение времени игры позволяет снизить разрастание функционала и масштаба. Temporality была рассчитана на длительность одной 10-минутной композиции. Хотя на разработку Temporality можно было потратить больше времени, именно столько можно уместить в короткий игровой процесс, избежав его разрастания вширь и вглубь.
2: Вы узнаете, что игра обретает свою форму, через два дня игры в прототип
После создания прототипа ядра в него будет интересно играть вам и другим людям. Отзывы, полученные от разных людей, должны дать вам понять, что они осознают вашу цель. Если это не так, то следует переосмыслить игровой процесс.
3: Лучше экспериментировать
Этот урок я извлёк из собственного опыта работы freeware- и инди-разработчиком. Для инди-авторов такая концепция не нова — например, Ник Попович из Monomi Park излагает похожие мысли в своём докладе с GDC Slime Rancher: A Preemptive Postmortem. Общая идея заключается в том, что проще исследовать свою собственную территорию, а не конкурировать с крупными студиями. Изобретите свой собственный жанр, и у вас будет лучшая на рынке игра в этом жанре. (Об идее жанров мы поговорим позже).
Ужасный пример: Snake Pit
Подсказка: даже экспериментируя, не полагайтесь на «странность» Даже при экспериментах «странность» непостоянна и её сложно предсказать. Например, в мою 42-ю игру Murder Clown сыграли больше 10 тысяч раз. Однако многие узнали о ней из старого летсплея Markiplier. С другой стороны, Moist Curds (92-я игра) собрала в результате всего 33 запуска.
4: Быстрая разработка — полезный навык
На основе открытий, сделанных в процессе Experimental Gameplay Project, я могу сказать, что быстрая разработка — это не просто образ жизни. Быстрая разработка — это навык, который нужно прокачивать и практиковать. Когда вы поймёте свой ритм и разберётесь со своими слабыми и сильными сторонами, то сможете развивать гораздо бОльшие скорости.
Моей девятой игрой стала An Occurrence at Owl Creek Bridge, выпущенная в 2013 году. На её разработку ушло 3 месяца (примерно 13 недель), она длится 5 минут, и это линейная история с единственным уровнем — это симулятор ходьбы. С учётом всего этого, она хорошо проявила себя для такой небольшой и ранней игры: получила «серебро» на Serious Play Conference и её показали на открытии Pop-up arcade Смитсоновского института.
Моей 46-й игрой была Bottle Rockets, выпущенная в 2014 году. На разработку этой игры ушло 4 дня, а игровой процесс длится 6 минут. В ней есть 9 разных комнат с головоломками. По сравнению с An Occurrence at Owl Creek Bridge Bottle Rockets заняла всего примерно 5% времени её разработки, а игровой процесс всё равно оказался дольше.
Моей 87-й игрой стала Innovative Food Company, выпущенная в 2017 году. Время разработки — 2 недели. Однако за эти 14 дней (увеличение времени разработки относительно Bottle Rockets на 250%) она всё равно получила 500% времени игрового процесса, накопив по сравнению с шестью минутами Bottle Rockets солидные 30 минут. По сравнению с 9 уровнями Bottle Rockets в ней 60 уровней с головоломками.
Подсказка: пробуйте что-то новое в каждой игре — мне удалось увеличивать темп разработки параллельно с обучением новым навыкам благодаря изменению одного центрального элемента в каждой новой игре. Новый элемент может быть практически чем угодно:
5: Избавление от фич так же важно, как и базовый контент
Не давайте временным ограничениям отсекать фичи игры за вас. Отсекайте их с самого начала и делайте это часто. Каждая дополнительная фича размывает посыл вашей игры. Отсекайте их, чтобы явить посыл во всём его великолепии.
6: У каждой игры есть посыл
Если вы будете понимать, в чём ваш посыл, то это будет влиять на все остальные аспекты игры. Даже если вы не планируете передавать игрой какое-то сообщение, то игроки всё равно найдут в ней значение.
В конце концов, как бы хорошо вы ни пытались и ни знали сюжет, это не изменит результата. Посыл игры таков: «Ты никогда не сможешь контролировать всё и всё знать. Наслаждайся поездкой, пока она не закончилась».
Подсказка: думайте с позиции «может быть», а не «должно быть». — Вместо того, чтобы предполагать, что сообщение должно быть передано конкретным способом, посмотрите, как влияют на ваш посыл разные графические стили и механики. Жанры — неплохое начало, но не давайте им мешать посылу только потому, что в жанре «должны быть» определённые элементы. Какие ловушки жанра можно отбросить, чтобы подчеркнуть посыл?
7: То, во что вам нравится играть, не всегда совпадает с тем, что вы можете делать хорошо; то, что вы делаете хорошо, не обязательно совпадает с тем, что вам нравится делать (или во что играть)
Существует общее убеждение, что если нам нравится играть в игру, то нам понравится делать игры такого типа, но это не всегда так. Не всегда справедливо и то, что вам будет нравиться создавать те игры, в создании которых вы хороши.
Примечание: исследование жанра — Попробуйте создавать игры в жанрах, в которые вам не нравится играть, и сделайте их проектом, в который вам нравится играть.
8: Любого ребёнка можно выплеснуть с водой
Любой, кто хочет создавать игры, должен быть готов к созданию черновиков множества концептов, пригодных к развитию. Все игровые идеи стареют, а некоторые даже устаревают. Стремление любой ценой создать единственную игру — это небезопасный план. Нам нужно учиться отказываться от своих любимых проектов, несмотря на все причины. Мы способны создать концепты миллионов любимых идей, но ни одна из них не является неприкосновенной.
9: Fun — это плохо
Fun — это ужасно. Это мусорное слово, фу. Некоторые люди считают, что поспать — это fun. Другие думают, что тренировки — это fun. Кто-то считает, что еда со специями — это fun. Fun — это слово, которое для каждого означает своё. Разным людям могут казаться интересным (fun) совершенно противоположные вещи. Это чертовски неопределённое слово, его чаще используют как сигнал о личном удовольствии, чем о качестве самой игры.
Слово, передающее саму суть «fun» без лишнего багажа — это «engaged» («увлечённость»). Оно значит, что мы захватили внимание игрока, вне зависимости от того, печальна ли игра, страшна, забавна или раздражающа. Для некоторых это может показаться бессмысленным с точки зрения семантики, но это очень помогает при экспериментировании с вызыванием разных чувств при помощи игр. Чтобы игра была хорошей, игроки не обязательно должны испытывать fun: мы просто должны увлечь (engage) игрока.
10: Выпускайте и принимайте свои неудачи
Неудача — это нормально, более того, хорошо выпускать свои неудачные проекты. Не учась на ошибках, как своих, так и чужих, мы обречены на их повторение.
Пример: X
На создание всех компонентов ушёл месяц: 68 постов на Tumblr, которые мой вымышленный протагонист должен был опубликовать на протяжении июня и июля, и 9 зловещих игр, которые он должен был загрузить в августе. Однако без упора на хоррор и без ограничения временных рамок подсказки были слишком неприметными и отдалёнными друг от друга. Более того, чтобы сделать проект более реальным, я никогда не связывал его со своим именем, и выпустил под псевдонимом. Посты так и не получили популярности, а без этого фундамента проект провалился. Несмотря на то, что эти девять игр были неудачей с точки зрения моей формулы успешности, я рад, что завершил и выпустил X.
Хотя я знаю, что мог бы предпринять для переделки проекта, самым важным уроком было то, что его проверяет сама реальная жизнь, особенно когда ты слишком привязан к своему проекту. Кроме того, я понял, что важно учиться на своих неудавшихся экспериментах. Три месяца на усвоение этого урока вполне терпимы относительно общих масштабов моей задачи. К счастью, я научился этому в процессе создания 100 игр, а не в проекте с бОльшими ставками!
Последний совет: наслаждайтесь жизнью
Создание игр может приносит невероятно большое удовлетворение. Или же стать полным стресса адом. Но страданий можно избежать. Несмотря на взлёты и падения, создание 100 игр за 5 лет не было для меня чем-то ужасным. Я не перфекционист и больше предрасположен к «штамповке» новых продуктов. Например, за год до начала марафона я создал 11 игр, написал несколько сочинений, которые теоретически можно считать новеллами (они по-настоящему интересны), и поучаствовал в создании нескольких плохих фильмов. Этот марафон соответствует моей натуре, и даже если бы я не поставил себе цель в 100 игр, то всё равно создал бы много.
В конце концов, делайте то, что приносит удовольствие ВАМ, а не то, что считают приносящим удовольствие другие. Если это игры, то, надеюсь, мои советы окажутся вам полезными!