Революция Чайных Пакетиков
3.37K subscribers
176 photos
90 videos
139 links
Авторский канал о том, как нейросети меняют наш мир. Делаю игры. Рассказываю, как работают топовые ИИ. Делюсь халявными сервисами. Экспериментирую и угораю над реальностью.
Download Telegram
GPT Image 2 появился в подписках ChatGPT.

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

Теперь это отличная альтернатива нано-банане для создание атласов анимаций.

Промпт:
Создай атлас анимаций [Обьект].
Задача - получить сетку 3x3, где [Обьект] повернут в разные стороны.

Должно получиться 9 ячеек персонажа в изометрии с серым фоном. [Обьект] должен быть направлен в разные стороны от центральной ячейки.

Направления поворота.
1 ячейка: назад и влево
2 ячейка: назад.
3 ячейка: назад и вправо
4 ячейка: влево.
5 ячейка: пропуск
6 ячейка: вправо
7 ячейка: вперед и лево
8 ячейка: вниз
9 ячейка: вперед и вправо
Модель наконец избавили от "желтезны". Очень хорошая работа с текстом и инфографикой. Великолепная детализация! Взгляните какой крутой UI она творит.

Что думаете? Огонь?🔥
🔥179👍7🤯2
Media is too big
VIEW IN TELEGRAM
Инспектор для Phaser 2.0. Забираем лучшее из Unity.

Всем привет! Я уже писал про связку Phaser+TS+Vite. Но коротко напомню почему эта связка лучшая для работы с LLM.

Phaser, если кто не знает: это JS/TS-движек для 2D-игр. Работает в браузере, легкий, хорошо документирован, и LLM знает его на отлично.

Но есть одна проблема, которая реально доставляет проблем.

Те, кто работал в Unity, знают что такое Инспектор. Это панель, где можно в реальном времени крутить любые параметры: скорость персонажа, размер объекта, цвет, позицию. Нажал, подвигал ползунок - увидел результат.

Работая с кодом ничего такого нет. Хочешь поменять скорость врага: лезешь в код, правишь цифру, перезапускаешь, смотришь. Ну или каждый раз дергаешь LLM.

В прошлый раз я кратко упоминал, как решил эту проблему. Сейчас я собрал огромный универсальный промпт, который добавляет живой Инспектор в любой Phaser-проект.

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

Как использовать:
1) Скачайте промпт из комментария поста.
2) Откройте Claude Code или Cursor, выберите модель по-сильнее (Opus или gpt 5.4)
3. Приложите файл в ваше окно для промпта и запустите. Дальше LLM всё сделает сама.

Ставьте 🔥 если полезно.
🔥398👍5
Media is too big
VIEW IN TELEGRAM
Что сейчас с Hexstorm?

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

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

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

За длинные выходные удалось хорошо продвинуться по PC версии:
- Игра переехала на Phaser 4.
- Все ключевые арты обновлены до 4K, часть дорисована вручную, включая интро и задник корабля.
- Улучшены текстуры террейна.
- И самое важное, окончательно сложилась сюжетная линия. Под это даже собрал отдельный инструмент для удобной сборки комиксов между миссиями.

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

Если хотите поддержать проект, добавляйте в вишлист и ставьте огонечки 🔥
🔥39👍125❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Игра из рилса.

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

~2 часа разработки и игра готова.

Поиграть можно тут: https://tearevo.com/quor

В какое удивительно время мы живём🔥

UPD: Подкрутил ИИ, напишите если сможете у него выйграть.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍94😱3
Media is too big
VIEW IN TELEGRAM
Еще немного о системе автотестов в играх.

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

После каждого крупного обновления в HEXSTORM: Tears of Arcadia: играет мой невидимый помощник. И за час он может прокатать столько матчей, сколько живой игрок не осилит за неделю. Это автобот: тестовый ИИ, который ходит по уровням, тратит валюту, выбирает бусты и докладывает, где у игры протекает баланс.

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

У него нет строгого скрипта действий, он адаптируется под "состояния". Состояний может быть несколько:
Дебют. Тут автобот выбирает одну из случайных стратегий старта. В один бой он строит два коллектора и пушку. В другой начинает с рейлгана, а экономику оставляет "на потом".
Паника. Если коллектор горит, он его спасает; если турель просела по HP, он её апгрейдит до того, как её снесут. И только потом думает о расширении.
Оборона. Он проверяет, работает ли экономика, достаточно ли коллекторов для развития, если да, то начинает строить пушки.
Развитие. Когда он решает что пушек достаточно и прямо сейчас базе ничего не угрожает - он инвестирует в более технологичное вооружение. Коллекторы он апгрейдит, только когда на поле уже стоит минимум три орудия иначе экономика растёт, а защищать её нечем. Сколько и каких орудий окажется на поле боя - он не знает, и я не знаю. Это всегда случайное число. В коде есть плавающий коэффициент приоритетов. В одном бое это может быть раш обычными пушками, в другом ставка на авианосцы.

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

HEXSTORM - это рогалик, тут каждый бой уникален, разнообразие добавляют "усилители", которые случайным образом спавнятся во время полета Аркадии. И тут у автобота тоже есть стратегии. В одной он может укрепить оборону, в другой нарастить вооружение. Результаты он запоминает и повторяет наиболее успешные.

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

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

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

P.S. В комментариях универсальный промпт для создания такого бота на вашем проекте.
🔥1711👍10
Как выстроить архитектуру проекта, в котором LLM не теряет контекст

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

Нюанс в том, что я очень кропотливо слежу за иерархией и архитектурой проекта.

И главное слово тут - декомпозиция.
Год назад я почти не использовал это слово, а сейчас стараюсь мыслить им при решении любой задачи. И декомпозиция — это не “разложить код по файликам”. Это способ думать о системе так, чтобы каждая её часть имела свою причину существовать.
Не одна огромная система, а множество независимых систем. Поэтому задача обычно попадает в ограниченную область. Игру сложно сломать одним неверным решением, потому что по сути вся игра это множество мини-игр, которые обмениваются друг с другом данными.
Думать декомпозицией - значит искать смысловые границы. Сложно? Ща объясню.

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

Хорошая декомпозиция позволяет думать локально. Ты можешь открыть одну подсистему и понять её правила, не загружая всю игру в голову.

Для человека это снижает усталость.
Для LLM - снижает потерю контекста.
Для проекта - снижает шанс, что правка кнопки сломает босса.

Критерий простой: если часть системы можно удалить, заменить или переписать, не переписывая половину проекта - архитектура работает правильно.

Хороший вопрос при проектировании: “Какие процессы в игре могут меняться независимо?
Не “какие классы мне нужны”, не “как назвать папку”, а именно процессы.

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

Чтобы этого добиться, я придерживаюсь нескольких правил.
1. Делать карту проекта.
Нужен короткий файл, который объясняет: какие системы есть, где они лежат, за что отвечают и какие правила нельзя нарушать.
Это не документация ради документации, а навигация. Особенно когда проект растёт, а контекстное окно у LLM не бесконечное.
Это может быть claude.md, система skills или простой readme.txt, где описано, что где лежит.

2. Держать в голове иерархию проекта.
Можно не помнить каждую функцию, но понимать, где что лежит, обязательно.
Это нужно, чтобы видеть, когда LLM начинает писать функцию не в том файле. Такое бывает. Уверенно, красиво, неправильно.

3. Ограничивать размер файлов.
Я стараюсь держать файл в пределах 2000 строк. Если файл становится больше — пора смотреть, не смешались ли внутри разные ответственности.
Например, combat.js можно разбить на combat_logic.js и combat_visual.js.

4. Проверять модуль одной фразой.
Файл или модуль должен легко описываться одной фразой: “управляет волнами”, “рисует интерфейс боя”, “хранит прогресс”, “считает экономику”.
Если описание превращается в “делает это, это, это и ещё немножко вот это” — система расползается.

5. Не смешивать временное и постоянное
Debug-инструменты, тестовые режимы, редакторы, cheats и автотесты нужно держать отдельно от игровой логики.

Например, у меня есть папка _utils, где живут системы дебага, автотеста, редакторы и разные вспомогательные инструменты. Большинство из них запускается внутри игры, но я могу удалить любой из них или всю папку целиком, и игра этого даже не заметит.

6. Выносить визуал отдельно от логики
Логика должна решать, что произошло. Визуал - как это показать.

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

Ставьте🔥 если такой контент вам интересен. Мне есть много чего сказать на эту тему.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8513👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Вчера, наконец закончил новую систему прокачки в HEXSTORM: Tears of Arcadia.

Для этой системы создал отдельный редактор. Видео в комментариях.

Проектировал ее изначально под автобота, о котором писал выше.

Механика такая: автобот проходит в игру - считает экономику, и коректирует значения так, чтобы играть было интересно.

Интересно с точки зрения автобота - 50% побед. Т.е. если в среднем он проходит миссию с 50% вероятностью - всё ок. Если нет, значит не хватает боевой мощи. Тогда он идет в код и делает какие-то навыки дешевле. Если вероятность выше 50%, значит слишком легко - он увеличивает сложность прокачки. Думаю, за 20-30 циклов прохождения (одна ночь) у меня получится неплохой стартовый баланс, который можно будет дальше тюнить руками.
🔥264👍4
Media is too big
VIEW IN TELEGRAM
"ДемовЭрсЫю! Я хочу демовЭрсЫю в МАЙ!"

Seedance так и не научили в русский язык😂
😁366👍3🔥1
Media is too big
VIEW IN TELEGRAM
Сделал порт на Steam Deck.

В официальном твитере Phaser появился пост про HEXSTORM. Ребята говорят, что это одна из первых Phaser 4 игр в стиме.

Приятно быть первопроходцем, поэтому решил закрепить результат и сделать первую в мире phaser-игру с полной поддержкой Steam Deck и Steam input API.

В этот раз работал полностью в Cursor и GPT 5.5. Последнее время Claude 4.7 что-то много ошибается.

Оказалось не просто. Ожидал справиться за вечер воскресения, но пришлось повозиться еще 2 вечера. Steam Deck работает на Linux, а windows игры эмулирует через Proton.

Эмуляция в упор отказывалась дружить с windows версией NW.js. Точнее, игра запускалась, и прекрасно работала в режиме Touch Screen, но не видела органы управления приставки. Хотя с xbox-геймпадом такой проблемы не было.

В итоге решил сделать полный linux-билд. Загрузочный дистрибутив вырос в 2 раза.
Зато теперь игру можно запустить на глюкометре😂

И да, все заработало. Верно движемся к демке 27го мая

Поддержать проект можно,
добавив игру в вишлист.
Или просто поставьте огонёчек под постом. Мне будет приятно🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥58👍105
Создаём выдуманный шрифт.

Как и любое моё открытие, оно случилось из лени. У меня был загрузочный экран, на котором были подписаны элементы корабля. Осознание того, что эти элементы нужно подписать на семи языках, приводило меня к отчаянию. К тому же каждая 4K-картинка раздувает загрузку игры.

Но тут появилась мысль. Жители планеты Хорал не знают никакого земного языка, а значит, должны говорить на своём. А если у них свой язык, значит, должен быть и алфавит. Вот и пихну его в схемы «Аркадии» на загрузочных экранах.

И пихнул.

Но это не единственная картинка с надписями внутри мира. Поэтому я понял, что нужен шрифт. Сгенерировал и дорисовал подходящий набор символов в Nano Banana. Затем полез с этим растровым монстром в новенький Claude Design. Но.. Он не вывез.

Проблема в том, что он «слепой»: его модель распознавания картинок абсолютно бестолковая.

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

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

Иногда лень - самый надёжный генератор фич.
👍29🔥176❤‍🔥3🤔1
И еще немного про архитектуру. Или как не дать LLM-топить проект.

Иногда смотрю вайб-код проекты блогеров с youtube, иногда подписчики присылают. И заметил одну особенность. Про себя назову ее "Леруа Мерлен". Но давайте откатимся на несколько месяцев назад.

Всё началось с раннего прототипа HEXSTORM. Меня дико бесило, что игра ломалась после очередной фичи. Это не проблема, если она крашилась, выдавая код ошибки, когда тестируешь PC-билд. Нажал F12, скопировал ошибку и отправил в чат с LLM.
Но если краш случился в Safari на iphone - нужно очень сильно постараться, чтоб выловить эту самую ошибку. Тогда, я подумал, что надо не пытаться делать ИИ безошибочным, а нужно сделать проект таким, где его ошибки локализуются.

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

Мини-системы это архитектура, где ошибка ИИ редко убивает всю игру, это включает в себя:
+ явный контракт
+ запрет прямых зависимостей
+ безопасный runner
+ feature flags
+ fallback/degraded mode


Сложно? Разберем.

Представим огромный магазин, уровня Леруа Мерлен. В нем есть все что нужно, но если упадут кассы - всё встанет. Весь магазин перестанет работать. А теперь представим торговый центр с множеством магазинов разных компаний. Если упадет касса в Colins - можно пойти и купить рубашку в Springfield.

Мини-система - это отдельная часть игры, которая отвечает за одну понятную вещь.

Контракт — это договор между системами: что одна система обещает дать, а другая умеет принять.

Например, система волн не должна сама создавать врага руками. Она просто говорит:
“Мне нужен враг типа goblin в точке X”

А система спавна отвечает:
“Окей, я умею создавать врагов по таким запросам"

Главная цель контракта - сделать так, чтоб системы не лезли друг-другу внутрь.

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

Runner - это “дирижёр”, который запускает все системы игры и следит, чтобы одна сломавшаяся система не уронила остальные. Представьте школьный концерт. Есть ведущий. Он вызывает номера по очереди: танец, песня, стихотворение физрука, фокусник, хор. Если физрук написался и забыл стихотворение, то концерт не обязательно заканчивается. Ведущий говорит: "Виктор Степанович сегодня приболел, ребята, поможем ему подняться на ноги, а мы продолжаем!".

Короче, если система звука упала, runner может сказать: “звук отключён, игра продолжается”.

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

Feature flags - это выключатель функции. Если новая система, которую писал ИИ, начала ломать игру, можно быстро выключить именно её, не удаляя весь код. HEXSTORM весь выстроен на таких "рубильниках". Некоторые очень даже глобальные. Например isMobile - рубильник, котороый включается, если игра обнаружила себя на мобильном устройстве. Этот рубильник меняет тексты в туториалах. И игрок вместо "нажми ЛКМ для продолжения" видит "тапни по экрану для продолжения". Но если игра не поймет где она запущена - она не сломается. А продолжит в выключеным isMobile.

Feature flags особенно полезны для экспериментов:
старый магазин работает
новый магазин тестируется
если новый сломался - возвращаем старый

Fallback - это запасной вариант.
Degraded mode - это режим, где игра работает не идеально, но продолжает работать.

Те, кто работают в phaser - видели ни раз зеленые квадратики объектов, спрайты которых потерялись. Fallback, когда для таких объектов готовишь альтернативные варианты.

Подведем итоги. Цель не в том, чтобы ИИ никогда не ошибался. Он будет ошибаться. Цель в другом: ошибка ИИ должна ломать только маленькую комнату, а не всё здание.

Чтобы выстроить такое в своем проекте я оставил промпт для LLM в комментариях.

И да, ставьте -🔥 если было полезно!
🔥608👍7
HEXSTORM: Tears of Arcadia - Demo

Наконец в магазине Steam бесплатно доступна для скачивания демоверсия моей игры.


Отличия от web-версии:
- Улучшена графика.
- Значительно изменен баланс.
- Добавлена поддержка всех контроллеров и Steam Deck.
- Добавлена новая система прокачки.

В демо доступны первые 6 миссий.

Это первый, и пока еще очень маленький, шаг для этого проекта. Но аж руки потряхивает от волнения.

Очень надеюсь на вашу поддержку. Буду рад, если поделитесь любыми замечаниями, и абсолютно счастлив, если напишете позитивный отзыв о демке 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥56👍199
Опус об Опусе, метриках и последнем экзамене человечества.

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

Начнём со SWE-Bench Pro (Agentic coding). Это самая ценная строчка для вайбкодеров. Оно не про знание кода, а про весь процесс: вот тебе баг, вот тебе проект на пару сотен файлов, иди чини. Опус 4.8 тут молодец, 69.2%. Процент показывает, сколько тестовых задач агент довёл до конца, а не бросил на полпути.

А вот в Terminal-Bench 2.1 Опус немного отстаёт от GPT-5.5. Это про работу, где агент лезет в терминал и ковыряет там всякое разное. Создаёт, удаляет, анализирует и переименовывает файлы, запускает разные сборки, зависимости, тесты, логи, окружение, скрипты. В общем, разработчикам это значение полезно не меньше, чем первый тест.

Humanity's Last Exam. Очень крутое название, но это не про код вообще, а про мышление в целом. Тут смотрим, насколько модель сильна в общих рассуждениях, знаниях о мире, логике, сложных междисциплинарных вопросах. Полезно геймдизайнерам, сценаристам, лидам.

OSWorld-Verified - это когда модель сама берёт мышку с клавиатурой и тыкает по интерфейсу: открыть, настроить, экспортнуть. Важно, если вы используете автотесты с LLM и заставляете агента тыкать в ваш проект. Полезно QA и внезапно UX/UI-дизайнерам, т.к. показывает, насколько модель вообще понимает в "человекопригодных" интерфейсах.

GDPval-AA - самая странная строчка, где вместо процентов просто цифра 1890. Это рейтинг: насколько модель близка к работе живого профи во всякой офисной рутине. У 4.7 было 1753. Прыжок заметный. Эти значения будут важны продюсерам, тимлидам, арт-дирам и всем тем, кто разгребает брифы и таблицы. Полезно для тех, кто работает биздеве, маркетинге, HR и финансах.

Finance Agent v2 - показывает, насколько модель умеет анализировать компании, отчётность, рынок, метрики и финансовые документы. Кому это нужно, думаю, понятно из названия.

Такая вот таблица, на которую мы все смотрим с умным видом. Теперь хотя бы знаете, на что именно смотреть.

Если было полезно, ставьте огонёчки 🔥
🔥48👍107
AI для игровых звуков

Провел исследование по моделям генерации звуков для игровых ассетов. Почти все SFX-стартапы ведут к API ElevenLabs. Поэтому, если у вас есть подписка на любой агрегатор типа fal.ai, magnific.com и т.п., то не стоит переплачивать и лезть в эти стартапы: там то же самое, просто с красивыми картинками.

А если мы говорим про специализированные сервисы, то вот кто вообще умеет и может быть полезен:

Собственно, сам
ElevenLabs - самый сильный, на мой взгляд, SFX-генератор. Умеет делать loop-звуки, что крайне важно для геймдева. Замечу, что модель, используемая там, имеет гораздо больше возможностей и выше качество, чем то, что предоставляет компания агрегаторам по API.
Kling SFX - хорошо, но слишком большой разброс по качеству.
MMAudio - опенсорс-генератор, который можно скачать и пользоваться бесплатно. Умеет не только делать звуки по тексту, но и добавлять эффекты поверх вашего видео.

Отдельно отмечу мой любимый сервис:
AUPHONIC - он не генерирует SFX, но делает превосходную обработку голоса. Записав свой голос на дешевый микрофон, одной кнопкой вы сможете получить около-студийное качество.

Пишите в комментариях, какие сервисы сами пробовали.
👍26🔥166
Стартовал Steam Fest.

На странице фестиваля мой HEXSTORM висит в первой пятерке tower defence жанра, неплохое начало.

По-случаю фестиваля - обновил трейлер игры.

Поддержите огонёчками 🔥 или вишлистами.
Даже если не планируете покупать, это очень поможет стать проекту заметнее в магазине.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥825👍5❤‍🔥1
Крутое чувство, когда ты в одиночку делаешь игру, вкладываешь в нее вечера, силы, мечты, сотни маленьких решений.

А потом какой-то незнакомец на другом конце мира запускает твой проект и делится своими впечатлениями: https://www.youtube.com/watch?v=U65SET3WIXc

В такие моменты особенно остро понимаешь, зачем все это было.

Это одновременно гордость, воодушевление и огромная благодарность. За то, что кто-то выбрал именно твою игру среди множества других. За то, что потратил свое время. За то, что поделился эмоциями.

Для соло-разработчика такие моменты бесценны. Они очень заряжают продолжать.
🔥5427👍17
Media is too big
VIEW IN TELEGRAM
Одна фича, изменившая всё.

Не знаю, насколько вам интересно, но, кажется, я полностью изменил HEXSTORM: Tears of Arcadia.

Как вы знаете, я тут пытаюсь изобрести «велосипед» или переосмыслить жанр Tower Defence в новом формате. Когда база не статична, а враги не идут по дорожкам.

Классические TD ещё известны тем, что там обычно есть две фазы: подготовка и бой. Во время подготовки игрок расставляет защиту, потом по таймеру идут волны. У меня скорее RTS-история. Враги атакуют Аркадию с первых секунд и не дают продохнуть до конца боя.

И вот тут палка о двух концах. С одной стороны, получилось 3-4 минуты интенсивного экшена. С другой, многие жаловались на сложность менеджмента на высоких уровнях.

Добавлять паузу я не хотел по одной простой причине: «она не обоснована». Я хотел собрать игру, в которой у всего будет объяснение. Почему строения исчезают в конце боя, что такое слёзы и откуда у общества с технологиями XV века летающие корабли.

А вот почему враги решают не нападать пять минут, дружно собравшись вокруг Аркадии, обосновать я не смог. Поэтому в игре этого нет.

Но есть корабль, который летит и которым мы вроде как командуем. По факту не командуем: корабль летит сам по себе, а мы строим пушки. И это была вторая проблема.

Решение убило двух зайцев.

Я добавил возможность регулировать скорость Аркадии. Теперь в воздушном режиме игрок может даже остановить корабль и вместе с этим замедлить волны. Для этого я добавил специальные переключатели скорости.

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

Чем быстрее летит корабль, тем больше он генерирует ресурсов. И одновременно тем меньше этих самых ресурсов он может собрать с поверхности.

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

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

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

В общем, фича уже в демке. Доступна в шестой миссии и в режиме испытаний.
👍20🔥176🤯1