что нужно для создания игры с нуля
Геймдизайнер с нуля: как начать делать игры без опыта
Голубев Никита, коммерческий автор и переводчик, специально для блога Нетологии перевёл статью разработчика игр Анжелы Хе о том, как без навыков программирования создать свою первую игру.
Всего 2 года назад я была 17-летней школьницей и ничего не знала о программировании. Это не помешало мне начать учиться и через несколько месяцев выпустить свою первую игру в Steam. Сегодня у меня более 10 игр для ПК, интернета и мобильных устройств и свыше 1,9 млн игроков.
Не важно, что вы умеете сейчас — при должном желании вы тоже сможете делать игры. Два года назад такое казалось невозможным: это было самое сложное, что я сделала в жизни, и оно того стоило. Теперь я понимаю, что в разработке игр, как и в любом другом деле, вы растёте только тогда, когда пробуете, ошибаетесь и совершенствуетесь.
Всему, что я знаю, я научилась сама, а теперь научу вас.
Чтобы сделать игру, нужно пройти 6 этапов:
Концепция
Совет
У вас есть классная идея. Но как оформить её на бумаге?
У каждого свой путь. Одни составляют дизайн-документы по 60 страниц, другие напишут лист неразборчивых заметок. Не знаю, как удобнее для вас, но обязательно зафиксируйте следующее:
Когда приходит вдохновение, бросайте всё и пишите. В следующий раз, когда мысль уйдёт, не понадобится высасывать идеи из пальца.
Инструменты
Графика
Совет
Если вы не умеете программировать, сначала прочтите раздел «Программирование». Вряд ли вы хотите потратить время на графику и выкинуть её потому, что под неё не написать код.
Даже если вы не умеете рисовать, игру можно сделать красивой, используя три визуальных принципа: цвет, форма и объём.
Thomas Was Alone — простая и прекрасная игра
Интерфейс
Подумайте, как сделать игру уникальной с помощью цветовой схемы, шрифтов и иконок без потери удобства для игрока. Понятна и читается ли важная информация?
Неудачный и удачный шрифт
2D-анимация
Анимацию можно реализовать двумя способами:
Что ещё может пригодиться
Советы, которые применимы не только к игровой графике, но и к другим программам:
Без тайлов и с тайлом
Пятно расширяется, но углы остаются прежними
Инструменты
Программирование
Совет
Выберите игровой движок, среду разработки и начинайте погружаться в код.
Представленных ниже знаний достаточно для начала. Все примеры написаны на C++, одном из языков программирования в Unity3D. (Примечание переводчика: на самом деле в Unity используется C#, который похож на C++).
int — тип данных, i — имя переменной, = 0 — значение переменной.
Используя оператор else, можно расширить условие и отобразить что делать, если условие не соответствует истине:
For-циклы похожи на while-циклы. Для while мы пишем так:
Равнозначный for-цикл будет таким:
Тогда при выводе функции выполняются два выражения внутри неё.
Если в коде что-то идёт не так, на помощь приходят исключения. Они как бы говорят: «Так, погоди, здесь ты сделал что-то нелогичное. Перепроверь ещё раз».
О чём ещё надо знать:
Код — это вызов самому себе. И ничего не понимать поначалу — нормально.
Как и любому навыку, программированию нужно обучаться. И, возможно, это окажется довольно интересно.
Другие немаловажные основы программирования:
Инструменты
В Unity Asset Store, bitbucket и GitHub очень много бесплатных ассетов. В своих проектах я использую минимум по два. Они упрощают жизнь, но далеко не идеальны. Заметили ошибку — исправляйте и говорите разработчику о ней.
Немаловажный, даже главный источник решения проблем с кодом — Гугл!
Совет
Аудио способно создавать настроение и погружать в игру, но для него нужна память.
Для начала решите: вы хотите звук? Если да, будет ли в игре музыка, звуковые эффекты, озвучка или повествование.
В любом случае потребуется запись и сведение таким образом, чтобы звук подходил под настроение игры. Например, Bastion использует органические и инструментальные звуки, хорошо вписывающиеся в мир игры. Crypt of the Necrodancer включил в себя смесь электронных ритмов и восьмибитного рока, чтобы передать темп и яркость игры.
Погружение решает. Если звуки не совпадают с настроением игры, игроку будет сложно погрузиться в ваш мир.
Инструменты
Приложения для работы с аудио:
Подготовка к публикации
Совет
Существует небольшая вероятность — на 99,99 процентов, что в игре есть ошибки. А это значит, что самое время заняться баг-тестом.
Как тестировать игру на баги?
Типичные ошибки
В чём дело: функция выполняется с несуществующей (null) переменной.
Быстрое решение: проверьте, является ли переменная null.
Примечание: Проверьте, какие кавычки вы используете.
» //правильные кавычки;
» //ненужные кавычки, они принесут вам немало ошибок.
Советы по оптимизации
Инструменты (только для Unity)
Публикация
Совет
Самое время показать всему миру своё творение.
Продвижение — самая волнительная стадия. Если вы сомневаетесь, вам поможет сообщество гейм-дизайнеров. Помните, что вы не одиноки, и раз прошли так много, нужно завершить дело до конца.
Вы не узнаете, станет ли игра хитом, пока не опубликуете её.
Если хотите, чтобы все узнали об игре, напишите анонсы для игровых медиа, участвуйте в фестивалях и конференциях.
Отправьте описание игры в прессу за неделю до выхода — дайте людям время написать о ней. Может случиться, что о ней не станут писать, но помните: журналисты любят красивые истории о разработчиках, уникальную или противоречивую идею и медиа-кит.
Не пишите в игровые издания, которые не освещают ваш жанр или целевую игровую платформу.
Письмо видеоблогеру Markiplier, чей канал насчитывает более 21 миллиона подписчиков
Это прекрасный инструмент для продвижения: Agar.io обрела популярность на 4chan, Butterfly Soup подскочила в загрузках после внимания в Твиттере.
Как лучше: публиковаться через издателя или самому. Хотите пойти по пути Hotline Miami, выпущенной Devolver Digital, или перенять опыт Farmville и Doki Doki Literature Club?
Чтобы сотрудничать с издателем, нужно сначала его найти. После этого будет небольшой ворох бумажной работы, зато вы получите достаточно средств для развития игры.
Если собираетесь издаваться самостоятельно, готовьтесь тратить немало времени на изучение маркетинга. Вы можете провалить кампанию по продвижению, но в процессе наберётесь ценных знаний и сэкономите деньги.
Количество установок игры растёт
Получилось! Теперь расслабьтесь, возьмите что-нибудь вкусное и отдохните. Вы работали не покладая рук и заслужили это.
Не бойтесь, если игра не получила ожидаемого внимания — это нормально. У моей первой игры всего 255 загрузок в Steam.
Главное, что вы сделали игру и многому научились. Сейчас этого достаточно, и всегда есть возможность попробовать ещё раз с новыми знаниями.
Инструменты
Сервис presskit() помогает разработчикам оформить описание игры для прессы.
Платформы для публикации:
Заключение
Нет простого пути создания игры. Есть только ваши решительность и усилия.
За каждым Half-Life, Minecraft и Uncharted лежат океаны крови, пота и слез.
Кен Левин, создатель Bioshock
Вы будете допускать ошибки, чувствовать себя в тупике и плакать. Это нормально — значит, вы растёте над собой.
Как создать игру, ничего не умея. Часть первая: модели и анимации
Привет, меня зовут Павел, и я разработчик игр. На идею рассказать о разработке игр людьми, которые ничего не умеют, но горят желанием, меня натолкнул мой брат.
— Я придумал игру, создай мне её.
— А почему ты сам её не создашь?
— Я не умею.
И я задумался, а так ли сложно что-то создать с нынешним количеством уроков и тем по созданию игр в интернете?
С чего начать?
Для начала нам нужна идея, что за игру мы будем создавать, благо у меня была идея брата. Рассмотрим её поближе.
Думаю, что данный план вполне подойдёт для создания шедевра ААА класса =).
Начнём создавать шедевр
В первую очередь регистрируемся на сайте 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 ресурсов, которые их предоставляют. Советую помимо интернета начать изучение какого-либо направления гейм дева.
Все описанное в этой статье было собрано без специальных знаний с помощью интернета.
Инструкция начинающего разработчика игр
В данной инструкции я попытался осветить основные моменты разработки игр. Инструкция будет полезна для людей, собирающихся заняться разработкой игр в роли лидера (главного разработчика и организатора).
Хочу отметить, что игры бывают разные – большие и маленькие, сложные и лёгкие, и поэтому для каждой игры эта инструкция верна в какой-то своей определённой степени. Охватить всё не удалось, но передать общие моменты, думаю, получилось.
И так Вы решили сделать свою игру, о чём Вам нужно подумать…
Думаем – нужно ли это тебе
Перед тем, как за что-то взяться, необходимо всё обдумать. А перед тем, как заняться разработкой игр, необходимо обдумать всё очень хорошо. Очень часто начинающие разработчики, достигнув определённых успехов в чём-то (сделал мод для игры, небольшой фан-сайт и пр.), начинают грезить созданием своей игры. Это происходит из-за того, что они имеют слабое представление о процессе разработки игр.
Я перечислю основные ошибки в их представлении:
Концепция и ТЗ
Когда-то давно я написал довольно неплохую статью о концепции проекта. За последние пару лет мои взгляды слегка поменялись, но суть осталась та же.
Контент
Я специально выделил этот раздел, так как он является решающим в процессе разработки игр. Под контентом понимается всё содержимое игры, с которым взаимодействует пользователь. Это графика (растровая, векторная, 3D), музыкальное и звуковое сопровождение, видеоряд, сценарий и текст. Также сюда следует добавить медиаматериалы, используемые для продвижения игры (реклама, банеры и прочие).
В английском языке есть такое понятие как «artist» обозначающие сразу художников, музыкантов, режиссёров, писателей и прочих творцов. К сожалению, в русском языке нет нормального аналога этого слова, поэтому я дальше буду использовать понятие «создатель контента».
Разберём основные моменты этого раздела.
Программирование
Как ни странно, создание программного кода для игр не является самой сложной задачей, но в тоже время и не является простой.
Тестирование
О тестировании начинающие разработчики обычно не задумываются, а зря, так как на него тратиться немногим меньше времени, чем на написание программной части. В этом разделе есть два важных момента:
Организационные моменты
Послесловие
Инструкция получилась большой, материала много. Крайне советую прочесть её начинающим разработчикам игр, так как, возможно, она поможет им избежать ошибок в будущем.
UPD: Статья получилась успешной, даже очень. Но в комментариях прослеживаются замечания по поводу отсуствия романтики и отвращения к играм. Поэтому я прокомментирую эти моменты.
Многие опускают тот факт, что статья для начинающих разработчиков игр, претендующих на роль лидера (первый абзац статьи). Не буду отрицать, что со временем, когда приобретаешь опыт разработки игр и жизнь складывается удачно, возвращается романтика и отвращение спадает. Но в самом начале, когда начинаешь с нуля, после того как столкнёшься с первыми серьёзными проблемами, эта романтика и любовь к играм исчезает ко всем чертям. Разработка игр — это не прогулка по ковровой дорожке в розывых очках, а блуждание в лабиринте Минотавра, где много тупиков.
Я не собираюсь своей статьёй вселять в начинающих разработчиков уверенность. Они должны знать, что путь разработчика игр сложен, что они могут встретить нерешаемые проблемы, что их нерализованный проект будет для них символом поражения.
Как сделать свою первую игру. 7 главных советов
Геймдизайну может научиться каждый. Главное — не бояться собственных ошибок.
Если вы читаете эти строки, вас, скорее всего, посещала идея сделать собственную игру. Может быть, вы даже пытались взяться за это — но, впервые увидев интерфейс игрового движка, сказали себе: «Нет». А потом закрыли движок и больше никогда к нему не прикасались.
На самом деле всё не так страшно, как кажется. Советуем, как перестать беспокоиться и полюбить делать игры.
Совет №1. Не стремитесь к идеалу
Не повторяйте ошибку тех, кто пытается сразу сделать игру своей мечты.
Многие берутся за разработку в надежде воплотить в жизнь свои блестящие идеи. Иногда у новичков выходит The Stanley Parable — но куда чаще их задумки гибнут ещё на первых этапах разработки, погребённые под грузом амбиций.
Не потому что у вас нет таланта — просто для этого нужны опыт, знания и, если речь идёт о хоть сколько-нибудь большой игре, команда профессионалов. Вашей целью поначалу должен быть не хороший продукт, а что-то, что вы сможете быстро собрать и так же быстро начать тестировать.
Иными словами, смотрите на свои первые проекты как на обучающие упражнения. Ведь это они и есть.
Игровой энтузиаст. Любит видеоигры, настолки и рассказывать всем, как они устроены.
Совет №2. Выберите подходящие инструменты
Найдите движок, который поможет вам освоить азы разработки. На этом этапе удобство и простота в освоении куда важнее, чем мощность технологии и список опций, — хотя они тоже важны.
При помощи разработчиков-специалистов мы разобрались в плюсах, минусах и особенностях трёх игровых движков, которые подойдут новичкам, — GameMaker Studio 2, Unity и Unreal Engine.
GameMaker Studio
Лозунг компании-создателя движка YoYo Games — «Делать игры может каждый». Дебютировавший в 2007 году GameMaker известен прежде всего своей доступностью. Например, он не требует знания кода: в редактор встроен визуальный редактор скриптов, который позволяет сразу начать делать игру.
Тем не менее его возможностей хватает, чтобы сделать качественный проект: доказательством служат такие игры, как Spelunky, Hotline Miami и Hyper Light Drifter.
Инди-разработчик и старший геймдизайнер Кирилл Золовкин (Allods Team) рекомендует движок независимым разработчикам: «Для небольшой инди-студии или одиночки, создающего 2D-игры, трудно найти более простой и понятный редактор».
Разработчик перечисляет опции и сильные стороны движка, которые пригодятся новичкам:
Однако главное достоинство GameMaker, его простота, также порождает его главные недостатки:
Кроме того, бесплатно GameMaker доступен только в первый месяц — после этого придётся купить одну из версий ценой от 39 до 799 долларов.
Unreal Engine
Движок был впервые использован в 1998 году для создания шутера от первого лица Unreal, но с тех пор успел завоевать репутацию одного из самых мощных и универсальных редакторов в игровой индустрии. На его основе созданы самые разные проекты: от серии NBA и батл-рояля Fortnite до ролевой игры The Outer Worlds и будущей S.T.A.L.K.E.R. 2.
Инди-разработчики тоже любят использовать движок Epic Games. Валентин Щекин (Primary Games) сделал на нём свою первую игру, инди-хоррор Never Again. Он объяснил, почему выбрал именно Unreal Engine: «Меня впечатлили возможности движка. Я сразу в перспективе увидел то, что мне по силам реализовать».
На этом же движке геймдизайнер и художница Юля Кожемяко (Supr Games) делает игры-инсталляции, которые она называет playful experiences. Она выделяет интуитивный интерфейс программы: «Многие вещи [в ней] можно понять методом тыка, просто изучая редактор».
Разработчица также отмечает простор для экспериментов, который даёт Unreal Engine. Для этого в движке присутствует множество опций:
В то же время у движка тоже есть свои ограничения:
Unity
Ещё один популярный движок, любимый инди-сообществом — во многом за баланс между возможностями и дружелюбностью по отношению к новичкам. Unity одинаково хорошо подходит для разработки 2D- и 3D-игр, и с момента дебюта в 2006 году в редакторе были созданы самые разные проекты — от «симулятора ходьбы» Gone Home и мобильной AR-игры Pokemon Go до изометрической RPG Pillars of Eternity и шутера-головоломки SUPERHOT.
Ведущий программист Pixonic Алексей Малороссиянов перечисляет качества, благодаря которым Unity обрёл популярность:
Из достоинств движка также стоит отметить Unity Asset Store, в котором в несколько раз больше ассетов, чем в маркетплейсах других движков.
В то же время в Unity есть свои недостатки, которые могут усложнить разработку:
В конечном счёте, как отмечает Алексей, всё зависит от того, чего вы хотите от своего проекта.
Если ваша задача — собрать прототип несложной механики, или в вашей команде есть только художники и геймдизайнеры, вам подойдёт GameMaker Studio. Если вы хотите создать кинематографический опыт со сложной визуальной частью, вам стоит выбрать Unreal. Если же вы хотите создать достаточно сложный проект со множеством механик, мобильную игру или если вы нацелены на множество платформ, стоит использовать Unity.
Совет №3. Соберите прототип и покажите его друзьям
«Не откладывайте на потом практическую часть», — рекомендует Кирилл Золовкин. Как только вы немного разобрались в движке, пришло время делать прототип — модель будущей игры, предназначенную для тестирования игровых механик.
Опирайтесь на те навыки, которые вы получили при знакомстве с движком, — так вы не загоните себя в тупик. Соберите что-нибудь небольшое — один уровень платформера или трассу в гоночной игре. Главное, чтобы в это можно было играть.
Такое самоограничение поможет за неделю-две собрать прототип, который затем следует показать друзьям.
И надо быть готовым, что его не оценят по достоинству: в конце концов, вашему творению далеко от высокобюджетных игр, к которым они привыкли. Любая реакция ценна сама по себе: во-первых, друзья дадут вам фидбэк, который поможет избежать ошибок в будущем, во-вторых, это избавит вас от ощущения, что вы делаете игры «в стол».
Совет №4. Следуйте принципу «Каждому по способностям»
Успели помучить друзей своими прототипами? Уже получается собрать целый уровень, не запутавшись в движке? Пора сделать полноценную игру. И здесь важно вновь не потонуть в море собственных амбиций.
В геймдеве (и не только) существует такое понятие, как минимально жизнеспособный продукт — то есть набор механик, которого достаточно для запуска. В случае шутера, например, это перестрелки. Все прочие механики — стелс, кат-сцены, разрушаемость — можно добавить позже.
Не пытайтесь сделать всё и сразу. Minecraft тоже когда-то была всего лишь виртуальным конструктором — и посмотрите, во что она выросла.
Геймдизайнер и ведущий канала Extra Credits Джеймс Портнов рекомендует опираться на то, что вы умеете делать лучше всего. Хорошо рисуете? Создайте игру с оригинальным стилем. Не умеете рисовать, зато умеете кодить? Сделайте проект с упором на механики.
Совет №5. Участвуйте в игровых джемах
Игровые джемы ( англ. game jam) — это мероприятия, целью которых становится разработка новых игр в ограниченный срок. Как правило, на создание прототипа участникам даётся двое суток, а тема и условия обычно объявляются перед началом джема.
Юля Кожемяко объясняет, почему так важны эти события: «На джеме есть ограниченный срок, [поэтому] ты не будешь несколько месяцев сидеть без результата, а получишь его через два-три дня… Ты увидишь, что можешь сделать, пусть даже в команде с другими ребятами. На джеме нет возможности прокрастинировать. Нужно полностью сосредоточиться на игре».
Здесь действует тот же принцип, что и с показом игры друзьям. Джемы позволяют не работать «в стол», а показать своё творчество другим участникам и, возможно, профессионалам из индустрии. Там же можно завести знакомства с будущими коллабораторами. В частности, с Ильёй Кононенко, соавтором игры The Tender Cut, вдохновлённой «Андалузским псом», Юля Кожемяко впервые встретилась именно на джеме.
Наконец, из удачного прототипа, собранного во время упражнений, вполне может вырасти полноценная игра. Так, например, на свет появились SUPERHOT, Mini Metro и Hollow Knight.
Совет №6. Составьте график разработки
Закончить игру — слишком масштабная задача. Разделите её на основные этапы — собрать уровень, написать диалоги, — а затем разбейте эти этапы на мелкие задачи, которые вам по силам выполнить за неделю.
Да, дедлайны нужны даже свободным художникам. Расписание даст вам возможность отслеживать свой прогресс и чувствовать, что вы не стоите на месте.
В посте, посвящённом разработке Never Again, Валентин Щекин даёт совет по составлению графика: «…Есть негласное правило разработчика: время, заложенное на разработку, нужно умножать на два. Не верьте! Нужно умножать на четыре».
Если вы отстаёте от графика на месяц, возможно, вам следует скорректировать расписание, чтобы дать себе больше времени. Но если застой длится уже два месяца, скорее всего, вы всё-таки переоценили свои силы. В этом случае лучше урезать масштаб проекта — выбросить необязательные уровни и механики — или просто начать другую игру поменьше.
Совет №7. Работайте регулярно
Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.
Избегайте больших пауз в работе. Старайтесь выкроить хотя бы час в день на разработку игры. Постепенно это превратится в привычку — и у вас не будет чувства, что вы топчетесь на месте.
Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».
С ним соглашается Юля Кожемяко: «Возможно, пару месяцев не будет видно никакого прогресса, [не будет ощущения], что вы идёте к разработке игр, но спустя какое-то время это произойдёт. Просто надо методично работать».