Инди Петр
2 008

Мой инди проект длиной в 10 лет

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

В закладки

Встретив живой отклик на публикацию ссылки на мою последнюю игру Другой Марс, я обещал (в комментариях) написать более подробную статью. Не знаю как вам, но мне выходить на публику всегда непросто. Особенно, когда чувствуешь себя в современном инди-мире "белой вороной". Но -- назад пути нет! Так что, поехали!

"Возвращение квантового кота" или назад в 2009

В 2009 году мне не пришло бы в голову называть свою игру "инди". Для меня это был просто проект с открытым исходным кодом. Я не думал, что он будет работать где-то ещё, кроме Unix систем... Речь шла об игре - приключении. Квесте про парадоксы квантовой механики и борьбу со злом. Да, в игре был кот.

Возвращение квантового кота. 2009 год.

"Возвращение квантового кота" -- моя первая игра на движке 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 уже можно было писать аркады или казуалки, но теперь эти средства стали удобней и позволили интегрировать эффекты непосредственно в квест. Первой игрой, в которой использовались эти возможности, стала "Вахта".

Вахта

Множество тёплых откликов на эту игру стали для меня очень приятным сюрпризом. Я понял, что да... графика нужна. В том числе для интерактивной литературы. И даже простая, но аккуратная графика -- сразу добавляет очков к восприятию игры.

И я решился на следующий эксперимент. Я попробовал написать парсерную игру, в которую бы могли поиграть не только любители жанра, но и те игроки, которые не знакомы с такого рода игрушками. Для этого я и написал "пилотную" игру: "Другой Марс". Это очень простая игра.

Игра только что выпущена, но я уже очень доволен фидбеком. Это реально окрыляет и даёт силы на новые эксперименты. Я мог бы написать много технических деталей по реализации парсера. И рассказать, почему я вообще написал свой парсерный движок. Но боюсь, разумный лимит места на статью исчерпан. А современные читатели (как и игроки) не очень любят длинные тексты, не так ли? ;)

{ "author_name": "Петр", "author_type": "self", "tags": [], "comments": 38, "likes": 117, "favorites": 57, "is_advertisement": false, "subsite_label": "indie", "id": 24627, "is_wide": false }
{ "id": 24627, "author_id": 76141, "diff_limit": 1000, "urls": {"diff":"\/comments\/24627\/get","add":"\/comments\/24627\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/24627"}, "attach_limit": 2, "max_comment_text_length": 5000 }

38 комментариев 38 комм.

Популярные

По порядку

Написать комментарий...
19

Как и обещал, статью написал. Надеюсь, кому-то будет интересно. :)

Ответить
1

Пётр! Вы молодец!) Пишите больше! особенно проектов!) но мне вот интересно - вы никогда не пытались оценить "суммарный" охват по пользователям в количественном эквиваленте? (понимаю, что проект не коммерческий, но наверняка вам и самому было интересно, сколько народу с удовольствием учавствует в вашем воображении)
и да...
А современные читатели (как и игроки) не очень любят длинные тексты, не так ли? ;)

Современные чиатели - как читатели Шрёдингера - Читать они и любят и не любят одновременно)

Ответить
1

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

В плане цифр, последнюю игру с репозитория игру скачали около 450 человек (выпустил на днях). Ну, наверное стоит добавить неучтенные веб запуски. Смешно, по современным меркам. :)

Ответить
3

На первом сайте она была. Потом я её просто убрал. Примерно, как убрал велокомпьютер со своего fixed-gear велика. :) Не знаю, свободней как то... Сейчас у нас анархия в сообществе, репозиторий игр не на мне. Так что если автор репозитория прикрутит аналитику, она будет. Мне важно просто чувствовать что ца пока есть. В основном, это чувство подкрепляется отзывами. Спасибо, ребята!

Ответить
9

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

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

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

Ответить
8

На фоне соседней статьи про выпуск инди, где люди плакали, выдыхались и искали баги на последних секундах - такая ... умиротворенная статья.
Рядом бушуют страсти, рушатся дедлайны, а тут сидит человек и по-тихому пилит свои нишевые игры.
Жанр, к сожалению, не мой, но читать про такое очень интересно.
Спасибо за статью.

Ответить
0

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

Ответить
0

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

Ответить
0

Движок оказался мультижанровым.

Ответить
3

Спасибо! С удовольствием вчера прошел "марс" и "Вахту". Даже захотелось, что-то свое сделать, но я больше по рисовать, чем писать :) Так что могу с этим помочь в свободное время, если устроит стиль.

Ответить
3

Ох! Это было бы реально круто. Так как программистов у нас полно, но не художников.

Если что, варианты связи:
форум на http://instead-games.ru
Для гиков, может понравится сеть idec: http://club.syscall.ru
Ну и телеграм чат: http://t.me/insteadtalk

Ответить
0

Без проблем. Чиркану в телеграм-чат :)

Ответить
3

Прошла Марс - замечательный совершенно. Хочется еще! Спасибо вам.

Ответить
2

Спасибо! Попробуйте тогда мою предыдущую "Вахту": http://instead.itch.io/watch

Ответить
2

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

Ответить
2

Лично я точно не считал сколько игр написал. Думаю, около 20. А вообще, в репоизотрии сейчас около 150 игр. + Движок.

Ответить
2

Спасибо за статью!

Ответить
–5

За десять лет Вы сделали несколько текстовых новеллок?

Ответить
6

Это не текстовые новеллы, мой наивный друг. Поиграй в Особняк что ли, или в Ласт Райдера (хоть он и римейк с спектрума).

Ответить
1

Со второго раза понял, что автор сам и разработал INSTEAD. Видел анонсы движка еще на Лоре, там есть играющая аудитория судя по комментам).

Для создания текстовых квестов кстати есть еще Twine (http://twinery.org/), висивиг прямо в браузере.

Ответить
1

Из визивиг-редакторов кстати даже порекомендую https://quest-book.ru/
Там можно прямо из редактора выгрузить себе аккуратную .PDF в виде книги-игры с пронумерованными и заботливо перемешанными рандомом параграфами =).

Ответить
0

Визивигов полно, только геймплея там именно квестового нет. А только проход по графу с выбором вариантов.

Ответить
0

Хм, а что нужно чтобы появился геймплей? В твине делал короткую игру для коллег без сложной логики, но насколько я знаю, там есть поддержка событий, кастомные переменные и делать сложную логику вполне себе можно.

Ответить
5

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

Ответить
1

Интересно, спасибо

Ответить
1

Петр спасибо за статью. Очень интересно.

Ответить
1

Очень интересно! Спасибо за игры!

Ответить
1

Помню квантового кота. Супер!

Ответить
1

Игры с душой ! Так держать !

Ответить
0

Погнали в мой инди проект) Нам нужен 2Д художник и 2Д аниматор. У которых нет особых проблем со временем)

Ответить
0

Да какой из меня художник =)

Ответить
0

А нам и кодер нужен со знанием С шарп) У нас есть типо 2 художника, только времени у них ничерта нету а арт ждём уже 2 недели, что сильно огорчает. Потмоу для нас ЛЮБОЙ художник со свободным временем лучше чем хороший, но без времени.

Ответить
2

Ну у меня своих проектов дофига, вот в чем проблема. =) А проект заценю, показывай...

Ответить
0

Обязательно покажу, как только будут первые концепт-арты, даже статью тут сделаю)

Ответить
0

Ну так минусов же всегда мало)

Ответить
0

Отличные игры! Предлагаю сюжет для чего то подобного: К людоедам попадает группа людей. Каждый из них обладает вещью, которую людоеды принимают за мощное колдунство. У одного - фонарик, у другого - радиомаяк, по сигналу которого прилетает самолет (может сбросить еду и батарейки для маяка). Так же есть человек с фотоаппаратом (самое мощное колдунство - ворует души и прячет внутри), и кто то с зажигалкой и пистолетом. Есть ребенок - девочка, она умеет петь (часто петь не может, теряет голос, но со временем восстанавливается). Пение снимает агрессивность людоедов на короткий срок. Людоеды хотят есть, но их сдерживают предметы. Предметы не вечны, так как садятся батарейки, кончаются патроны и владельца такого предмета в итоге съедают. Можно сбежать кому-то одному (выполнив одно-два условия), но оставшихся съедают сразу. То есть надо сбежать вместе, выполнив цепочку квестов, что трудно. Проще всего сбежать, когда уже кого-то съели (тогда людоеды долгое время время не агрессивны, можно далеко ходить за пределы деревни) и чем меньше народа, тем проще. Как ни странно, проще всего сбежать маленькой девочкой ))

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
Уве Болл вернулся в кино
и начал экранизировать flash-игры
Подписаться на push-уведомления