Портрет Бертрама

Please do not shoot the pianist. He is doing his best

Alexey “Averrin” Nabrodov
8 min readFeb 18, 2018

Известно, более всего чиста квартира студента — в период написания диплома. Стоит только взяться за что-то что не умеешь и что плохо получается, так производительность падает. Как и мотивация. Но в прошлой статье я обещал, что в этом месяце будет ещё, так что вот вам, немного о боли и страдании.

Машина состояний аниматора. Правда, это пока только те, что нарисованы

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

Если обратить внимание, то у каждой мало-мальски приличной игры, не говоря уже о хороших, есть свой графический стиль. Я пока очень слабо представляю себе, что у меня получится. Но я решил воспользоваться старинным убеждением, что пиксель арт — как ускоритель частиц, даже плохенький — очень даже ничего. Первое, что мне пришло в голову в качестве референсов: Risk of Rain и Deadbolt. Отличные, атмосферные игры, но с очень простой графикой. Простой, но стильной.

Risk of Rain. Те пара минут в начале игры, когда на экране нет цветного ада из эффектов и монстров

Так почему именно пиксель арт? Он не проще, а иногда и сложнее более традиционной рисовки. Тем не менее я решил, что только в этом стиле смогу нарисовать хоть что-то, что сочту подходящим. Так как я решил позаимствовать ещё и близкий к упомянутому Risk of Rain масштаб, некоторые огрехи удастся скрыть за малым размером.

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

Tools of trade

Рисование для меня — область куда более неизведанная, чем программирование. Когда-то давно я довольно много времени провёл в Photoshop и Macromedia Flash, так что в целом, я представлял себе как делается графика и анимации. Но сейчас не две тысячи шестой, всё немного поменялось. Я не только начал понимать, что каждой задаче — свой инструмент, но и перестал пользоваться пиратским софтом. Покупать же фотошоп, хоть он и, несомненно, покрыл бы мои запросы, я не собирался. Вообще говоря, конкретно для пиксель арта есть много бесплатных инструментов. Некоторые вполне удобны. Однако, я подумал, что не стоит искусственно ограничивать область применения потенциальных знаний и обратился за помощью к Krita. Это бесплатный, открытый и весьма уважаемый аналог фотошопа, который давно уже обошёл несколько более известного широким кругам старичка GIMP.

Deadbolt. Тоже очень атмосферная игра, со специфическим визуальным стилем

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

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

Итак, лорд Бертрам

Видно все огрехи с формой и цветами. В движении и более мелко выглядит по-лучше

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

Второе решение, которое, вероятно только усложнило мне задачу — — плащ. Я решил, что он поможет создать динамику там, где мои изобразительные навыки не справятся. Теперь он живёт своей жизнью, словно Плащ Левитации Доктора Стренджа. Доставляет кучу проблем при анимации. По крайней мере тем, что существует одновременно и перед персонажем и за ним.

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

И снова я начал с шагов. Два кадра «шагания» левой ногой и возврат в первый спрайт. Очень так себе. Но вместе с изучением инструментария, потратил кучу времени. Пришлось придерживаться стратегии «прогрессивный JPEG», то есть делать всё, но максимально просто, а затем уже заниматься деталями.

Стрелочками я отметил для себя откровенные косяки

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

Выглядит отвратительно, не спорю

У меня, когда я смотрю на это движение, в голове возникает слово «гребём», хотя еще больше это похоже на попытки передвигаться по скользкому льду. Благо, это движение будет видно довольно редко.

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

Довольно неуклюже, спрайты неравномерные, но в динамике выглядит лучше

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

Лучше, чем я ожидал

Если быть до конца честным, я так и не осилил доделать все анимации. Я сделал только ещё две простых: прыжка и падения. DASH, его обратный вариант и анимации связанные с «прилипанием» к стене, хотя и более или менее сформировались в голове, всё ещё ждут своей реализации. Плюс, я, возможно, добавлю «приседание». А это только анимации движения, а ведь будет ещё как минимум бой.

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

А в целом?

Как-то так сейчас выглядят материалы по игре

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

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

Когда искал референсы для графики и просто вдохновения, нашёл несколько интересных инди-игр немало похожих на то, что я планирую сделать. Но больше всего меня порадовали ребята Silent Phil и BLZofOZZ, которые рисуют очень здорово, но не слишком сложно, чтобы казаться недостижимыми для меня.

Стиль простой, но узнаваемый и требует неплохого понимания анатомии. BLZofOZZ

Ещё задену вот какой вопрос. Мою предыдущую статью, хоть и одобрительно, но назвали саморекламой. В какой-то мере я соглашусь с этим, хотя я скорее рекламирую себя не вам, а себе самому. Статьи работают больше как средство концентрации на задаче и стимул к систематизации достижений. Так как их я нигде не пиарю, скидывая только в рабочий чат, да в дружественное ролевое сообщество, читает их довольно мало людей. Если говорить о цифрах, то в среднем на статью я имею 30 прочтений и в 2–3 раза больше просмотров. Я всё ещё лелею мысль о том, чтобы начать их переводить, но тогда моя общая продуктивность ещё больше упадёт.

А дальше?

Дальше, я думаю, мне надо на некоторое время вернуться к коду, чтобы подкрепить силы, но совсем чуть-чуть. Для того, чтобы следовать «прогрессивно», мне нужно нарисовать хотя бы минимум спрайтов окружения и заняться каким-никаким, но дизайном уровня. Это потребует, в том числе как кода для работы с камерой, например, так и большего погружения в Unity, вроде работы с тайлами. Да и звуком тоже пора бы заняться.

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

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

Это котик. Он чему-то радуется. Чего взять с котика?

--

--

No responses yet