Делаем игру за три дня: день первый — персонажи и анимация

Возможно ли создать полноценную игру за три дня?

Безусловно, вопрос дискуссионный. С одной стороны, задача вполне осуществима, с другой — слишком много нюансов... Просматривая конкурсные проекты с Ludum Dare, можно убедиться в том, что даже за короткий период идея может обрести жизнь.

Но как долго она проживёт? И возможно ли полностью раскрыть идею? А что с качеством реализации? Сколько игрового времени может дать проект, сделанный за два-три дня? Вопросов слишком много.

Я убеждён, что за три дня можно создать хорошую игру. Конечно, придётся балансировать между качеством и временем. Сжатые сроки потребуют от разработчика оригинального подхода к решению проблем. В этом состоянии очень много плюсов. Один из них — это концентрированный опыт, который позволит реально оценить возможности разработчика. Подобная практика будет формировать наиболее выгодные алгоритмы разработки и отсеивать лишние действия.

Разработкой компьютерных игр я занимаюсь три года. Подробнее о моём опыте вы можете прочитать здесь. Главное, что со временем удалось накопить множество небольших хитростей, которые значительно ускоряют процесс разработки. Эти хитрости касаются всех аспектов: рисования, создания анимации, написания музыки и программирования.

Эта статья открывает условный марафон из трёх дней. Каждый день будет посвящен какому-либо аспекту создания игры. На данный момент я могу предложить следующие варианты.

  • День первый: персонажи и анимация.
  • День второй: окружение и механика.
  • День третий: музыка и сборка.

Конечно, по ходу написания материала возможны некоторые изменения, но я постараюсь придерживаться обозначенной последовательности. Также стоит уточнить, что задуманный марафон предполагает подсчёт затраченного времени на разработку, которая будет вестись параллельно с написанием материала.

На подготовку этой статьи у меня ушло три дня, один из которых был посвящён непосредственно самой разработке. Это значит, что финальный проект будет доступен не через три дня, а через больший промежуток времени.

Я буду фиксировать время, потраченное на разработку, чтобы определить итоговый результат. Присоединяйтесь, будет интересно!

Идея как начало конца

Много ли у вас идей? У меня много, но толку от этого мало. Бывает, в голове возникает свежая мысль на уровне образов. Она ещё не имеет своей концепции, но уже вызывает интерес. Такая мысль ненадолго вспыхивает в сознании и может погаснуть навсегда, если отвлечься. Эту искру нужно поймать. Я уже давно записываю все свои творческие вспышки в блокнот, чтобы не упустить их в будущем.

В моменты, когда требуется серьёзная идея, я просто комбинирую записанные в блокнот мысли. Собранная идея обретает свою страницу в блокноте. Такой подход позволяет использовать накопленные записи, освобождая место для свежих мыслей.

Гораздо хуже, когда блокноты копятся, а потом выкидываются. Иногда кажется, что придумать что-то новое гораздо легче, чем поднимать старые записи и искать в них интересные мысли. Это ошибка, из-за которой разработчик обрастает макулатурой. Когда порядок отсутствует, то одни и те же мысли пережёвываются по десять раз. А время идет.

В этот раз я не утруждал себя поиском новой идеи для проекта. Просто открыл блокнот и уже на третьей странице нашёл нужную мне комбинацию мыслей. Можно считать, что на этом этапе я не потратил времени на разработку, ведь идеи были уже готовы.

Главная проблема в том, что некоторые идеи не так просты, как кажется на первый взгляд. Иногда разработка может затянуться из-за непредусмотрительности. Разработчик начинает раздувать искру, и она превращается в пожар, за которым сложно уследить. Все ресурсы сгорают и разработчик остаётся ни с чем. Эта аллегория наиболее точно передаёт суть той ситуации, когда создатель игры переоценивает свои силы.

Бесконтрольное развитие одной идеи может стать причиной смерти всего проекта.

Поэтому так важно ограничить свои амбиции и не выходить за обусловленные рамки. Исходить нужно из реальных возможностей.

Лучший вариант для марафона — это что-нибудь незамысловатое в плане программирования. Творческие задачи, связанные с кодом, могут затянуться надолго. Поэтому я выбрал самый доступный вариант — простой платформер.

Форма, эскиз и концепт

В мире огромное количество художников. Каждый старается найти свой стиль и обрести узнаваемость. Конкуренция приводит к появлению совершенно новых подходов в анимации и рисунке. С одной стороны, борьба за узнаваемость мотивирует творца делать свою работу лучше, но с другой — некоторые выбирают путь примитивизации форм. Количество элементов в рисунке уменьшается, а наиболее важные структуры гиперболизируются.

Самый простой путь к популярности персонажа — это сконцентрировать внимание зрителя на его лицевых элементах. А ещё лучше заполнить лицом всё пространство силуэта. Этот приём является подобием квинтэссенции кубизма. Пабло Пикассо в своих картинах в буквальном смысле раскраивает изображаемый объект на плоскости, заполняя пространство на холсте.

Две картины художника Пабло Пикассо: «Петух» и «Женщина с петухом»
Две картины художника Пабло Пикассо: «Петух» и «Женщина с петухом»

Большинство современных иллюстраторов используют простые геометрические фигуры в качестве формы для силуэта. Пространство внутри персонажа заполняется наиболее выразительными и запоминающимися чертами. И в итоге всё сводится к банальному акцентированию на форму.

Естественно, что так делают не все художники. Стоит помнить о том, что более сложные смысловые структуры требуют от зрителя определённой подготовки. Можно бесконечно смотреть на творения Казимира Малевича, но без понимания сути супрематизма как силы, двигающейся в сторону «чистой беспредметности», уловить художественную ценность «Чёрного квадрата» почти невозможно.

Современное воплощение идей кубизма. Художественная простота с глубоким философским содержанием
Современное воплощение идей кубизма. Художественная простота с глубоким философским содержанием

Моя задача — наглядно показать, что даже без знаний основ академического рисунка можно сотворить узнаваемого персонажа. Зачем усложнять творческий процесс, когда уже имеются простые решения. Лучше направить эту энергию на решение новых задач.

Меня интересует простая форма, с которой можно будет комфортно работать. На этом этапе можно позволить себе полную свободу действий. Главное — отталкиваться от простых геометрических фигур. Их удобно комбинировать и дополнять. Поиск формы занял у меня десять минут. Все картинки и анимация нарисованы в Photoshop, но вы можете использовать любой другой графический редактор. Лишь бы вам было комфортно.

Поиск формы
Поиск формы

После того, как найдена комбинация фигур, можно приступать к первому эскизу. Он будет базироваться на выбранной форме. Удобней рисовать на новом слое поверх скомбинированных фигур, настроив их прозрачность.

Поэтапное создание концепта персонажа

Думаю, стоит подробнее разобрать процесс подготовки концепта персонажа. У меня получилось шесть этапов.

  • На первом этапе я стараюсь использовать резкие линии в одно движение. Нарисовать окружность — задача сложная, но если разбить её на сегменты, то можно получить несколько простых линий. По такому принципу происходит построение первого эскиза. В любой момент, когда я недоволен результатом, есть возможность вернуться на несколько шагов назад, используя привычную комбинацию клавиш Ctrl+Alt+Z. А главное — такой алгоритм позволяет отменить неудачный сегмент без риска удалить всё изображение. Поэтому я рисую маленькими кусочками. Их удобно удалять и редактировать.
  • На втором этапе удобно вносить корректировки в контур. Можно даже поэкспериментировать с инструментами масштабирования, чтобы придать более узнаваемую форму. В моём случае всё осталось без изменений.
  • На третьем этапе закрашиваем персонажа любым цветом.
  • На четвёртом этапе я добавил немного собственных теней. Полутени отсутствуют, и в этом есть свои плюсы. Такой подход позволяет подчеркнуть рисованный стиль и сохранить объём. А самое главное — это экономия времени.
  • На пятом этапе скорректирован цвет и добавлены блики. Также немного доработан контур.
  • На шестом этапе изображён крайний концепт персонажа. Немного увеличена контрастность и яркость. Это далеко не финальная версия, ведь для ощущения целостности персонажа нужно избавиться от некоторых сегментов контура. На этом этапе персонаж выглядит собранным из отдельных кусков. Однако с таким контуром удобно работать во время анимации. Все необходимые корректировки я вношу на этапе интегрирования изображений в программный код.

На создание концепта персонажа у меня ушло десять минут. Конечно, можно нарисовать лучше, но зачем? Я делаю компьютерную игру, а не рисую картину на выставку. Здесь стоит помнить, что игра — это совокупность множества элементов. И часто сумма всех слагаемых превосходит ожидаемый результат.

Создание этого концепта заняло 80 минут

Логично предположить, что более детализированный концепт потребует больше времени на анимацию. Я исхожу из того, что мне важен законченный проект. Именно поэтому экономия времени будет на всех этапах. И только когда игра будет полностью собрана, можно рассмотреть вариант дополнительной детализации.

Анимация

На мой взгляд, анимация персонажей — самый трудоёмкий этап разработки. Он требует терпения и сноровки. Однако и здесь есть свои хитрости. Прежде всего стоит определить для себя основные приёмы анимации, которые будут использованы в проекте. Не мне рассказывать вам о двенадцати принципах анимации Уолта Диснея. Вы можете самостоятельно ознакомиться с ними на просторах сети. Я же поделюсь с вами своими соображениями насчет анимации.

  • Во-первых, вся анимация в пределах четырёх кадров. По своему опыту могу утверждать, что такого количества достаточно.
  • Во-вторых, новый кадр создаётся путём редактирования основного эскиза. Необязательно рисовать каждый кадр заново. С помощью марионеточной деформации и инструментов искажения можно добиться неплохих результатов. Обычно один кадр анимации у меня состоит из двух слоёв: на первом контур, на втором закрашенная область в границах контура. Такую конструкцию легко корректировать и вносить новые детали.
  • В-третьих, я не исправляю допущенные ошибки сразу после их обнаружения. Это отнимает время. Велика вероятность того, что большинство дефектов не будут замечены игроком. Исправлять стоит лишь те ошибки, которые слишком заметны. После того, как игра будет полностью готова, у разработчика есть возможность взглянуть на проект целиком. На фоне общей картины всегда ускользают мелкие детали, на которых можно неплохо сэкономить.

Определившись с принципами анимации, можно перейти к её количеству. Всё зависит от разнообразия действий, которые будет выполнять персонаж. Я делаю простой платформер, поэтому главный герой должен уметь бегать и прыгать. Это уже два вида анимации. Также будет присутствовать анимация, когда персонаж стоит. Ещё персонаж должен уметь стрелять.

Конечно, можно сэкономить время, сделав взаимодействие главного героя с врагами путем прыжка им на макушку, как в Super Mario. В этом случае можно пренебречь анимацией выстрела. Мой же персонаж будет уметь стрелять. Я сделаю для этого отдельную анимацию.

Анимация покоя

Для анимации, когда персонаж стоит, очень удобно использовать принципы сжатия и растяжения Уолта Диснея. Время можно сэкономить за счёт двух одинаковых кадров — первого и третьего. Но я обычно делаю кадры разными за счёт лёгкого изменения теней. Это позволяет подчеркнуть рисованный стиль.

Анимация покоя, нарисованная за 30 минут

Анимация хвоста имеет большое значение. Именно с помощью неё можно задать ощущение плавности для всей конструкции. В моём случае получился резкий переход между вторым и третьим кадром, но исправлять я ничего не буду. Необходимо придерживаться обозначенных принципов. Иначе разработка может затянуться.

Анимация движения

Очень трудно уместить в четыре кадра плавную анимацию передвижения персонажей. Особенно, если у объектов имеются очевидные конечности. Поэтому изначально было запланировано нарисовать главному герою условный намёк на лапки. Всё-таки персонаж стилизованный, и я могу позволить себе сместить акцент в сторону общего восприятия. Обойдусь без уточнения таких деталей, как усы и лапки.

Анимация передвижения, нарисованная за 60 минут

За моими плечами 25 компьютерных игр, выполненных в пиксельной графике. На рисованный стиль я перешёл совсем недавно и успел сделать всего два проекта. Это объясняет то, что некоторые приёмы пиксельной анимации перекочевали и в новый стиль.

Стоит пояснить, почему я отказался от пиксельной графики. Проблема в затратах на её анимацию.

Осьминог. Пиксельная анимация

Осьминог, вписанный в плоскость размером 320x160 пикселей с десятью кадрами анимации, занял у меня десять часов работы. Я не вижу ничего сложного в рисовании пиксельной графики. Проблема в том, что этот процесс занимает очень много времени. Особенно пиксельная анимация.

Когда всё сводится к монотонному переставлению пикселей на протяжении нескольких часов — приходит осознание того, что пора менять стиль. Я сам завёл себя в творческий тупик, используя одни и те же приёмы в пиксельной анимации. Игры становились похожими, а развитие визуального стиля остановилось. Было решено отказаться от пиксельной графики. Однако на старых проектах можно проследить некоторую вариативность. Предлагаю оценить разницу между пиксельной анимацией передвижения в пять, шесть и десять кадров.

Пример пиксельной анимации в пять кадров
Пример пиксельной анимации в шесть кадров
Пример пиксельной анимации в десять кадров
Пример пиксельной анимации в шесть кадров. Наиболее удачный вариант

Очевидно, что с увеличением количества кадров можно добиться плавности движения. Но тут есть очень важный нюанс. Необходимо очень точно подобрать скорость движения персонажа и скорость смены кадров. Иногда лучше пожертвовать парой из них, чем делать разную скорость анимации передвижения и покоя. Вообще я пришёл к выводу, что разное количество кадров в разных действиях вызывает лёгкий дискомфорт в восприятии, особенно если анимация бега отстаёт от скорости движения персонажа.

Варианты анимации передвижения

Очень удобно, если у персонажа есть колёсики. Тогда можно значительно сэкономить время на анимации передвижения. Вариантов может быть много. Всё зависит от того, сколько времени готов потратить разработчик на анимацию.

Анимация прыжка

Раньше я делал анимацию прыжка всего в два кадра. Один кадр на движение вверх, другой на движение вниз. Однако с опытом пришло понимание, что двух статических кадров мало. Я использую следующий вариант: один кадр на движение вверх, один кадр в пиковой точке и два кадра на движение вниз.

Анимация прыжка, нарисованная за 40 минут.

После приземления анимация покоя запускается со второго кадра. Этот нюанс позволяет передать момент инерции.

Анимация выстрела

Здесь я использую один очень хитрый приём. Анимация выстрела будет нарисована отдельно от главного персонажа. Таким образом я буду комбинировать её с анимацией передвижения, прыжка и покоя. Главное — грамотно отцентрировать кадры двух разных анимаций.

Анимация выстрела, нарисованная за пять минут

На нижних рисунках видно, что бластер занимает меньшее пространство на плоскости, чем позволяют размеры кадра. Это сделано нарочно. Мне проще задать центр на самом рисунке, чем потом прописывать координаты для отражения кодом. Когда персонаж будет менять направление движения, кадры будут отражаться относительно оси, которая проходит через обозначенный центр.

Теперь о самой анимации. Очевидно, что большая пуля выглядит эффектней, чем маленькая. Однако разница между диаметрами пули и ствола слишком заметна. Её можно сгладить, добавив во время выстрела вспышку в виде белой окружности. В самой игре при выстреле будет происходить тряска экрана — это значительно увеличит эффект от анимации.

Дополнительные игровые элементы

Игровое пространство должно быть наполнено разными элементами. В том числе объектами, которые смогут завлечь игрока в сложные ситуации. Такие элементы выступают в роли мотивирующего фактора. Они позволяют игроку накапливать очки, которые в процессе игры можно обменять на что-нибудь полезное. Например, на дополнительную жизнь. Принцип очень стар и банален. В этом случае не обязательно придумывать что-то новое. Меня вполне устраивает вариант с колбаской. На нём я и остановлюсь.

Варианты бонусов

Несмотря на простоту выбранного бонуса, его создание заняло время. На колбаску ушло десять минут. Связано это с поиском наиболее удачного положения и с характером анимации. Конечно, можно бесконечно увеличивать количество кадров и детализацию, но нужно ли это делать? Я считаю, что нет. Совсем необязательно добиваться плавности анимации. Главное, чтобы элемент вписывался в общую концепцию.

Три варианта анимации. Каждый состоит из 12 кадров на кружку и 6 кадров на пар. Итоговое время: два часа

Я напомню, что необходимо придерживаться принципов анимации на протяжении всей разработки. Такой подход позволит выдержать визуальную целостность проекта.

Вражеские персонажи

Создание вражеских персонажей происходит по тому же алгоритму, что и построение главного героя. Хитрость в том, чтобы убрать из процесса всё лишнее. В моём случае у врагов будет только анимация движения. Я специально придумал персонажей без ног, чтобы сэкономить время.

Варианты вражеских персонажей

Несмотря на то, что вражеские персонажи довольно просты, на поиск форм ушло время. В общей сложности на трёх врагов было потрачено три часа. Персонажи будут иметь разные траектории движения, что слегка разнообразит игровой процесс. Ничего особенного. Простая экономия на врагах, которую я постараюсь компенсировать за счет игрового окружения. Об этом в следующей статье.

Итоги за первый день

  • Поиск формы — 10 минут.
  • Концепт персонажа — 10 минут.
  • Анимация покоя — 30 минут.
  • Анимация бега — 60 минут.
  • Анимация прыжка — 40 минут.
  • Анимация выстрела — 5 минут.
  • Бонус (колбаска) с анимацией — 10 мин.
  • Вражеские персонажи — 180 минут.

Общее время составило 5 часов и 45 минут. Можно смело округлить до 6 часов. Я думаю, что это оптимальная цифра, которую легко распределить на весь день с учётом бытовых потребностей. Рабочие циклы протяжённостью в два часа позволяют поддерживать энтузиазм и трудоспособность.

К сожалению, я трудился без серьёзных перерывов на протяжении обозначенного времени, что сильно вымотало и утомило. Не совершайте такую ошибку! Работа одновременно над несколькими проектами вынуждает меня уделять разработке по 8-10 часов в день. Это неправильно.

Я знаю разработчиков, которые проводят за проектами по 12 часов. Уверен, что есть и те, кто трудится круглосуточно, уделяя сну 4-5 часов. Сидячая работа перед монитором — не самый лучший способ достичь крепкого здоровья. Про этот аспект не стоит забывать. Молодой и горячий характер, нацеленный на достижение успеха, всегда игнорирует прописные истины. Поэтому берегите здоровье смолоду. Каким образом? Решайте сами. Мои статьи не про здоровый образ жизни.

В заключение приглашаю вас в свою группу. Всем творческих успехов и терпения! До новой встречи!

220220
73 комментария

Комментарий недоступен

32
Ответить

Спасибо большое за добрые слова!

9
Ответить

Статья отличная, интересно читается даже не профессионалами (вроде меня). Понравились четкое описание последовательности, практические советы и житейские мудрости про важность отдыха, спасибо.

16
Ответить

И Вам спасибо!

3
Ответить

почему я отказался от пиксельной графикипотому что это говнище уже всех заебало
П.С. Очень понравилась Ваша статья)

20
Ответить

А мен вот 8 и 16 битки вкатывают, не то что всякие там саллоф дути с батл роялями)

7
Ответить

Очень рад, что статья понравилась!

2
Ответить