3 книги: "Не виноватая игра?", "Консольные Войны", "Икона Doom" (видео, Old-Hard SX)
Моё скромное мнение о трёх книгах:
"Икона DOOM. Жизнь от первого лица" (Джон Ромеро)
"Консольные войны" (Блейк Харрис)
"Не виноватая игра?" (Василий Овчинников)
Также можно посмотреть на ютубе
И на Boosty (бесплатно)
Creepy Support: релиз авторской инди-игры от автора шоу Old-Hard
Полтора года работы. 30 историй с кучей концовок в каждой + подобие глобального сюжета. И наконец то я могу сказать «ОНО ЖИВОЕ»!
Ну и не могу не поделиться титрами из игры… Не смотря на то, что проект авторский во всех возможных смыслах, без этих людей игра выглядела бы, звучала и игралась хуже. Дорогие мои, огромное спасибо всем вам за помощь! :)
Obsidian как редактор скриптов интерактивной книги (devlog Creepy Support)
Для своей интерактивной книги в формате «симулятора поддержки людей, столкнувшихся с аномально-криповым» в качестве редактора рассказов я выбрал… Canvas внутри Obsidian. И даже без каких-либо дополнительных плагинов. Было ли это плохим решением? Ну как вам сказать…
Начнём с простого вопроса: а что вообще игромеханически представляет из себя интерактивный рассказ, если не учитывать всю обвязку в виде глобального сеттинга, атмосферы, оформления и т.п.?
Есть набор из нескольких вопросов. Задаём вопрос — получаем ответ и выставление в true одной или нескольких булевых переменных и/или увеличение одного или несколько счётчиков на единицу. Новые вопросы и доступ к концовкам истории появляются в случае сочетания выставленных или не выставленных триггеров и счётчиков. ВСЁ! Внимание, вопрос: на какой платформе можно написать такую штуку?
Ответ очевиден: НА ЛЮБОЙ. Такие взаимосвязи хоть табличками в экселе можно описать или в INI-файле))) Но естественно, существует и тьма тематических редакторов. Ren'Py, изначально созданный для визуальных новелл, Twine – для текстовых квестов, мегапрофессиональный редактор диалогов Articy Draft… Но у всех были свои недостатки. Где-то в интерфейсе не хватало фич, или он наоборот, был сложным как пульт управления космолётом. Где-то визуализация подкачала и скорее мешает, чем помогает в разобраться в хитросплетении вопросов и ответов...
В итоге я пришёл к забавному выводу: если уж все инструменты неидеальны, почему-бы не соорудить свой? Да, он тоже будет, понятное дело, неидеальны. Но он будет своим, а значит я смогу максимально детально контролировать его поведение и допиливать под свои нужды. Он будет не универсальным, но удобным лично для меня. Так что никакого NIH-синдрома, чистая рациональность...)
В качестве основы для редактора, как я уже сказал выше, взял Obsidian, который позволяет красиво и удобно рисовать блоки и связи между ними, а также искать по содержимому такого файла.
По структуре же canvas-файл является банальным JSON’ом, парсить который для последующего наполнения собственной структуры — одно удовольствие. Впрочем, самый главный вопрос тут в том, а что же именно я пишу в этих блоках для работы с упомянутыми триггерами? Ну… лучше один раз увидеть. И я надеюсь, у вас крепкие нервы)





Что, страшно?) На самом деле да, решение получилось спорным, но конкретно для меня — на удивление удобным. Таким образом я написал 45 диалогов (31 история + сюжетные вставки) с минимальным количеством багов, и ни разу формат таких «скриптов» меня не тормозил. Моя скорость придумывания историй оказывалась на порядки ниже, чем скорость наполнения таких вот файлов. Так что… я конечно не утверждаю, что это путь которым стоит идти, но тем не менее, право на жизнь он имеет ;-)
One more thing
В игре также есть встроенный справочник, и он тоже сделан с помощью Obsidian! Но в данном случае я использовал его просто как редактор пачки связанных между собой ссылками Markdown-файлов. Потом эти файлы моя самописная консолька потом собирает в единый JSON-файл, и вуаля! Вышло, на мой взгляд, довольно удобно)
В общем, берите на вооружение: Obsidian может стать неплохой основной для игрового редактора ;-)
Ну а в следующий раз я думаю рассказать о том, как на коленке делал локализацию игры и что пошло не так уже там. Что же по игре в целом - релиз запланирован на 14 июля 2026 года, но посмотреть демо-версию вы можете уже сейчас ;-)
Всё вокруг контент — если ты достаточно смел (devlog игровой разработки)
Продолжаю тему разработки своей игры формата «симулятор поддержки людей, столкнувшихся с аномально-паранормальным». В прошлом я уже затронул тему первых граблей и (не)использования ИИ, сегодня же хотел поделиться одной идеей. Идеей наверняка очевидной, но для меня она стала чем-то новым, так что…
Итак, у нас есть преимущественно текстовая игра, в который таки нужны какие-то иллюстрации, причём как в итоге выяснилось — в количестве около 100 штук. Нарисовать их я сам не могу, скилла нет, желания его нарабатывать — тоже. Заказать художнику — можно, но нужен бюджет, плюс это время и итерации для получения качественного результата. Генерировать в ИИ — можно, но всё-равно часто получается нечто «не совсем то, что хотел». Думал я об этом, думал… и решение пришло внезапно.
Фотографии! Ну вот например для истории про «выполнение странных правил» нужна бумажка с этими самыми правилами. Без проблем! Придумал, набрал текст в LibreOffice Writer, распечатал, почеркался ручкой, помял, сфотографировал телефоном. Даже никакая обработка не нужна)
По сюжету требуется раковина, полна кро красной густой жидкости? Сфотографировал дома свою раковину, обработал ИИ-шкой, готово.
Обращающийся доигрался с лифтом и попал в иное измерение? Погулял по району, сфотографировал подходящий вид, попросил ИИ-шку перекрасить небо в «невообразимые цвета». Добавил сверху помех в графическом редакторе (это имеет смысл по сюжету), профит! И да, т.к. по сюжету большинство клиентов связываются с нами с мобильного телефона — то и фото в основном вертикальные. Эх.
Требуется фото того, что видит герой через дверной глазок? Распечатал бумажку, попросил жену выйти в коридор с ней, сделал фото телефоном буквально через дверной глазок, ИИ-шка опять не нужна. Да, с определённой попытки у меня таки получилось фото, на котором текст легко читается, но тут я его показывать не буду, ибо сюжетные спойлеры ;-) Ну и аналогичным образом решилась задача «нужен кадр, по которому можно угадать город» - как говорится, да без проблем, «я тут живу»!
В смысле «не узнали город»? Вы никогда не слышал о «памятнике клавиатуры»? o_O
Понятное дело, что не во всех случаях нужен именно чистый реализм — для тех же слайдшоу в начале и концовке я использовал некоторую стилизацию. И стилизацию это мне создавал ИИ, но вот референсы я опять таки собирал на улице сам. Простой пример, до и после.
И естественно я не вывалю тут всю сотню изображений из игры, но идею, я думаю, вы уловили. Универсальна ли она? Определённо нет. Позволила ли она мне своими силами довести игру до релиза, который состоится в Steam 14 июля 2026 года? Определённо да. Ну а демо-версия доступна там уже сейчас :)
Изометрический Wolfenstein 3D (Old-Hard SX, видео)
Wolfenstein 3D... в изометрии. Как? Что? Зачем? Узнаете в новом маленьком видео из серии Old-Hard SX ;-) Посмотреть можно или на Youtube...
...или на Boosty (бесплатно).
В ВК-видео загружу позднее.
UPD:
Не прошло и года, как ВК видео таки обработало столь тяжёлое видео аж на 5 минут. Теперь могу выложить и его:
Playdia: FMV-консоль 1994 года (Old-Hard №105, видео)
Bandai Playdia - малоизвестная японская игровая CD-консоль, производимая с 1994 по 1996 год. Мне в руки этот девайс совершенно случайно, но раз уж так случилось - давайте вместе посмотрим на игры для этой консоли и разберёмся, почему же она так и не выбралась за пределы Японии. Приятного просмотра!
UPD:
Это же видео в ВК - https://vkvideo.ru/video-60351656_456242311
Как «ИИ» (не)помогает мне разрабатывать игру Creepy Support
Уже год я неторопливо разрабатывают свою небольшую инди-игру Creepy Support, о которой уже делал посты на Пикабу, о технической части например. И недавно меня в очередной раз спросили, «а ты не пробовал использовать «ИИ» для ускорения разработки»? Я начал писать человеку развёрнутый ответ, и в процессе понял, что текст разрастается до небольшого поста...
Что за игра и какой мне нужен контент
В этой игре вы берёте на себя роль работника поддержки в секретной организации, к которой обращаются люди, столкнувшихся с чем-то аномальным или паранормальным. Клиент рассказывает, что у него случилось, игрок задаёт ему вопросы и пытается выяснить детали, а потом советует, как же клиенту лучше дальше поступить.
С точки зрения геймплея это интерактивная книга, а если ещё точнее — сборник коротеньких интерактивных рассказов в формате ужастиков-крипипаст.
Каждая история — это возможность задать 10-20 вопросов, и по мере того, как игрок их задаёт — открываются новые вопросы. Но количество самих вопросов за сеанс лимитировано! Ну т.е. игрок не может просто протыкать всё подряд, приходится выбирать, о чём спросить необходимо, а какие детали можно и упустить. По результатам в каждой истории выходим на одну из примерно 3-6 концовок. Минимум 3 есть всегда, но порой удаётся разгуляться от души)
Также в игре есть глобальный сюжет и глобальные концовки, которые будет определяться от того, насколько успешно игрок закрывал обращения. Плюс справочник монстров и явлений, пополняемый каждый игровой день, а также новостная рассылка и разговоры с менеджером и иногда другими персонажами. Ну а поскольку клиенты общаются с игроком в чате — они могут присылать не только сообщения, но и фото, а также аудио-записи (всеми нелюбимые голосовухи, ага).
Возможность присылать видео сразу вычеркнул — не потяну в плане бюджета сделать что-то прикольное в достаточном количестве, а рисовать ролики в «ИИ» — с моими скиллами качество будет достаточно посредственным.
Программирование
Игра пишется на MonoGame (.NET) + UI библиотеке Myra. И так уж получилось, что я по профессии — программист, и мне просто-напросто в кайф писать код. Плюс у меня уже был опыт написания мелких бесплатных игрушек и даже выкладывания их в опенсорс, так что деятельность не совсем незнакомая. По итогу я пробовал «вайбкодить» для игры полтора раза.
Успешный опыт: написания для Myra компонента отображения анимированных текстур. Написал подробный промт со ссылкой на исходники библиотеки и описаним того, какие параметры должны быть в компоненте, что он должен делать — и получил на выход рабочий код буквально с трёх запросов. Тот случай, когда я примерно понимаю, как решить задачу, но и могу оценить, что работа может затянуться на час. А тут всё было решено буквально за 5-7 минут. Если вам интересно — описал тут этот опыт, включая дословное цитирование тех самых запросов в ChatGPT.
Неудачный опыт: попытка прикрутить Яндексовскую AppMetrica к десктопному приложению. Сдался минут через 15-20 и отложил на потом, т.к. до релиза задачка третьестепенная. И кстати, оффтоп, но я был просто поражён, насколько лучше вопрос с метриками и аналитикой решён в веб- и мобильной разработке по сравнению с десктопом. Для десктопа все сервисы или платные, или с таким минимумом фич, что польза от них становится сомнительна.
Всё! Больше мне помощь всей это LLM-ной братии пока была не нужна: мне интереснее самому построить все подсистемы, взаимодействия между компонентами, код игровой логики и т.п. Какой-то особой рутины, которую хочется отдать наружу там уже нет. И по факту, где-то осенью этого года развитие кода почти прекратилось — изредка я что-то дописываю или фикшу, но основное время работы приходится на создание контента.
Тексты историй
Основная суть, на которой держится игра. Тут я всё пишу сам по той же причине, что и код: я хотя бы в каком то объёме умею это и мне этот процесс в кайф! Так зачем мне делегировать машине то, что я и сам умею и что меня радует? Надо мной нет издателя или другой необходимости бежать к какому-то конкретному дедлайну. Поэтому 100% текста в игре написано самостоятельно.
Впрочем, частичное применение для LLM я таки нашёл: бывает так, что я уже дописал историю целиком со всеми концовками, но кажется, что «чего-то не хватает». В этом случае я скидываю в сетку синопсис истории и прошу накидать мне идей, какие ещё вопросы мог бы задать игрок? По итогу оказывается, что из примерно 10 нейросетевых идей 5 я уже реализовал, 4 — какая-то дичь или просто не подходит конкретно мне, а одна оставшаяся «звучит прикольно, но в сыром виде использовать нельзя, хотя если использовать в качестве трамплина для других идей...» В общем, LLM-ка тут мне заменяет утёнка, но текст из неё в игру не идёт ни в каком виде, только идеи.
Музыка и звук
Музыку для игры частично пишет мой брат, композитор и дирижёр, частично — нахожу в сервисах типа Zapslat, выбирая тот контент, который можно использовать в игре легально и бесплатно, лишь указав автора в титрах. Со звуками аналогично. Мне просто нет причин упражняться с промтами для звуков и музыки, если нужный контент уже создан кем-то или будет создан лично для меня ;-)
Озвучка
Те самые голосовухи в черновом варианте я пишу сам (получается кринжово и криво, но живо!), в релизе — попрошу друзей и профессиональных актёров (иногда эти множества пересекаются :D). А вот нейросетевой озвучки в игре не будет: пока что там не то качество, не те эмоции, что мне хочется, слишком заметные артефакты и т.п. Да и блин, это просто прикольно — позвать, например, какого-нибудь крутого чтеца крипипаст на озвучку игры про крипипасты ;-)
Пока не уверен, буду ли я делать англоязычную озвучку, но скорее всего нет, т.к. целюсь в основном русскоговорящую аудиторию — сеттингом является Россия, крипипасты в качестве ориентира тоже используются локальные, ну и т.п. Но с другой стороны — в игре уже есть возможность прочитать текстовую расшифровку голосового сообщения, и вот она точно будет переведена. Если вы играли в демку — в ней это фичи с расшифровкой пока нет и озвучку для демо-контента на английском я сделал сам, но в движке поддержка уже есть, так что скоро обновлю и демку.
Перевод текста на английский
Вот тут скорее всего придётся LLM-ки активно юзать, потому что по бюджету перевод такого объёма живым человеком я не потяну. Для демки перевод вообще был сделан через Google Tranlsate, лол... Кстати, вы знали, что он умеет принимать табличные файлы, например из того же Excel?) Я вот раньше не знал.
Ну а вычитку результата я буду делать сам, плюс вызвалась помочь моя жена, у которой профильное языковое образование и уровень английского позволял в прошлом вести коммерческие переговоры с англоговорящими клиентами, так что думаю, как-нибудь с ней справимся.
Графика
Пу-пу-пу… вот тут мы ступаем в область, в которой я сам абсолютно некомпетентен и где сложно найти что-то готовое. Давайте разобьём и тут всё на несколько подразделов, что потом если и холиварить, то предметно.
Графика: интерфейс
Тут моих навыков в графическом редакторе пока хватило: референсом стал стиль Windows 3.X, воспроизвести его было несложно даже руками с моим радиусом кривизны.
С иконками поступил также, как с звуковыми эффектами и музыкой: брал их на сервисах типа Freepik, Flaticon, Freeicons, внимательно проверяя лицензию и выбирая те, где возможно бесплатное коммерческое использование лишь за упоминание в титрах.
Графика: ключевой арт, он же заставочный экран
Генерация нейросетками. 50+ попыток, куча референсов, разных промтов, немного Фотошопа Gimp’а — и вот результат, который вы уже видели. Изначально я планировал его использовать только как референс для живого художника, но за время создания и использования его в разных материалах настолько прикипел к этой картинке, что перерисовывать уже просто жалко. А вы что думаете? Бросилась ли вам в «нейронность» картинки ДО того, как вы узнали, что это нейронка?
Графика: лица клиентов
Здесь я тоже без зазрения совести использовал нейросети: на экране картинки занимают примерно 50x50 пикселей:
Важной информации или художественной ценности для истории они не несут, просто позволяют легче и быстрее находить игроку нужный чат. Впрочем, ко мне уже пришёл в комментариях англоязычный игрок, настаивающий, что если эти иконки не перерисовать реальным художником — это утопит игру и все мои труды пойдут насмарку :( Согласны с ним?
Графика: присылаемые игровыми клиентами фотографии и скриншоты
Эти картинки как работают на атмосферу, так и порой содержат намёки на то, как игроку стоит поступить чтобы выиграть.
И здесь решение гибридное: где-то я сам делал скриншоты и фотографии, редактируя их содержимое, где-то мои фотографии обработаны «ИИшкой» для изменения каких-то деталей, а где-то — и сгенерированы ей же с нуля, благо ряд таких сервисов позволяет коммерческое использование результата их работы. Фотографии показываются в чатики, и по клику открываются в модальном окне примерно на половину экрана, поэтому если не слишком долго в них вглядываться, огрехи будут незаметны.
К тому же, иногда неидеальность генерации иногда даже работает на атмосферу: вот например здесь надпись ДОЛЖНА по сюжету быть кривой, и мне даже не нужно было что-то ещё специально дописывать для её генерации :D
И вот тут я в затруднении: с одной стороны, было бы круто потом все скрины сделать в одном стиле, например заказать у реального художника сделать единообразные изображения. Но: мне кажется, что учитывая сеттинг игры почти любая стилизация картинок (в пиксельарт например) будет мимо, и в идеале мне нужен фотореализм. Стоил ли оно того (усилий, денег, времени)? Я пока не знаю. Решение ещё не принято, и было бы интересно послушать, что вы думаете по этому поводу.
При этом я точно знаю, что слайдшоу для интро и концовок я буду заказывать у реального живого художника, тут без вариантов.
Трейлер
Единственное здесь применении «ИИ» — генерация картинки с лиминальным офисом, на фоне которой я читаю текст. Но я практически уверен, что об этом никто из смотревших трейлер не догадался ;-)
Кстати, я уже писал про создание англоязычного трейлера, но если вам интересно — могу сделать пост и про то, каких усилий стоило сделать приемлемый трейлер для такой нифига не динамичной игры. Пожалуйста, напишите в комментариях, надо оно или нет?
Маркетинг и продвижение игры
Область, которую я с огроменным удовольствием бы делегировал «ИИ», но я не знаю ни одного сервиса, который бы это умел. Поэтому по старинке, ручками, ручками...
Вместо итога
Мне кажется, что ситуации с ненавистью к «ИИ» как инструменту для большинства сродни отторжению к «компьютерной графике» в кино. Люди говорят, что «не любят компьютерную графику, она всегда хуже реальных декораций и аниматронных кукол», но подразумевают, подчас неосознанно, что они не любят ПЛОХУЮ компьютерную графику. Когда же она сделана хорошо, и ты не можешь провести явную грань и угадать, что в кадре реально, а что нет — то и отторжения она не вызывает.
И мне кажется, что ситуация с «ИИ» для многих аналогична — большинству не нравятся именно водянистые нелогичные тексты или явно косячная графика, а не инструмент, который использован для их создания. Так что закончу классикой — цитатой с башорга:
xxx: У плохого мастера всегда инструмент виновал
xxx: *виноват
xxx: Долбаная клавиатура!



















