Как сделать свою первую игру
Вступление
Что-то последнее время я тут начал раздавать советы, как делать игры. Ну и решил облачить свои советы в статью. Думаю, имею право на мнение - в большой геймдев студии работал, программировать умею, слово “геймдизайн” знакомое - видел когда-то.
Подозреваю, большинство сидящих здесь мечтало сделать свою игру. Но то нету времени, либо кажется, что сложно, то застрял с какой-то проблемой и забил. Чтож. Сейчас самое лучшее время, чтобы начать. Всё необходимо есть в свободном доступе - 3d и 2d модели, музыка, звуки, движки - сложные и простые, сотни туториалов, и самое главное - нейросети. Они, конечно, отбирают рабочие места и множество хороших людей остаются без работы, это плохо, но с этим уже ничего не поделать. И остаётся только пользоваться ими, зарабатывать миллионы денег и нанимать этих самых специалистов, оставшихся без работы.
Для начала приведу список распространенных заблуждений:
- “Программирование это сложно, я не вытяну.” - Кодить и правда непросто. Но сейчас есть множество движков, которые позволяют сделать игру с минимумом программирования, либо вообще без него. И, опять же, есть нейросети. Они у всех на слуху, но тем не менее, про то, как ими пользоваться, чтобы они были действительно полезными можно написать отдельную статью. Они вполне могут писать код за вас, если вы корректно формулируете свою мысль.
- “Ну как-нибудь начну, а там уже как пойдет.” - В основном эта фраза означает, что у игры нет идеи. А если начинать игру без идеи, то… получится игра без идеи. Разработка игры - это комплексный процесс. Надо думать о программировании, о механиках, о дизайне, красивой картинке, сочетаемости разных компонентов, сроках разработки, ошибках, которые обязательно появятся, и много о чём еще. Если изначально нет чёткой идеи, то потом она не появится — станет только сложнее. Потому что придется держать в голове еще сотню вещей. У вас, конечно, может получится, если вы гений. Но мануал для гениев находится в другом замке. Да и если вы гений, вы заранее продумаете план.
- “Первый проект можно делать без дедлайна, поучусь, на это времени не жалко”. - Всё, чему вы научитесь - это забивать на сроки, растягивать простейшие задачи и несколько месяцев перекрашивать одну кнопку. Посмотрите на современный мир геймдева - у всех жесткие дедлайны, и все их просирают. А если дедлайна не будет, то всё будет еще хуже. Можно застрять в одной невыполнимой задаче, и забросить разработку навсегда. Надо уметь распределять время. Если у тебя за день-неделю-месяц нет прогресса, то нужно подумать, стоит ли вообще делать ту задачу, которую делаешь. Идея может казаться гениальной, но если ее сложно реализовать, то скорее всего оно того не стоит. Никто не будет ждать ваш проект вечно, чем быстрее зарелизите и получите обратную связь - тем лучше.
- “Ну чё-то пока не интересно, но добавлю дополнительных механик и будет норм”. - Скорее всего не будет. Основная идея должна цеплять. Дополнительные механики - это соус. Соус может улучшить блюдо, но если блюдо само по себе не очень, то соус не спасет. Надо либо придумать новую основную механику, либо начать что-то новое.
А теперь от ошибок к советам.
Сначала прототип
Не надо сразу пытаться разработать полноценную игру, начните с прототипа - минимальная заготовка, которая позволяет проверить, цепляет или нет основная механика. Идея может быть хорошей на бумаге, но на деле оказаться не самой лучшей. Возможно, надо откатиться назад и сделать что-то по-другому. И чем раньше вы поймете, что лучше сделать шаг назад - тем лучше.
Первое, что нужно сделать - это выбрать основную механику. Может быть две-три, но не больше. И их должно быть достаточно, чтобы играть было интересно. Если вы поймали себя на том, что во время тестирования или разработки, вы случайно залипли в своей игре на полчаса - то это уже хороший знак, тогда можно провести плей-тест - дать поиграть знакомым и послушать, что они скажут. Если отзывы хорошие, то тогда уже можно начинать полировать игру и добавлять второстепенные механики.
Но если вам не интересно играть в свою собственную игру, то вряд ли стоит продолжать. Вы по умолчанию любите свою игру, и если вам не интересно, то не стоит и надеяться, что кому-то другому будет интереснее.
Движок
Дальше нужно выбрать движок. Тут уже нет универсального совета. На изучение движка в любом случае придется потратить время, и не каждый потом захочет со знакомого переходить куда-то еще. Начать на godot, потом сделать мобильный платформер на Unity, а затем убийцу Скайрима на Unreal engine 5 - это очень сложный план. Лучше сразу выбрать что-то одно. Хотите простого - godot или еще чего попроще. Самой лучшей графики, седых волос и больше возможностей - ue5, чего-то среднего - Unity.
Система контроля версий
Лучше сразу разобраться с тем, что это такое. Это то, что поможет вам сохранять вашу игру на каждом этапе ее развития. При поиске ошибок в проекте(а они обязательно появятся) это то, что поможет вам сэкономить часы, а иногда и дни, и недели. Просто делайте “снимок” состояния проекта каждый день. И в любой момент сможете откатиться назад, если передумаете, либо посмотреть какие изменения привели к ошибке, либо понять, в какой момент она вообще появилась. Вам нужен либо git либо с helix perforce. Git проще, и статей множество, и для начала достаточно выучить три операции. Perforce немного посложнее, материал по большей части на английском, но он заточен под работу с играми и большими файлами, да и это стандарт индустрии в AAA-компаниях.
Упростите всё, что только возможно
Для начала упростите всё, что только можно. Вместо моделей - бесплатные ассеты, упрощенный пиксель арт для 2d или лоу-поли для 3d. Про сюжет вообще забудьте. Хорошие игры будут работать и без сюжета - Elden ring, Dark souls, Ori, Civilization, Minecraft, Don’t starve и т.д. Вы можете сказать, что в том же Elden Ring-е глубокий лор, но время, которое потратили на его добавление в десятки раз меньше, чем в играх, где на каждую миссию есть десяток заскриптованных персонажей, час озвученных диалогов и по несколько кат-сцен. Проще = лучше. Часто встречаются грустные истории, когда игра не о чем, и успеха ей никогда не сыскать. Это нормально, может случиться с каждым, кроме Кодзимы. И лучше пораньше это понять, чем через год написания диалогов.
Самый важный пункт.
Как я уже упоминал - напишите план. Максимально подробный. А потом разбейте его на подзадачи. А потом ещё раз. Чем меньше задача - тем лучше. Желательно чтобы каждая задача была дня на два-три максимум. Если вы сидите и делаете одну задачу три месяца, то никак не понять, где свернули туда, как продвигается прогресс, и стоит ли может быть что-то выбросить из проекта. Потом для всех задач напишите дедлайны. И сверяйтесь с планом. Без этого даже небольшой проект закончить очень сложно.
Используйте нейросети
И только после того, как определились точно с жанром, механиками, движком, дедлайном, только тогда приступайте к работе. Сейчас нейросети очень хорошо смогут помочь на каждом шаге обучения и разработки. Но пока именно помочь. Написать игру они за вас не смогут. Как я уже писал - лучше всего работать с задачами минимального размера. А чем меньше задача, тем лучше ИИ вам сможет помочь.
Начинай с простого, с того, что получится довести до конца. Даже если есть продуманная до мелочей, но очень сложная идея - лучше ее отложить на потом. Придумай что-то другое, максимально простое, доведи до конца, а уж потом, с новым опытом начинай делать игру своей мечты.
Ищите аудиторию
Делать это нужно заранее. Одна из самых главных причин - алгоритмы стима. Если на момент релиза вашу игру не добавляли в вишлисты, то это очень часто означает, что об этой игре можно забыть. Стим не будет продвигать такую игру. Конечно, можно раскачать свою игру уже после релиза, но гораздо проще будет сделать это заранее. Тогда можно будет и проверить свои идеи, и получить обратную связь, и понять, делаете вы вообще что-то нужное или нет. Создайте группе в телеграме, пиши заметки о каждом шаге, запусти дискорд сервер, пишите дневники разработки на youtube, в конце концов выкладывай забавные моменты в tik-tok, прости господи и т.д. Не получается - попробуй другую стратегию, другие платформы, другой стиль письма. Собрать аудиторию гораздо легче, чем продать игру. А продать игру почти невозможно, если нет аудитории.
Да, все шаги масштабные и могут отбить желание что-то делать ещё до того, как вы приступили к разработке. Но без этого будет очень сложно продвигаться и преодолевать ошибки. И в будущем каждый шаг может сэкономить вам тучу времени.