Ну что, первый настоящий девлог подъехал. До этого я просто разгонял мысли, а теперь уже конкретика по механикам. Начну с самого первого, что я делал после интеграции игры в Godot — инвентаря. Бой у меня уже работал, про него расскажу в следующих постах.
Первые шаги
С самого начала я был уверен: drag & drop в инвентаре должен быть. Хотелось, как в ММО, — вручную перетаскивать предметы, раскладывать их по ячейкам. Тогда это казалось очень крутой механикой.
В браузере у меня эта система уже работала, хоть и криво, но работала. А вот в Godot начался полный хаос: предметы выпадали за сетку, не цеплялись мышкой, плохо собирались в стаки. Плюс приходилось бороться с тем, чтобы инвентарь нормально общался с другими скриптами — например, чтобы после боя дроп корректно попадал в сумку. Казалось бы, простая вещь, но ошибок я ловил массу.
Работа с GPT
Каждую проблему я скармливал GPT. Он правил код, я проверял → снова баг → снова кидаю код. Классический цикл вайб-кодинга.
Главная проблема — размер скрипта. 400 строк. GPT не понимал контекст, приходилось дробить его на куски, отдельно подкидывать функции и связанные скрипты. Я ещё и сам не умел правильно формулировать задачи, опыта мало. Сейчас понимаю: если давать точные запросы, GPT справляется лучше. Но тогда я реально перегорел от постоянных ошибок.
Добавим к этому то, что у меня Godot 4.3, а GPT стабильно писал под старую версию. Половина функций просто не работала. В итоге фикс одной строчки рождал три новых бага.
Вайб-кодинг
Я всё ещё новичок, сам с нуля код не напишу. Сейчас это модно называть вайб-кодингом: не пишешь код, а собираешь рабочее из того, что даёт GPT. Зато постепенно я начал понимать, как устроены функции, как скрипты связаны друг с другом. Опыт растёт, хотя ошибок по-прежнему много.
Отказ от drag & drop
В какой-то момент я понял: да ну его, этот drag & drop. Зачем он нужен, если через пару часов игры ручная сортировка надоедает всем?
В итоге я сократил скрипт с 400 до 200 строк и перешёл к системе вкладок: — оружие — броня — разное
В будущем добавлю сортировку по цене и редкости. Экипировка будет через обычный или двойной клик — посмотрю, что удобнее.
Торговля
Я также прикрутил продажу предметов — поштучно и кнопкой «продать всё». Это оказалось сложнее, чем ожидал, багов наловил кучу. До конца не уверен, стоит ли оставлять торговлю прямо в инвентаре, или вынести её в маркет. Пока оставил как есть.
Итог
Инвентарь пока лежит «на полке доработки». Но именно с него началось формирование всей системы. И я сделал главный вывод: иногда проще отказаться от красивой идеи, чем бесконечно её латать.
Главный вывод этого девлога: drag & drop — как бывшая. Сначала кажется, что без неё жизнь невозможна, а потом понимаешь, что и без неё заебись.
Следующий девлог будет коротким, про маркет. Спасибо, что двигаетесь вместе со мной — это только начало.
Ниже прикрепил развитие UI инвентаря в моей игре, от самого первого до нынешнего, еще предстоит много работы по нему:)
Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea
Доброго времени суток! Смотрю, многим зашли мои прошлые дев-влоги, так что продолжу делиться историей разработки. Сегодня — о первом знакомстве с движком Godot и о том, как я переносил туда всю функциональность своей браузерной RPG.
После пары месяцев с HTML, CSS и JavaScript
Я решил: хватит мучиться — пора переходить на движок. Перейти на Godot было непросто. Увидел, как один разработчик делает там свою игру, и подумал: «Почему бы не попробовать самому?»
На старте я почти ничего не понимал. Узлы, инспектор, дочерние сцены, инстанцирование — всё это было для меня тёмным лесом. И это я ещё про интерфейс молчу. Сам язык GDScript до сих пор знаю лишь на уровне, достаточном для ориентации и исправления ошибок.
Перенос из браузерки
Перекинуть весь функционал напрямую из JavaScript в GDScript было невозможно. CSS-стили и HTML-верстку тоже не скопируешь. Всё пришлось делать с нуля. Каждый элемент интерфейса, каждый кусок логики я собирал при помощи ChatGPT — вместе с его багами и потерями контекста. Со временем научился сам размещать элементы на сцене, выстраивать структуру и править код.
План перехода
Без плана было бы нереально. Я составил список шагов:
Перенести все скрипты и функционал.
Перетащить стили и интерфейс (CSS → сцены, HTML → структура).
Перерисовать визуал под новый формат.
Проверить, чтобы игра запускалась.
Пока не перенесены все скрипты, игру не проверить — один файл проект не запустит.
Первый запуск
Когда я наконец собрал всё и запустил игру — получил тонну ошибок. ChatGPT адаптировал 18 JS-файлов (каждый по 300–800 строк), но допустил множество ошибок. Перенос шёл постепенно, по одному файлу. Процесс поиска и исправления багов выглядел так:
Копировал ошибку из консоли.
Отправлял её в GPT вместе с контекстом.
Получал исправленный вариант.
Если не работало — откатывался и повторял.
Если код умещался в 100 строк — чат справлялся. Если больше, он терял нить, создавал новые баги, и приходилось возвращаться к прошлым версиям. Так продолжалось почти месяц.
Немного цифр
Для понимания масштаба работы:
18 JS-файлов (300–800 строк каждый) → GDScript
15 CSS-файлов (gamestyle.css — 600 строк) остальные поменьше
6 HTML-страниц
74 картинки
Это было только начало. Сейчас проект вырос до:
56 скриптов
40 сцен
291 картинки
Визуал — вечная стройка
Параллельно с кодом шла постоянная переработка визуала. Где-то переносил интерфейс из браузерки, где-то перерисовывал элементы, потому что старый стиль переставал нравиться. Иногда делал заглушки, чтобы хотя бы протестировать функционал. Перерисовка визуала — процесс бесконечный, думаю, многие разработчики игр это понимают.
Что дальше
После переноса я начал улучшать старые механики и внедрять новые. Дальнейшие посты будут уже не такими сумбурными: каждый будет посвящён конкретной системе или механике — инвентарю, карте, боевой системе, оптимизации.
А пока — несколько скриншотов версии после полного переноса из браузера.
Итог
Переход с браузерной игры на Godot стал серьёзным вызовом. Каждый день я сталкивался с ошибками, уставал, откатывался, но шаг за шагом собирал свой мир.
Игру нельзя просто переписать с одного языка на другой. Её нужно написать заново.
Баги не исчезают. Они просто переходят в следующую версию🐺
Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea
Самый первый запукск годота, тут я думал сделать игру платформером, но быстро ушел от этой идеи:)
Следующие 5 скринов уже на движке годот после переноса большинства механик и визуала из браузерки(система инвентаря с драг энд дроп)
Просто деревня, основной хаб игры
Карта, с локациями, тут их 4 если кто не понял, в каждой есть свой моб
Но что было в карте тогда и сейчас, совершенно разный вид игры, сейчас я полностью переработал карту и локации, в будущих постах увидите:)
Система прокачки героя, простенькая, но даже такую было сложно создать а потом еще и перенести на годот
Таверна, сейчас кажется уже странной что в окошке целое помещение, так что от этого дизайна я тоже уйду к полноценной локации, с кайфушной музыкой и атмосферой:)
Хочется поделиться еще скринами из создания, но многие затерялись, да и пост будет слишком уж длинной простыней:)
В Telegram-канале как-то наткнулся на пост про создание игр с нейросетями. Уже не помню, в каком именно, но у меня щёлкнуло: я тоже хочу! Думал об этом уже лет пять, но раньше всё казалось невозможным — нужно учить языки, разбираться в движках и т.п. А тут — ChatGPT. Интересно же.
Я зашёл, спросил: «Мы можем создать игру?» Он, конечно, согласился. И всё закрутилось.
Сначала я прикидывал, что вообще хочу. Тогда был хайп на кликалки вроде хомяка и Notcoin. Захотел сделать свою, но с RPG-элементами: прокачка, клики, монетки, и, в идеале — хоть как-то монетизировать.
Я описал идею, и мы начали вместе думать. Знаний — ноль. Не понимал, где писать код, как собираются игры... На все вопросы отвечал чат.
Оказалось, Telegram-игра — это по сути браузерка на HTML/CSS/JS. HTML — структура, CSS — стили, JS — логика. Если где-то ошибаюсь в терминологии — не судите строго, я только начал учиться.
Telegram-игра: первые шаги
На старте всё было в новинку. ChatGPT не всегда держал контекст, скрипты получались громоздкими, каждая механика — в отдельном .js-файле по 400+ строк. Всё писал в Блокноте, сохранял, открывал в браузере, правил — и так по кругу.
Потом нашёл Notepad++, стало немного легче. Потом открыл для себя Visual Studio Code — и вот тогда реально почувствовал кайф от нормальной работы с кодом.
Чуть позже случайно открыл DevTools (F12) в Chrome и понял, что можно прямо в браузере менять элементы, а потом копировать результат в VS Code. Удивительно, но таких фишек мне ни одна инструкция не подсказывала — сам нашёл, сам удивился.
CSS и адаптивность
Стили — отдельная история. Всё выглядело как одна гигантская простыня, где изменение одного блока ломало всё вокруг. Понемногу разобрался, но осознал: адаптировать игру под Telegram внутри браузера — не мой путь. Слишком сложно для текущего уровня.
В итоге решил: временно отказываюсь от Telegram-бота. Перехожу на полноценную браузерную игру. Там хотя бы контроль больше.
Браузерная RPG: теперь серьёзно
Подумал: ну 2D-RPG — что может пойти не так? На деле — почти всё старое перекочевало: верстка, стили, адаптивность. Но теперь я уже ориентировался лучше, поэтому работал системнее.
Проект занял около двух месяцев. Он не стал финальной версией, но именно он лёг в основу моей текущей игры на Godot. Скрипты не переносил — язык другой — но визуал, логика, структура перешли почти целиком.
Была мысль переделать всю игру на движке, но быстрее оказалось начать с нуля и использовать старую игру как черновик и референс.
Для первой игры — это был мощный апгрейд. Я реально понял, насколько сложна масштабная браузерка. Много кода, много взаимосвязей. Это не просто “написал скрипт и игра готова”.
Однажды открыл DevTools у одной крутой браузерной игры — в HTML было 3000+ строк. И это только одна вкладка. А их там десятки. В тот момент я чётко понял: я туда больше не полезу.
Что дальше?
После RPG я сделал сайт для своей игры. Опыт с браузерной версией помог — знал, куда лезть, где искать решения, и всё вышло.
Сейчас весь фокус — на Godot. Новый движок, новые механики, свои баги и свои грабли. Следующие посты будут уже про мою основную игру, над которой я работаю каждый день.
Дополнительные материалы и скрины — оставлю в комментариях под этим постом. Заглядывайте.
Не важен тот, кто не падал. Важен тот, кто встал.
Первые два скрина, из моей попытки в телеграм игру(бота)
Следущие 4 скрина, уже браузерная игра полноценная, не для тг
И последние 4 скрина, это уже база с которой я начал переходить на новый движок(Godot)
Всем доброго вечера. Хочу поделиться тем, чем живу последние полгода. Я создаю свою собственную игру — полноценную 2D RPG. От визуала до кода — всё делаю сам, а помогают мне в этом ChatGPT и Stable Diffusion. В этом посте расскажу, как всё начиналось и почему это, возможно, станет основной темой моего канала.
Как всё началось?
Идея создать игру жила во мне давно. Хотелось проект, в котором был бы мой мир, мои персонажи, механики и визуал. Но, как и у многих, руки не доходили — ни навыков, ни понимания, с чего вообще начать.
Начинал, как мог:
Была попытка сделать игру в Telegram-боте. Тогда это казалось трендом.
Пробовал сделать браузерку на HTML и CSS. Получился рабочий прототип, в который даже можно было играть. Но масштабировать такую штуку было невозможно. Каждая новая механика — ад. Код ломался, интерфейс ехал. В какой-то момент понял: всё, хватит, больше ни строчки под браузер.
Именно тогда стало ясно — Telegram и HTML мне не подходят.
Godot — глоток воздуха
Открытием стал движок Godot. Простой, мощный и отлично подходит для 2D (и даже 3D) игр. С ним дело пошло быстрее. Но, конечно, не всё так гладко. Я в программировании — абсолютный ноль. Учусь на ходу.
ChatGPT помогает: объясняет, пишет код, подсказывает. Но у него тоже есть особенности:
Он часто не знает, какая у тебя версия движка.
В Godot версии критичны, GDScript меняется.
При большом объёме кода он теряет контекст: забывает мои указания, путаница в логике.
Иногда, чтобы понять одну ошибку, уходило несколько дней. Всё-таки полный ноль в коде даёт о себе знать.
Визуал через Stable Diffusion
С нейросетями я работаю уже 3 года, и визуал для игры — не исключение.
Первые генерации были скорее концепт-артами. Они не подходили для UI, особенно без лора и контекста. Потребовались новые подходы.
Перешёл на Flux + LoRA по стилям, иконкам, интерфейсу. Начал собирать визуальное ядро игры. Несколько раз полностью менял стиль. Последняя перерисовка была месяц назад — около 80 картинок пришлось переделывать. И уже снова хочется что-то поменять. Об этом будет отдельный пост.
Но это не "нажал кнопку — получил результат". Каждую иконку, каждый UI-элемент я:
Сначала прорабатывал в Photoshop.
Потом дорабатывал в сетке.
Потом снова шёл в Photoshop и правил.
Так по кругу. За полгода сильно прокачался в Photoshop и в умении доводить визуал до ума.
Идеи, механики, концепты
Основная идея игры вынашивалась неделями, месяцами… ну ладно, может не годами, но долго.
Нейросеть не придумает классную механику. Это всё — опыт, мозг, ночные озарения. Но если дать направление, ChatGPT — отличный помощник.
Важно: без своей идеи, без базовой концепции, нейросеть не выдаст ничего внятного. Она может дополнять, уточнять, развивать — но не заменить вас.
Важное напоследок
Создание игры с ChatGPT и Stable Diffusion кажется лёгким. Но на деле — это путь, где ты сам становишься архитектором. ИИ — не волшебная палочка. Это инструмент. Всё держится на твоей настойчивости.
Я сижу ночами по 5–6 часов после фуллтайм-заказов. Устаю, ошибаюсь, но учусь. Потому что никто, кроме меня, эту игру не сделает.
Когда-то нейросети открыли для меня мир арта. Сейчас они же помогают строить собственную игру. И пусть каждый может сегодня "запустить проект", но сделать что-то живое, рабочее, интересное — уже вызов. Я его принял.
Что дальше?
Этот пост — вводный. Просто хотел поделиться эмоциями и историей. У меня куча скриншотов, старых артов, кода, фейлов, удачных решений — всё это ждёт в будущих постах.
Планирую серию, где расскажу:
Как создавал интерфейс
Как придумывал механику боя
Как работает генерация карты
Как делаю оптимизацию
Как UI собирается из нейросетей и дорабатывается вручную
И многое другое
Возможно, будет и видео на YouTube — на тему “Как я создаю игру с нуля с помощью ИИ”.
Если интересно — пишите в комментарии, расскажите о своём опыте. Будет приятно почитать. И, может быть, кто-то из вас тоже решит сделать свою игру.
Мой путь только начался, но как говорил великий «У самурая нет цели, есть только путь»
Темой "пятничного моё" будет вышеупомянутая AI генерация. И генерировать будем в ComfyUI.
ComfyUI — это современный и модульный графический интерфейс для работы с нейросетями Stable Diffusion, разработанный для максимально простого и гибкого взаимодействия с моделью. Это своего рода узловой интерфейс (node-based GUI), в котором пользователи могут визуально создавать сложные операции по обработке изображений или их генерации с помощью нейронных сетей.
Основные особенности ComfyUI:
Узловой подход (Node-based UI): Пользователи работают с блоками (или узлами), которые представляют различные функции. Эти узлы можно соединять между собой, создавая сложные графы для обработки изображений. Узлы могут включать:
Настройку параметров генерации.
Применение различных фильтров и эффектов.
Указание моделей и разверток.
Такой подход намного удобнее классических интерфейсов, где приходится вручную прописывать параметры в строках команд.
Ноды, мои ноды
2. Поддержка Stable Diffusion: ComfyUI разработан специально для взаимодействия с моделями Stable Diffusion, включая генерацию изображений, модификацию и эксплуатацию возможностей обработки.
3. Гибкость и кастомизация: Система создана для опытных пользователей, но в то же время позволяет комфортно новичкам собирать нужный процесс благодаря визуальным элементам. Имеется возможность добавлять свои собственные узлы или использовать сторонние расширения.
4. Интерактивная визуализация: Вы напрямую видите, как данные передаются между узлами и какие изменения на выходе дают те или иные параметры. Это полезно для дебага и улучшения понимания работы с моделью.
5. Поддержка сложных сценариев работы: В ComfyUI можно совмещать множество операций генерации и обработки в рамках одной цепочки:
Инпут (текстовый запрос, изображение).
Работа с различными моделями.
Добавление эффектов (например, инверсии, upscale или фильтрации).
Вывод готового изображения.
6. Интеграции с популярными библиотеками: ComfyUI поддерживает интеграцию с различными моделями и компонентами, используемыми средствами генерации изображений. Она часто обновляется, поддерживая последние версии архива моделей Stable Diffusion.
А пример создания персонажа под ключ в моем новом видео:
А потом приглашаю в комментарии - задавайте вопросы по видео и просто по юнити!
Благодаря подписчикам канала, были просмотрены тысячи разных стилей и артов. Лучшими была обучена модель для Stable Diffusion1.5. Он работает даже на ipad и бесплатен. Дообучена нужным ракурсам, добавлены собственные фото развалин и гор Алтая. Нажатием пары кнопок генерится арт и глубина сразу переносится в игру в виде 3D облака точек.
Если пожертвовать поворотом камеры, то можно делать без ручной правки и генерировать бесконечную карту автоматически.
Можно использовать и MultiView Diffusion и видео генерацию с разных ракурсов.
Всем доброго времени суток, меня зовут Юрий, я здесь, чтобы поделиться с вами небольшим gamedesign-концептом, который сформировался по ходу прохождения курса по геймдизайну на одной из учебных платформ.
О чем будет игра?
Название: Vampire Delivery Service. -Почувствуй себя основателем вампирской Delivery Club в средневековом городке!
Жанр пошаговая стратегия, симулятор службы доставки Стиль графики: 2D. Вид сверху, изометрия Движок: планируется взять GameMaker Studio 2 Платформа: PC
Управляющая идея: проектирование службы доставки с целью удовлетворения вампирской жажды крови.
На идею натолкнул старый добрый “Блэйд 3” (2004) и "Клыки ночи" (2021)
1/2
Основной референс
Минималистичный MiniMetro.
Только там мы выстраивали сеть туннелей метро и доставляли пассажиров со станций на станции, а здесь доставлять мы будем вместо самих пассажиров… лишь некоторую их часть :)
Помимо этого, MiniMetro предоставляло игроку отдельные города, без какой-либо стратегической цели и, в общем-то, она там и не нужна - лишь усложнит выбранный разработчиками минимализм.
Однако, со службой доставки дело обстоит несколько иначе, здесь есть лорная составляющая и здесь стратегическая, глобальная цель нужна.
Местом действия является королевство в средневековом сеттинге, поделенное на регионы, в котором скрываются вампиры. Задача игрока: помочь увеличить их численность с целью захвата и покорения не только отдельные регионы но и все королевство.
Достичь этой цели поможет служба доставки крови под чутким управлением игрока, благодаря которой, его подопечные не останутся без еды днем, да и ночью будет меньше буйствовать в городе, не привлекая лишнего внимания.
Геймплей
Построен на двух ключевых аспектах:
Стратегическая карта
Тактический уровень
Начнем со стратегического
На стратегической карте игроку предлагается определить “точку вторжения” - начальную область, и дальше последовательно идти по регионам шаг за шагом.
В обычном режиме игры достаточно захватить столицу, тогда все королевство считается захваченным. В режиме “Полный контроль” понадобится захватить все регионы.
Пошаговость геймплея заключается здесь в том, что королевство будет противостоять игроку: если у игрока не получится захват региона на тактическом этапе, то Инквизиция не только вышвырнет вампиров вместе со своим сервисом доставки из региона, но также отвоюет у игрока одну из смежных областей.
Игроку предстоит оказаться на Темной Стороне и помочь ей разрастись по всему королевству, получая по ходу прохождения различные нужные плюшки, которые должны облегчить жизнь на тактических уровнях:
Улучшения для службы доставки
Новых Советников (или Советниц)
Вначале игры на нашем нелегком пути нам будет помогать и подсказывать дефолтная Советница. Она введет в курс дела, расскажет о себе, о своей фракции, покажет, чем нам предстоит заниматься и какие цели преследуют вампиры.
В дальнейшем, с захватом новых регионов, игрок сможет открывать и назначать других Советников, которые не только дополнят сюжетные кусочки мозаики, приправив долей шуток и юмора, но также смогут напрямую влиять на геймплей тактического уровня: у каждого Советника будет своя уникальная и довольно ультимативная абилка. Открывается она не сразу, чтобы ее анлокнуть - нужно успешно сыграть с этим Советником одно покорение региона (у дефолтной абилка, соответственно, откроется сразу по окончанию захвата точки вторжения, т.е. самого первого региона).
Всем советникам предполагается добавить голосовую озвучку, чтобы на фоне статичного 2D добавить игре некоторой живости и диалога, непосредственно с игроком. Звуки и диалоги голосом - важный геймдизайнерский инструмент, который легко добавит атмосферы и при этом доступный даже для малобюджетных инди-проектов (разумеется, если не нацеливаться на голос Геральта из Ведьмака).
Тактический уровень
Это часть игры предоставит игроку возможность побыть в образе проектировщика службы доставки. На уровне будут открываться убежища, куда будут приходить вампиры, скрываясь от дневного света.
В одном из убежищ игрок открывает станцию доставки и далее выстраивает маршруты, по которым экипажи будут развозить кровищу до остальных убежищ (линий от станции можно выстроить сколько угодно, - ограничений нет, - главное, чтобы хватило экипажей на все) Чем дольше играем - тем выше численность вампиров, тем больше открывается убежищ и тем сложнее становится контролировать всю сеть.
Сами станции могут быть двух видов в зависимости от типа крови, которую они рассылают: красная и синяя; переключать их можно в любой момент. Соответственно, в убежищах могут появится как вампиры, охочие до красной крови, так и те, которым нужна синяя, поэтому, игроку дополнительно потребуется вовремя переключать станции, чтобы все страждущие получили свою еду.
Ниже представлен очень драфтовый набросок, как это примерно должно выглядеть:
Еще одно отличие от MiniMetro: на каждом уровне расположена внутренняя сеть дорог, и только по ним можно выстраивать линии маршрутов из пункта А в пункт Б.
Что касается водных препятствий: на уровне НЕ должно быть недоступных зон. Мосты могут располагаться в неудобных для игрока местах, но они должны присутствовать. Помимо этого, обязательно должны быть точки, через которые игрок сможет наводить понтонные переправы с одного берега на другой, рисуя наиболее короткий маршрут.
Все регионы разделены на простые и сложные:
Простые регионы отличаются упрощенной топологией: это, как правило, деревни и поселения с небольшой численностью людей. Игровая сессия по захвату простого региона будет длиться в районе тридцати минут.
Сложные регионы - это густонаселенные города и сложная топология с большим количеством водных препятствий. Для его захвата требуется как следует подготовиться: нарастить пул улучшений для своего сервиса доставки, может быть, заполучить нового Советника с абилкой помощнее. Время сессии здесь также будет больше: в районе сорока минут. В этой игре время работает против игрока, так что чем дольше длится сессия - тем сложнее охватывать все убежища и успевать вовремя доставлять еду до конечного потребителя.
Основная задача: выстроив сеть службы доставки наиболее оптимальным образом довести численность вампиров больше численности людей.
Чем хуже оптимизация, - тем больше становится голодных вампиров, которые не дождались своей порции крови и отправляются на свободную охоту. Такие вампиры поднимают уровень хаоса в регионе, привлекая нежелательное внимание Инквизиции, однако, даже если играть аккуратно, - рано или поздно вампиров станет слишком много и Инквизиция все равно обратит на игрока свой священный взор Примерно на 15-й минуте сессии (либо раньше, если игрок допустит чрезмерно высокий хаос) в городе начнут случайным образом появляться патрули, представляющие собой желтые линии, которые могут пересекать маршруты экипажей игрока.
Если патруль инквизиции наткнется на экипаж - оба будут взаимно уничтожены.
Таким образом, помимо быстрорастущей численности вампиров и открываемых убежищ, у игрока появляется новое препятствие, которое заставит либо жертвовать экипажами, а это - ценный ресурс, либо перестраивать свои маршруты, тем самым увеличивая их протяженность и проигрывая в оптимизации. Если инквизиция никого не встретила: через три минуты реального времени они завершают патрулирование.
Более того, если уровень хаоса сохраняет свой высокий показатель: к патрулям добавляется облава на станцию, что вынудит игрока перенести станцию в другое убежище. Эта операция подразумевает, что все экипажи, привязанные к этой станции, вернуться обратно - лишь после этого ее можно перенести, что в случае слишком протяженных маршрутов может сыграть против игрока: если облава Инквизиции увенчается успехом - считается, что через одну станцию они накрыли все сеть и игрок проигрывает на этом уровне.
Однако, не все так плохо. Как уже говорилось ранее: игроку в нелегком деле будут помогать определенные улучшения. По окончанию каждой новой недели игроку предоставляется на выбор одно из трех возможных улучшения. Эти три улучшения берутся случайным образом из общего пула, который формируется из дефолтных улучшений, доступных с самой первой локации, а также всех тех, что игрок откроет на стратегической карте. Вот почему так важно на самом первом этапе грамотно выбрать точку вторжения и определить дальнейший путь и желаемые собираемые улучшения, ведь если собирать все подряд - то пул станет слишком большим, что “размоет” веса наиболее привлекательных улучшений тем, что игроку не понадобится.
Но вернемся к тактическому уровню: в конце каждой недели игроку доступен на выбор один из трех случайных улучшений из пула. Правила формирования выборки следующие: все улучшения и обычные и редкие имеют равновероятные веса, но, за одну неделю может выпасть не более одного редкого
Обычные:
Дополнительный экипаж. Возможность распределить экипаж на любую линию. *дефолтное
Повышенная вместимость экипажа. Возможность увеличить х2 кол-во забираемых со станции пакетов крови для одного экипажа.
Скоростные лошади. - позволяет поменять лошадей на каком-то из экипажей на быстрых. *дефолтное
Комфортабельное убежище - возможность улучшить убежище, где сможет собираться бОльшее число вампиров. *дефолтное
Редкие:
Дополнительная станция. Возможность открыть +1 станцию. *дефолтное
Универсальная "черная станция" - превратить одну из своих станций в универсальную, которая сразу рассылает кровь обоих типов. Это одно из самых сильных улучшений.
Вооруженный конвой - прикрепляет к одному выбранному игроком экипажу вооруженный конвой, который охраняет от патрулей Инквизиции. Штука одноразовая - после встречи с Инквизицией, конвой и патруль взаимоуничтожаются, но игрок сохраняет экипаж и при этом - не надо перестраивать маршрут.
Понтонная переправа - дает возможность навести одну понтонную переправу. Если у игрока в инвентаре имеется как минимум одна переправа - интерфейс, во время прокладывания линии маршрута начнет подсвечивать ближайшие к курсору “контрольные точки”, через которые можно проложить переправу, примерно так:
Раз уж заговорили про улучшения, самое время вернуться и к абилкам Советников, а заодно, дабы вы не заскучали, разбавлю гору текста артом
Специалист по логистике - увеличенная вместимость всех экипажей. Дефолтная Советница.
Наркоманка с безумным взглядом - подмешивает в пакеты с кровью запрещенные вещества, из-за которых вампиры могут дольше находиться в ожидании крови
Лидер наемников - дает 5 вооруженных конвоев вначале тактического уровня
Политик из высшего общества - прекрасно знает как подкупать даже Инквизицию, что сокращает вероятность патрулей и облав
Конюшенная - предоставляет резвых лошадей, повышая скорость передвижения всех экипажей
1/5
Весь арт предполагается генерить с использованием нейросетей, например Stable Diffusion, включая оформление тактической, стратегической карты, иконки интерфейса, портреты, 2D-арты на кат. сцены победы/поражения и другое.
Это не означает, что художников в команде не будет вообще. Нейросети хоть и являются очень мощным инструментом, однако, надо помнить, что арты с них не всегда получаются идеальным. Художник будет вносить необходимое и достаточное количество правок, а также следить за выдержанной стилистикой для всего сгенеренного контента, что будет наиболее оптимальным распределением времени для получения хорошего результата с минимизацией затрат.
[!] Важно: весь арт в посте носит драфтовый характер, так что на погрешности просьба не обращать внимания.
Помимо представленных выше Советников - будут еще три, а вот какие у них абилки предлагаю пофантазировать вам, мне будет интересно узнать ваши предложения 🙂
У каждого Советника будет своя уникальная озвучка, свой характер и своя история, которой он с радостью (ну или не очень) поделится с игроком по мере прохождения.
Условия поражения
На тактическом уровне
Если значение хаоса сохраняется на протяжении n-минут, - вампиры полностью разочарованы в нашей службе доставке и отказываются от дальнейших услуг.
В случае успешной облавы Инквизиции на одну из наших станций
На стратегическом уровне
Не смогли взять столицу королевства (или захватить все области) за отведенный лимит ходов. Вампиры прекратят сотрудничество с героем игрока и, вероятнее всего, он сам станет не более, чем едой
Не смогли взять самую первую область - “точку вторжения”. Советник скажет, что давно не имел дело с таким неудачником и убьет героя игрока.
Инквизиция отбила все области. В этом случае, героя ждет заключение, а нашего клыкастого Советника - костер
Условия победы
На тактическом уровне:
Численность вампиров достигла больше численности людей
На стратегическом уровне:
Обычный режим: захвачена столица королевства, уложились в общий лимит ходов (“Полный контроль”: захвачены все области, уложились в общий лимит ходов). Советник отведает бокал крови и поздравит нас с абсолютной победой
На каждое из вышеперечисленных условий игрока будет ждать финальный арт (уникальный для каждого из Советников), с атмосферными диалогами и звуковым сопровождением. Эмоциональность любой из концовок обеспечена!
Баланс динамики
Для любителей математики ниже представлю простенькую модель динамики вампиров и людей для простого региона, но прежде определимся с соотношением реального времени и игрового времени - это важно
Динамика (простой регион)
Игрок победил на 29-й минуте 🎉
Комментарии к таблице
Время. В представленной модели я отталкивался от реального времени, соответственно все расчеты, которые приходятся на 1 минуту реального времени рассчитываются равнозначно на 3 игровых дня со случайным распределением.
Динамика вампиров у нас фиксированная: 1,125. Я решил не усложнять систему и по возможности обойтись простыми расчетами. Начальная численность: 10, далее на каждую игровую минуту мы просто домнажаем предыдущее число на 1,125.
В рамках данного примера я моделировал размеренное прохождение уровня, т.е. когда игрок НЕ допускает чрезмерно высокого уровня хаоса - он считается от голодных вампиров, которые не дождались крови к общему числу вампиров. Эталонный номинальный хаос: 1. Чем больше голодных - тем он будет выше. Если коэфф. превысит 2 (3 - для сложного региона) в течение 2-х минут - игрок проиграет.
Численность людей. Начальная численность для простого региона: 600 человек. Далее она будет неумолимо убывать, так как численность вампиров возрастает за счет людей + также помним про голодных, которые активнее убивают население. Получаем формулу: численность людей - (вампиры * голодные * коэфф. смертности). Коэффициент смертности у меня также фиксированный, составляет 0,12
Вероятность появления инквизиции. Механика этой вероятности включается на ~15-й минуте сессии, либо досрочно, если хаос превысит 1,5. Номинально составляет 50% и рассчитывается от показателя хаоса. Чем выше хаос - тем выше вероятность появления патруля. Также рассчитывается на 1 игровую минуту или 3 игровых дня. Также, если вероятность превышает показатель в 75% - к патрулю добавляется еще и облава на какую-то из станций (но не чаще 1-го раза в неделю)
Убежища. Кол-во убежищ, очевидно, требуется рассчитывать из динамики численности вампиров. Я рассчитывал так: 10 вампиров = 1 убежище, но есть нюанс: при прямой зависимости в простых регионах новые убежища почти не открываются, из-за чего игра становится скучной, а в сложных регионах на последних минутах игры, убежищ начинает открываться настолько много, что игрок физически не сможет их все контролировать. Поэтому я ввел еще один столбик с весами. Это искусственное увеличение, а в сложных регионах на завершающих этапах - понижение количества открываемых убежищ. Ведь совсем не обязательно, чтобы убежище было набито под завязку; как и обратная ситуация, когда какой-то процент вампиров может не заходить к нам в убежища, предпочитая свои личные укрытия.
Роадмап
Проект будет разрабатываться, что называется, на энтузиазме, поэтому представленная ниже роадмапа носит исключительно приблизительный характер. Очевидно, что некоторые вещи будут реализованы быстрее первоначальных оценок, тогда как другие дольше. Тем не менее, по моим скромным прикидкам, проект возможно будет реализовать в течение полугода плюс-минус 1 месяц.
Первый прототип на тактическом уровне с core-механиками, т.е. взаимодействие ключевых элементов: станции - маршруты - экипажи - убежища, а также динамикой, можно будет уже через два месяца. Этот этап самый важный: как можно быстрее понять, насколько core-геймплей получился веселым, удобно ли в это играть и насколько хорошо (или наоборот - нехорошо) работает наш баланс динамики.
Следующим этапом у нас демка. Как и полагается любой уважающей себя демке - там не будет шибко много возможностей, ее задача - дать поиграться в прототип широкой аудитории, сформировать представления об игре, ну и задать некоторые ожидания, плюс, конечно же, предварительный фидбек. В демке предполагается законченное главное меню, оформленная стратегическая карта с одним доступным регионом - начальной точкой вторжения а также полноценный геймплей на тактическом уровне со всеми прилагающимися механиками. Также обязательно нужен будет туториал, в рамках которого дефолтная Советница введет в курс дела (вероятнее всего, озвучка на момент демки будет в не финальном варианте): кто мы и чем будем заниматься на стратегическом и тактическом уровнях
После этого самый сложный этап:
оформление всех остальных регионов в нашем королевств.
добавление остальных Советников
финализация диалогов, запись и сведение озвучки
кат. сцены
механики ачивок
и, конечно, предфинальные плейтесты и багофиксы
Если все проходит успешно, - заворачиваем и отгружаем Альфу. Собираем фидбек - выходим на финишную прямую к Бете и к релизу.
Релиз планируется на платформе Steam, однако, на текущий момент, Valve еще не до конца определилась с их отношением к играм, в которых есть элементы, сгенеренные нейросетями, поэтому, в случае отказа, смело идем в Epic Game Store.
Спасибо за внимание, буду рад вашим комментариям и фидбеку!
Увидимся в дневниках разработчиков, а пока можете насладиться бокалом вина в компании одной из Советниц 🍷
Одна из ключевых фишек Stable Diffusion - умение преобразовывать различные изображения в соответствии с подсказкой. Нейросеть не может читать наши мысли и даже по подробному текстовому запросу не всегда выдает желаемое.
Например, я решил сделать персонажей для будущего проекта схожими с механикой Madness Combat - когда тело персонажа в основном находится под углом, а вместо рук и ног только кисти и ступни. Но саму стилистику более близкую к Battle Brothers.
● Первые проблемы
Помимо бокового ракурса я хотел добавить вид со спины и тем самым вставил себе в колеса еще больше палок. Дело в том, что нейросеть не понимает каким образом рисованы персонажи в Madness Combat и когда ты даешь ей схожие промты - получается сущий кошмар.
● Как подсказать задумку для нейронки
Именно тут на помощь приходит базовое умение рисовать. Используя любой графический редактор можно нарисовать корявую подсказку для нейросети. Я сделал набросок одежды с переднего и заднего ракурса, а дальше Stable Diffusion сделала мне готовые спрайты.
Взял голову с одного из старых промтов, сам нарисовал корявую версию затылка - нейросеть сделала адекватный вариант
Пробный вариант собранный из разных сгенерированных частей
Конечно - результат не идеален, но это куда лучше изначальных вариантов, который я рисовал самостоятельно. Остается собрать побольше частей и отредактировать их под общую стилистику, а дальше - анимация! К слову, именно для облегчения работы с анимацией я выбрал механику отдельных друг от друга частей тела.
Подписывайся на мой гоблинский блог, впереди еще больше интересного!