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

Слово

Еще в 2007 году, когда я сел писать свою первую игру, я был побужден искать ответы, находить решения и учиться использовать ограниченные инструменты, которые были в моем распоряжении, благодаря чистому энтузиазму и идее возможности общаться с людьми и влиять на них. их через мою работу. Прошло 10 лет с тех пор, как я начал свой путь, и, оглядываясь назад, кажется, что мне удалось добиться всего, что я планировал сделать. Но на каждую успешную игру, частью которой я был, на каждую малоизвестную инди-игру, которую я выпустил, на каждую запись в блоге, которую я написал в моем ныне покойном блоге, который достиг хороших результатов, были десятки, если не сотни других проекты, игры, инструменты и статьи, которые так и не увидели свет, хотя и давали многообещающие результаты. Иногда мешали время и сжатые сроки, иногда это были мои ограниченные технические знания, но в большинстве случаев все сводилось к одному чувству или состоянию ума. Проще всего описать это как дальнего родственника скуки, которую я стал «любовно» называть многополярной «Судорогой».

Путешествие

В 2007 году инструменты, которые позволяли мне создавать игры, были дорогими и недоступными для меня. Полнофункциональный движок имел как скрытые, так и видимые (из-за отсутствия лучшего слова) затраты. Даже если начальная стоимость приобретения лицензии (тогда вам пришлось бы заплатить цену в тысячи долларов) не была проблемой (это было), сумма технического долга на моих плечах в сочетании с ограниченными каналами поддержки (отсутствие твиттера или гугл-тусовки), доступные мне, несомненно, свели бы на нет весь процесс завершения чего-либо. Поэтому я сделал единственное, что мог, и сделал все сам. Я научился отображать пиксели на экране, анализировать текстовые файлы, получать ввод с клавиатуры, подделывать некоторые основы физики и взаимодействия с коллизиями, загружать звуки и каким-то образом упаковывать все это вместе и выпускать что-то.

Тогда я с нетерпением ждал любой технической суматохи, которая встречалась мне на пути. Это был новый опыт и новый вызов, который нужно было преодолеть. Вы могли бы подумать, что 10 лет в этом процессе делать это было бы детской забавой, и неудивительно, что вы правы. Но я бы не смог сделать это сейчас. Потому что после того, как сделал это так много раз, это скучно. Я знаю, сколько времени у меня уходит на это, какие возможные предостережения ждут, и я примерно знаю, что после того, как все это будет сделано, на моем пути обязательно встанут новые препятствия (такие как получение/создание графических и звуковых ресурсов и преодоление обычных, технических и зависит от платформы, ошибки). И я даже не вникал в маркетинговую сторону этого.

Чувство

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

Ранее я упоминал, что эти ментальные барьеры и блокираторы связаны с чувством скуки. И самое простое лекарство от этого — попробовать что-то новое. Вы можете пойти дальше и попробовать какую-нибудь новую технологию, поиграть с ней и погрузиться в безумие открытий в стиле майнкрафт. И это все прекрасно, пока вы не сядете и не попытаетесь сделать что-то серьезное (здесь: ожидание результата от этого усилия). Потому что, как только появляется шанс не закончить/завершить то, что вы намеревались сделать, чувство возвращается. Это больше не проблема микроуправления (повторная реализация процедур обработки ввода, рендеринга и управления активами), а макро-проблема.

По прошествии 10 лет вы все еще знаете, чего ожидать, даже меняя процессы, поскольку конечная цель смутно похожа (завершение чего-либо). Такое ощущение, что находишься внутри самой маленькой матрешки. Независимо от того, какое количество абстрактных инструментов и библиотек промежуточного программного обеспечения и платформы вы используете, в конечном итоге вышестоящий уровень остается одним и тем же. Вот только "косметика" бывает разная. Думайте об этом как о иерархическом наборе вех с отдельными целями и задачами, назначенными им. Выполните задание и пройдите этап. Завершите остальные X вех, чтобы продвинуться вверх по иерархии. Дойдите до следующего шага и повторите все сначала. Это почти как игровой цикл, в котором верхняя иерархия разветвляется и снова соединяется с нижней, пока вы не нажмете возврат или не прервете последовательность и не выйдете из нее.

Реализация

Плюс всего этого в том, что сейчас это скучно. Здорово, что я так знаком с этим, потому что это означает, что все, что мне нужно делать сейчас, это работать через боль и работать над этим. Я начал делать игры, думая, что это весело. Это по-прежнему весело, но это как вождение. Это прекрасное чувство, когда ты можешь водить машину (в рамках закона, заметьте), но когда ты стоишь на перекрестке 10 минут, ощущение свободы улетучивается. До тех пор, пока вы не доберетесь до шоссе, которое есть.

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

До сих пор я устанавливал ограничения на размер экрана, который я хочу использовать (разрешение), количество входов, доступных игроку, или ресурсы на экране. Теперь я приправляю это, ограничивая свою платформу разработки, свое рабочее место и свои технологии. Если раньше я работал над своими играми, сидя за столом, используя знакомые инструменты и движки на знакомой платформе (Windows, Ubuntu), то я делаю решительный шаг. Я купил себе хромбук, новый смартфон, HMD и арендовал сервер у известной компании, которая предлагает VPS и выделенный сервер (название рифмуется с волшебным зельем). Возвращаюсь к своим маршрутам по-новому. Я собираюсь разрабатывать и создавать игры для Интернета, используя знакомые ресурсы по-новому. Но с дополнительными оговорками.

Решение

Я не иду по пути WebGL/Canvas. Существуют сотни статей, руководств и игр, созданных таким образом. Вместо этого я построил себе веб-сервер и подключил к нему lua. Это как начать все сначала, с самого начала, со свежим мышлением, но со всеми предыдущими знаниями на неизведанной территории. На этот раз задача состоит в том, чтобы научиться использовать браузер в качестве платформы без рендеринга в реальном времени. Я поигрался со своим новым фреймворком и сделал небольшой roguelike. Вы нажимаете кнопку формы, и спрайт игрока перемещается в указанном направлении после обновления страницы. У меня ушло на это 5 минут. Я потратил 6 часов на поиски того, как заставить его масштабироваться на весь экран на настольных и мобильных устройствах. Это не было скучно. Так много нового я никогда раньше не испытывал. И они легки и просты для людей, занимающихся веб-дизайном и разработкой, но для меня это новое начинание. И поскольку это «легко», это означает, что есть ресурсы, которые я могу найти и использовать без особых препятствий и получить мгновенное удовлетворение, которое мне нравится, после изменения свойства в файле css. Это должно поддерживать меня в течение нескольких месяцев.