Мой инди проект длиной в 10 лет
Опубликовано
Статья была опубликована на dtf.ru.
Эту статью я собирался написать не один раз, но каждый раз – откладывал. Основных причин, по которым я не решался, было две. Я не был уверен, что мой опыт кому-то интересен. Ведь в современном инди-движении, моя творческая деятельность выглядит необычно. Вторая причина проще – написанию статей я всегда предпочитал программирование.
Встретив живой отклик на публикацию ссылки на мою последнюю игру Другой Марс, я обещал (в комментариях) написать более подробную статью. Не знаю как вам, но мне выходить на публику всегда непросто. Особенно, когда чувствуешь себя в современном инди-мире “белой вороной”. Но – назад пути нет! Так что, поехали!
“Возвращение квантового кота” или назад в 2009
В 2009 году мне не пришло бы в голову называть свою игру “инди”. Для меня это был просто проект с открытым исходным кодом. Я не думал, что он будет работать где-то ещё, кроме Unix систем… Речь шла об игре - приключении. Квесте про парадоксы квантовой механики и борьбу со злом. Да, в игре был кот.
“Возвращение квантового кота” – моя первая игра на движке INSTEAD. Зачем понадобился новый движок? В то время ещё жива была память о золотой эре 2d point & click квестов. Но писать полноценный 2d квест не так-то просто. Нужен графический контент. До этого я изучал Inform 6, но посчитал, что порог вхождения для игроков в парсерную игру слишком высок. Да и с оформлением были проблемы. Поэтому, возникла мысль сделать игровую механику, которая была бы на стыке классических 2d квестов и визуальных новелл. В качестве эталона механики была взята игра “Гоблины”.
Web технологии в 2009-м ещё не достигли современного состояния, для Unix систем ничего подходящего я не нашёл, поэтому я взял SDL, Lua и… написал простой движок.
Впоследствии мне часто писали: “Зачем ты сделал движок на Си, а не на (какой-то модный язык)” На самом деле, движок почти весь написан на Lua. Я просто сделал Lua машину с встроенными средствами разработки интерактивной литературы. Примерно, как это сделано в Love2d. Но только со своей спецификой. Например, с беспроблемным сохранением состояний игры. Выбрав C и Lua, я также получил просто отличную переносимость. За это время INSTEAD где только не собирали. И что было важно в те времена – движок работал на совершенно дохлом железе.
Но в 2009-м всего этого ещё не было. Была игра. Был минимальный движок. И я просто запостил игру на старейший ресурс линуксоидов http://linux.org.ru. Похоже, “сарафанное радио” тогда ещё работало, поэтому всё довольно неожиданно для меня закрутилось. В одном из журналов, появилась статья. Помогли с версией для Windows. Появились ребята, которые стали помогать с кодом движка, писать свои игры, создавать ресурсы. Я втянулся… Начал развивать возможности. Потом, один из энтузиастов, Вадим Балашов – показал мне квесты с ZX спектрума с менюшным управлением. Он портировал старые игры с ZX: “Звёздное Наследие”, “Зеркало”, “Кайлет”… Конечно, движок всё это время дорабатывался до нужного состояния.
Развитие
За несколько лет на INSTEAD было написано множество игр. И, что здорово, это были не только мои игры! Некоторые из них оказались настолько хороши, что я был искренне рад, что мой движок помог им появиться на свет.
Некоторые попали в стим. В качестве одного из примеров, приведу игру “Материк” Василия Воронкова. Игра была принята довольно-таки тепло.
Что касается моих игр, то “Кот” был переведён на английский и японский. Игра “Особняк” – на испанский (если не ошибаюсь).
Всё это время, основным выходом на целевую аудиторию были Linux ресурсы. Во-первых, INSTEAD начал появляться в дистрибутивах Linux и портах BSD систем. Во-вторых, я и правда считал, что моя основная аудитория это гики-романтики. Я ведь делал то, что нравится мне. А я, как ни посмотри – именно гик. Однако, я заметил, что начиная с какого-то момента, аудитория пополнилась пользователями других ОС. Так что теперь я выпускаю свои игры в том числе и в виде готовых к запуску .exe файлов. Да и вообще, игроков с Windows в качестве ОС – объективно больше.
Где-то уже с 2013 года стало заметно, что многим игрокам недостаёт возможности запуска игры в вебе. Уже было несколько попыток/реализаций. Но все они требовали некой адаптации игры. Или не работали со всеми играми. Помощь пришла откуда её не ждали. Прекрасный проект Emscripten после небольшой доработки движка позволил собрать INSTEAD в asm.js код! Да, у браузера требовалась поддержка WebGL, однако главное – instead-em выглядит и работает абсолютно так же, как и нативный движок! Сейчас, как я подозреваю, в половине случаев игроки пробуют именно веб-версию.
Сообществом была создана инфраструктура репозитория игр. Версия INSTEAD для Андроида. Версия для OS X. И многое другое. Отдельного упоминания стоит версия INSTEAD для незрячих. Огромная благодарность её авторам!
Без сообщества, конечно, проект бы не получил такого развития. Однако, роль лидера проекта меня тяготила. Так как убивала время, которе я хотел тратить на творчество. Кроме того, не обошлось без склок, ссор и конфликтов (без которых не обходится ни одно сетевое сообщество). Что очень болезненно отразилось на моей мотивации. Это стало причиной для моего личного кризиса, который разрешился переходом от “аристократической” системы управления к анархии.
Оправдание творчества
Тут, кстати, стоит остановиться и рассказать немного о самом отношении к творчеству и позиционировании проекта. Я знаю многих людей, которые мечтают работать в геймдеве. Также, многие из них хотят жить на средства, полученные от разработки игр.
Интересно, но я всегда чётко понимал, что этот путь не для меня. Во-первых, у меня была интересная, сложная и нормально оплачиваемая работа. Во-вторых, я осознавал, что если я начну зависеть от творчества финансово (как инди разработчик), я начну “подыгрывать” рынку. Изучать тенденции и писать то, что эффективно с точки зрения прибыли. Написание игр станет похожим на игру на бирже. А в большой компании писать “для души” вообще не получится.
Я также понимал, что то, что я пишу – не вполне мейнстрим. В качестве примера, я приведу несколько своих игр, с кратким описанием сюжета:
- Возвращение квантового кота: история о хакере-дауншифтере и квантовых парадоксах;
- Карантин: борьба с “чужим” на полярной станции. Нелинейная игра, где заранее неизвестно – кто враг;
- Куба: мальчик спасает слона из зоопарка и увозит его на Кубу;
- Особняк: парень спасает младшего брата из зловещего особняка (очень высокий уровень сложности);
- Проводник: игра, в которой личные переживания героя, странным образом воплотились в сюрреалистическом приключении;
- Краски сентября: художник попадает в мир своей картины (парсер);
- Вахта: экипаж звездолёта по очереди несет 48-часовую вахту, а остальное время находится в состоянии криосна. Но происходит нечто странное.
- Дровосек: 2d тайловый гибрид квеста/рогалика и интерактивной литературы. Дровосек вызволяет свою жену из башни колдуна.
Почти все игры оформлены набросками от руки и озвучены любительской музыкой. Кстати, когда я написал 3-4 игры, я вдруг осознал, насколько мне повезло, что я выбрал именно жанр интерактивной литературы. И если в начале это был путь “от бедности”, то теперь я понимал, что инструмент получился мощным.
Не скрою, были моменты, когда я сильно задумывался о том, зачем я это делаю? Ведь финансовой заинтересованности у меня нет. А для получения порций славы жанр явно выбран неудачно. Что является оправданием творчества в этом случае? Зачем?
На данный момент я понял очень простую вещь. Я делаю игры потому, что не могу их не делать. Потому что я делаю всё именно так, как хочу и как мне нравится. Когда я пишу игру, я погружаюсь в созданный мир, который остаётся во мне навсегда. Даже, когда игра уже закончена. Возможно, это можно назвать эскапизмом. Но этот эскапизм приносит определённую пользу. Я часто писал игры в тяжёлых жизненных ситуациях. Или наоборот, какие-то вдохновляющие события моей жизни выливались в виде новой игры. Мне сильно повезло, что моё творчество находит отклик среди других людей.
За время разработки игр я получил и закрепил полезный скилл – умение доводить проект до конца. Есть простой факт. Пока игра не написана – её не существует. Почти закончил – не считается. Никто, кроме друзей, не станет играть в недоделку. Или в забагованную игру. Лучше сделать короткую, но законченную зарисовку, чем недописать шедевр.
Вахта
Последние игры
За последние годы стало понятно, что совсем простенькое оформление игр может стать решающим недостатком, который перекроет доступ к целевой аудитории.
К счастью, за 2017-2018 год в движок добавились средства, которые позволяют довольно свободно работать с 2d графикой. На самом деле, и раньше на INSTEAD уже можно было писать аркады или казуалки, но теперь эти средства стали удобней и позволили интегрировать эффекты непосредственно в квест. Первой игрой, в которой использовались эти возможности, стала “Вахта”.
Множество тёплых откликов на эту игру стали для меня очень приятным сюрпризом. Я понял, что да… графика нужна. В том числе для интерактивной литературы. И даже простая, но аккуратная графика – сразу добавляет очков к восприятию игры.
И я решился на следующий эксперимент. Я попробовал написать парсерную игру, в которую бы могли поиграть не только любители жанра, но и те игроки, которые не знакомы с такого рода игрушками. Для этого я и написал “пилотную” игру: “Другой Марс”. Это очень простая игра.
Игра только что выпущена, но я уже очень доволен фидбеком. Это реально окрыляет и даёт силы на новые эксперименты. Я мог бы написать много технических деталей по реализации парсера. И рассказать, почему я вообще написал свой парсерный движок. Но боюсь, разумный лимит места на статью исчерпан. А современные читатели (как и игроки) не очень любят длинные тексты, не так ли? ;)