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






Кадры из игры которую я делаю сам...
[Тег: Моё]
Всем привет! Мой никнейм Шустрый, и я создатель команды GENVIK GAMES. Звучит, конечно, пафосно, но на самом деле нас двое, и мы абсолютные новички.
Всю жизнь я играю в игры. Мне всегда нравилось погружаться в другие миры. Мне нравятся стратегии, особенно серия Total War. Я до сих пор расстроен, что Total War Arena закрыли — я не успел в нее наиграться. Также меня привлекают многопользовательские игры, там ведь тоже присутствуют тактические моменты. Тактический стратег нашелся!)))
Я несколько лет вынашивал идею о создании своих игр, мысленно крутил разные геймплеи и жанры, но боялся начать. А когда увидел анонс новой HoMM: Olden Era, то решился, что нужно пробовать.
Вопрос: реально ли это сделать, если тебе 30+, у тебя есть основная работа, есть семья и нет профильного образования? Я решил проверить это на практике.
Наша команда.
Геймдизайнер — я. Конечно, звучит громко, но как есть. Я занимаюсь техническими вопросами: кодинг, геймплей, баланс, продвижение и так далее. Но скажу честно, хорошо у меня пока что получается кодинг и геймплей.
Художник — моя вторая половинка. Она мне помогает с визуалом и некоторыми моими игровыми тупиками. Без неё мои войны всё еще топтались бы на монотонных гексах в одиночестве.
Что за игра?
Это тактическая RTS на гексах в эпоху Древней Руси. Мне интересны все древние эпохи, но Древняя Русь ближе по крови и духу. Вдохновлялся, естественно, Total War. Отряды задуманы как единый юнит на клетках, но я хочу, чтобы визуально казалось, будто это огромная армия. Графика — пиксель-арт.
Геймплей пока в базовой стадии: выбираешь отряды, изучаешь карту и управляешь боем. Я специально не усложняю механику на старте, чтобы сначала сделать крепкий фундамент. А уже потом добавлю фишки вроде особых способностей богатырей.
Как я это делаю?
У меня есть базовые знания о программировании, но мне не хватает опыта. Я решил использовать современные технологии. Нашел бесплатный движок Godot (он показался мне понятнее остальных) и стал использовать ИИ-агента для написания кода.
Скажу честно: ИИ — это не волшебная палочка для всего. Дать один запрос, чтобы он сделал всю игру, не сработает. Я выступаю в роли начальника: ставлю задачу, тестирую, переделываю, прошу ИИ переписать. Это симбиоз человека и нейросети.
Помню, когда делали анимацию ударов, мне ассистент накидал неправильных значений, и мечники били куда попало. Пришлось самому разбираться больше часа.
Трудности
Они, конечно же, присутствуют. Наверное, самая большая трудность — это время, но мне еще везёт, я работаю с графиком 2/2. Бывает, приходишь со смены, видишь, что у тебя есть несколько часов на игру, и думаешь: а с чего начать-то?
Еще не менее значимая трудность — это опыт. Нужно узнать, в каких размерах делать спрайты, какую архитектуру вообще закладывать в проекте, а почему ничего не работает и многое другое. А еще про семью не нужно забывать — она у меня на первом месте всё равно.
Что уже готово за месяц?
Нашими командными усилиями вот что удалось реализовать:
Гексагональная карта с разным ландшафтом.
Туман войны.
Анимации у отрядов.
Герои-богатыри (пока примитивные).
Два режима битв.


Режим "Отражение" финальная битва
Что дальше?
В идеале я хочу сделать онлайн-битвы между игроками. В планах — сюжет в виде визуальной новеллы (идея уже есть, но не знаю, зайдет ли), кампании и развитие героев.
Я прекрасно понимаю, что могу не потянуть онлайн-битвы. Страшно вложить месяцы, а потом упереться в техническое ограничение. Но я решил идти по принципу: «Глаза боятся, а руки делают». Если не получится с онлайном — сделаю крутую одиночную кампанию. Главное — не стоять на месте.
Говорят, что продвигать игру нужно уже на стадии прототипа. Поэтому я создал каналы в ВК и ТГ, где выкладываю новости по развитию проекта. Если вам интересно наблюдать за тем, как обычный парень после смены пытается сделать игру мечты — милости прошу.
ВК - https://vk.ru/genvik_games
ТГ - https://t.me/genvik_games
Вопрос к вам:
Игроки, как вам визуал? Что бы вы хотели видеть в такой игре в первую очередь?
Разработчики, есть ли тут те, кто делал онлайн на Godot? Буду рад любому совету.
На сей раз мне захотелось раскрасить текст картинками, поэтому я буду подставлять нейро-картинки и иногда мемы чтобы.. Выглядело интереснее. Надеюсь вам понравится X)
У любого, кто пытается прикрутить нейросеть к реальному коду, рано или поздно сгорает задница от одной и той же привычки моделей: они обожают трепаться вместо того, чтобы выполнять команды.
Сижу ночью, тестирую свежую сборку Aetheria. Мой персонаж стоит на складе, рядом бочка с маслом. Мне нужно проверить, как движок отработает физику разлива и горения.
Пишу: «Бью топором по чану с маслом».
Что должен сделать нормальный скрипт? Вызвать item.damage, расколоть объект, вылить жидкость на пол.
Что делает LLM? Она включает режим великого писателя:
«Ты крепче перехватываешь топорище. Холодный металл тускло блестит в полумраке склада, а в воздухе стоит тяжелый запах старой древесины и смолы. Ты чувствуешь, как напрягаются мышцы перед ударом...»
И всё. Ни вызова функции в коде, ни разбитого чана. Текст есть, действия нет.
Пишу второй раз: «Я не чувствую мышцы, я бью по бочке со всей дури, прямо сейчас».
Модель: «Лезвие со свистом рассекает воздух и с глухим стуком врубается в толстые дубовые клепки! Щепки летят в стороны, чан содрогается, но дерево держится крепко. Ты ощущаешь отдачу в ладонях...»
Смотрю в дебаг-панель движка — здоровье чана 100/100, масло внутри, флаг удара не вызывался. Нейросеть просто сочинила красивую анимацию удара на словах, забыв дернуть триггер в коде. В ее воображении мы уже полчаса рубим этот несчастный чан, а в памяти движка мы просто стоим столбом посреди комнаты.
На четвертый ход я уже пишу капсом: «ПРОБЕЙ ЕГО НАХРЕН».
И только когда в системный промпт прилетел жесткий пинок по рукам («сначала вызывай инструмент в движке, а потом пиши свои поэмы»), модель наконец соизволила отправить честный JSON-запрос на урон. Чан треснул, масло залило пол, физический движок с радостью всё это поджег.
Это главная болезнь текстовых нейроигр. Модели патологически лень дергать код, ей проще родить три абзаца художественного текста ни о чем. Приходится буквально вбивать ей в голову правило: если игрок бьет, ты сначала обязана изменить состояние мира в движке, и только потом открывать рот.
В общем, после тонны таких правок, споров с ИИ и борьбы с бесконечными пожарами, мы наконец упаковали текущую версию в играбельный билд (v0.1.7-alpha) и выложили на itch:
Кому интересно пощупать, как это играется вживую — заходите, качайте. Предупреждаю сразу: игра работает от внешних API-моделей (лучше всего скармливать ей DeepSeek или Qwen), так что в настройках надо будет вбить свой ключ.
Если кто-то тоже пытался заставить LLM стабильно вызывать функции без пустой болтовни — делитесь в комментах, какими костылями лечили.
Когда делаешь игру с честной симуляцией физики, рано или поздно наступает момент, когда мир начинает жить своей жизнью, причем самым идиотским образом.
На днях один из наших тестеров (JimTheDog) решил проверить, как игра реагирует на создание сложных объектов. Зашел в сарай и попросил Главного ГМа поставить там нормальную кузницу: горн, наковальню, инструменты.
ГМ все создал. На следующем ходу горн внезапно загорается сам по себе. Еще через ход огонь бодро перекидывается на деревянный стол, бочки и ползет в соседнюю комнату.
Игрок пишет ГМу: потуши, оно само горит. ГМ отвечает, что все потушено и починено. Игрок делает следующий ход, и комната снова вся залита маслом и полыхает. Каждая «починка» жила ровно один ход, после чего все загоралось заново.
Стали разбираться в логах, и там вскрылась прекрасная цепочка того, как не стыкуются логика нейросети и строгий программный код.
Первая проблема была в том, как движок собирал предмет. В коде стояла проверка, которая сначала парсила текстовую строчку названия, а уже потом смотрела на указанный материал. Горн был честно прописан как металл, но в названии где-то проскочило слово «масло». В итоге движок решил, что перед ним не железная печь, а промасленная тряпка, и выставил объекту горючесть на максимум и пропитку маслом на 80 единиц.
Дальше подключилась сама физика распространения жидкостей. По задумке масло должно было впитываться при контакте. Но из-за порога срабатывания любая испачканная вещь сама становилась новым источником масла. Горн мазал пол, пол мазал бочки, бочки пачкали стены, а стены разносили масло в соседнюю комнату. Получилась цепная реакция, которую невозможно было остановить.
Починка от ГМа тоже оказалась фикцией. Нейросеть вместо того, чтобы пересобрать поврежденный объект с нуля, просто накатывала поверх старого состояния строку «потушено». При этом модель решила, что раз это горн, то у него должна быть рабочая температура, и от балды вписала туда 1000 градусов. Движок это число честно записал в параметры, и при любом взаимодействии с горном персонаж получал дикий термический урон.
И самое веселое выяснилось, когда мы полезли глубже в проверки. Слой валидации ходов, который должен был бить модель по рукам за такие фокусы, вообще молча падал на каждом вызове из-за старой ошибки в коде. Ошибка тихо падала в лог, а само действие пропускалось дальше. То есть игра выглядела так, будто все проверки пройдены, хотя на самом деле никто никого не проверял.
В итоге пришлось полностью пересматривать то, как код работает со свойствами:
1. Заявленный тип материала теперь всегда главнее текста в названии.
2. Масляные пятна больше не делают из каждого предмета бесконечный фонтан масла.
3. Любой ремонт принудительно пересобирает объект из дефолтного состояния его материала, а все параметры вроде температуры и влажности зажаты в строгие рамки.
4. Добавили команду полной зачистки комнаты от грязи, огня и кислот на случай таких аварий.
В геймдеве это обычное дело, но когда физика завязана на интерпретацию нейросетью, подобные баги выглядят особенно сюрреалистично. Кто делает свои симуляции, часто ловите такие самоподдерживающиеся циклы из-за одной опечатки?
Продолжаю делать Threads of History - глобальную стратегию про управление страной. В новом обновлении добавил авторитет правителя, доверие правительства и решения, за которые придётся отвечать перед жителями, чиновниками и журналистами.
Представьте: в стране начались протесты. Профсоюзы требуют переговоров, силовики просят больше полномочий, а в казне не так много денег.
Можно начать переговоры и выделить средства на помощь населению. Поддержка жителей вырастет, но часть государственного аппарата останется недовольна уступками. Можно дать силовым ведомствам чрезвычайные полномочия - стабильность повысится быстрее, зато упадут поддержка населения и авторитет. Есть и независимая проверка требований с постепенными уступками: она меньше раздражает стороны, но в ближайшее время ухудшает стабильность.
Время приостанавливается до ответа. Отложить такой вопрос навсегда нельзя.(ссылки под изображениями ведут на сайт где вы сможете просмотреть их в норм качестве)
Теперь у лидера есть два отдельных показателя: авторитет и доверие государственного аппарата.
Авторитет растёт после военных побед, выполненных обещаний, крупных реформ и национальных проектов. Поражения, коррупция, затяжные кризисы и долгое отсутствие достижений его снижают. При высоком авторитете легче собирать налоги, проводить реформы и договариваться с другими странами. При низком растёт риск внутренних конфликтов, а противники охотнее давят на государство.
Но популярность у жителей ещё не гарантирует, что правителю доверяют министры и генералы. При плохих отношениях с аппаратом начинается саботаж: реформы тормозятся, налоги собираются хуже. Если одновременно падает авторитет, командование может задерживать приказы. Затяжной конфликт с правительством способен закончиться отстранением лидера от власти.
Раз в игровой год проходит государственное совещание. Обсуждаются бюджет, ответственность министров и будущий курс страны. Можно усиливать личный контроль, давать больше самостоятельности кабинету или договариваться с регионами. Ответы меняют отношения с аппаратом и условия работы государства на следующий год.
Если лидер берёт публичное обязательство, через год игра проверит результат. Повторным обещанием передвинуть срок не получится.
Появились и пресс-конференции. Журналисты спрашивают о том, что действительно произошло в партии: принятом законе, войне, коррупции, росте цен, протестах или невыполненном обещании. Для игрока проводится не больше двух конференций в год, с большим промежутком между ними.
Теперь у каждого вопроса есть конкретный автор и редакция. Если ответ содержит важную позицию или обещание, он появляется в новостях. Статью пишет именно тот журналист, который задавал вопрос. В материале остаются повод для разговора, сам вопрос и содержание ответа.
Эта связка работает и для других лидеров. Например, после объявления войны или серьёзного внутреннего кризиса иностранный руководитель может публично объяснить позицию правительства, а журналист выпустит материал об этом. Частота таких новостей ограничена, чтобы мировая лента не состояла из одних выступлений.
Всего сейчас есть десять типов обязательных кризисных решений: от нехватки еды и энергии до инфляции, сепаратизма и конфликта вокруг реформ. Они появляются при соответствующих проблемах в стране. Последствия некоторых решений сохраняются несколько месяцев, поэтому спасение бюджета сегодня может осложнить следующий кризис.
После поражения на выборах, капитуляции или потери власти можно продолжить партию за другую страну. Мир продолжает жить с прежними датой, границами и событиями. Армия остаётся у прежнего государства, а агенты, личные бонусы и обещания предыдущего правителя не переносятся игроку.
Обновление уже работает. Баланс авторитета, доверия и частоты кризисов ещё проверяю в продолжительных партиях.
Пишите что еще показать из игры, что думаете об обновлении и пишите в комментах если хотите быть тестером игры
Всем привет! Я разработчик глобальной стратегии Threads of History(посмотрите мой первый пост). Я прочитал ваши комментарии под прошлым постом, было много негатива из за Крыма который на скринах был украинским, еще раз объясню, пикабу сожрал качество картинок и они получились мыльные, год на скринах был 1991 и 1992, на тот момент Крым принадлежал Украине, а вот уже в 2014 стал принадлежать России, это просто констатация исторических фактов, а не мое мнение, я не пытался никого задеть или что еще, надеюсь на вопрос ответил, больше на такие комменты не отвечаю. Так вот в других комментах вы просили рассказать об игре по подробнее так как в первом посте я максимально поверхностно про нее рассказал, теперь по вашим просьбам я буду постепенно рассказывать, что уже есть в игре и как это работает. Затем сделаю геймплейный ролик и подготовлю демку, чтобы можно было попробовать всё самим.
Сегодня покажу новости, распределение ресурсов во время войны и пару вещей, которые должны сделать игру удобнее.
Одно событие - разные взгляды
У игровых новостей есть редакции и журналисты. У каждой редакции своя подача: одни стараются придерживаться фактов, другие смотрят на происходящее через интересы жителей, бизнеса или государства.
Например, правительство снижает налог. «Государственный вестник» подаёт это как ответ власти на запрос общества. «Деловой контур» разбирает, что будет со спросом и выдержит ли бюджет снижение поступлений. Событие одно, а акценты разные.
На двух скринах ниже - одно и то же решение глазами разных редакций. У материалов указаны автор и ракурс, с которого рассматривается событие.
Кому достанутся последние запасы
Во время войны приходится думать и о фронте, и о людях дома. Если еды не хватает, нужно решить, кого снабжать в первую очередь: солдат, мирных жителей или всех понемногу.
Вариант «сначала армия» помогает сохранить фронтовой паёк, но ухудшает положение жителей. Если защитить семьи, фронту придётся расходовать свои запасы. При затяжной нехватке еды возможен голод с гражданскими потерями.
Приоритет меняет распределение имеющихся продуктов. Новые запасы от выбора в меню не появляются: нужно налаживать производство, закупки и поставки.
Есть и другие решения: куда направить врачей, топливо и транспорт, сколько выделить на помощь населению. Последствия отражаются на снабжении, потерях, расходах и поддержке войны.
Интерфейс можно собрать под себя
Окна можно двигать и менять в размере примерно как в Windows. Можно открыть несколько разделов рядом, свернуть их или закрепить на месте.
Нужна большая экономика перед глазами — растянули её окно. Хотите одновременно смотреть другую информацию — разместили второй раздел рядом. Мешает блок текущих задач — скрыли. Понадобилась сводка армии — включили её через меню «Интерфейс».
Там же можно включать и отключать панели, названия стран и столиц, границы, менять непрозрачность. Если с расположением что-то не понравилось, есть сброс размеров и позиций.
Ниже - несколько вариантов расположения окон и само меню настроек интерфейса.(Пикабу сжирает качество поэтому оставил ссылки под каждым изображением (кроме тех в которых все видно) чтобы вы могли детальнее рассмотреть скрины из игры)
Сложные слова объясняются прямо в игре
Не хочется заставлять человека сворачивать игру и искать, что такое диверсификация, инфляция или реквизиция. Поэтому у терминов из встроенного словаря есть объяснения простыми словами и короткие примеры.
Такие слова отмечаются значком ⁺. Нажимаете колёсиком мыши на слово — открывается карточка с объяснением. Эту функцию можно отключить, если подсказки не нужны.
Дальше буду подробнее показывать остальные механики, потом выложу геймплейный ролик и демку. Если хотите поучаствовать в тестировании, напишите в комментариях. Также предлагайте свои идеи по поводу игры и свои мысли. Когда подготовлю тестовую сборку, расскажу, как подключиться всем желающим.
И пишите, какую часть игры показать следующей. По вашим вопросам будет проще понять, что стоит разобрать подробнее.