Работа по замене стороннего контента идёт полным ходом. Наш гений 777-tanks придумал запатентованную технологию, которая позволяет быстро отрисовывать нужные здания. На данный момент заменено порядка 30-40%. В этом посте мы показываем некоторые здания из европейского набора. Приятного просмотра!
Мы продолжаем уверенно двигаться к релизу игры, но специалистов по 2д и 3д-графике по прежнему не хватает. Поэтому мы ищем помощи у тех, кто владеет навыками работы в фотошопе и 3д-редакторах. Если вы обладаете необходимыми навыками или знаете того, кто обладает, то свяжитесь с нами любым способом, можете сразу писать в личку руководителю сообщества (https://vk.com/gzm_game).
По ЛОРу игры на ремонтную станцию, расположенную на астероиде, регулярно прилетают самые разные корабли. Каждый — со своей историей и причинами визита: от мелкого ремонта до критических поломок и тёмных делишек, о которых лучше лишний раз не спрашивать 😉
Но конкретно этот космический корабль по заказу нам привозит ресурсы для ремонта, питания и периодически проблемы 😭
Продолжаю разрабатывать Action-Satisfying Roguelike. Игра полностью без готовых ассетов (все генерируется в коде), мир процедурный, динамический. В этот раз сильно переработал окружение и левел дизайн. Смысл игры в том, что игрок должен получать наслаждения от каждого действия, мир будет динамическим и мельчайшими деталями реагировать на действия игрока.
Проект разрабатывается в полете мысли, без точной сформированной идеи финального видения игры, поэтому нет четких рамок и прям полноценного цикла разработки.
Соответственно публиковаться в стиме не будет, бесплатно можно будет поиграть на разных открытых платформах прямо в браузере.
Еднитсвенное небольшое упрощение при разработке игры это THREEJS. Однако я все-таки отмечу, что это лишь небольшое упрощение и не является игровым движком, просто упрощает рендер и многие вещи, движок все равно приходится писать надстройкой.
Надеюсь понятно преподнес контекст. Все сделано кодом, анимации, модели, и прочее (математически и процедурно). Ничего готового, никаких визуальных редакторов и прочего, никаких картинок или звуков, все внутри кода.
Сразу немного видео геймплея без дополнительных вводных:
Переехал с версии Threejs r128 на r185 (последняя). Подумал, что может пригодятся какие-то современные приблуды. Переезд был не таким простым, много чего отвалилось, в том числе цветовые схемы, шейдеры и прочее. Ну ничего, все успешно было восстановлено.
Также было много измнений объектов окружения и деталей. Вроде деревьев, на которых теперь висят маслянные фонари, которые освещают мягким теплым светом. Под деревьями добавил опавшие листья.
Ну кстати объектов окружения стало слишком много, поэтому переписал алгоритм процедурной генерации и создал систему взаимодействия окружения между собой. Например условно трава может расти под деревом, а вот дерево из камня расти не может. Ну вы поняли, короче система в которой формируются приоритеты и занятые слоты пространства, либо слоты, которые разрешают размещение только определенных объектов.
Изменил генерацию забора и прилегающих к нему колонн. Теперь они выглядят более ветшалыми, кривыми, потасканные временем, с налетом ржавчины, пыль, грязи и т.д. Также повреждения геометрии в виде искревления, сколов и прочего.
Переработал глобальное освещение, теперь появился объем и глубина.
1/2
Добавил асинхронную генерацию мира. Сейчас кстати это не так быстро происходит, мир генерируется секунд 10-15, это занимает именно процедурная генерация. Поправлю этот момент. Явно не мир майнкрафта, чтобы так долго генерить.
Другие изменения:
оптимизация производительности
добавил эффект ветра, теперь во время ветра колышит траву, летают разные частицы по карте вроде засохших листьев, пыли и тд, также фонари качаются при ветре
добавил наземную фауну жуков, которых аж 3 вида, даже аналог сороконожки есть с механикой движения тела, при приближении к ним они разбегаются в разные стороны
добавил воронов. Они летают по разным точкам вроде веток дерьвьев, также могут сесть на землю и искать там червячков, ходить туда-обратно, также пугаются если подойти к ним слишком близко и улетают
переделаны могильные плиты. Теперь они множества видов и форм, имеют уникальные потрепанные временем тестуры. Также есть зачатки других прилегающих объектов в ним вроде вырытой ямы и кучи земли.
ну и фонари могут также стоять на земле рядом могильными плитами
немного переделал шейдер модели слизи и разнообразил визуал. Модель одна - вариаций бесконечное множество из-за цветов, размеров, разных наростов и прочего.
Переделал UI главного меню и прокачки скиллов
Так как тут не публиковался до, то приложу некие исторические слепки игры.
Разработчики из студии Trioskaz, авторы нашумевшей No, I'm not a Human, выпустили сюжетный трейлер своей новой приключенческой игры с элементами психологического триллера Lost in the Roots. Также они приглашают всех желающих записаться на грядущий плейтест.
Все началось на Siberian Game Jam в ноябре 2025 года. Я со всей силы захотел экспериментировать с жанрами и создать для себя челлендж в разработке.
Очень сильно мотивировало то, что ребята из моего города создали свой небольшой "ChilChilla" джем и нашли офлайн точку, но тему и даты проведения взяли с Siberian game Jam'a. Технически я участвовал в двух джемах одновременно.
Я участвовал в джемах более 30 раз, но самые классные - те, где разработчики собираются вместе. Чтобы пойти в бар после окончания джема.
Челлендж был в том, что я решил создать что-то среднее между симулятором поселения и товер-дифенсом. Нужны механики строительства и сбора ресурсов, волны врагов и стреляющие в них башни, а так же минимальный контроль юнитов. А еще нужно добавить немного нарративных вставок, нарисовать визуал, сделать туториал и написать звуки/музыку. На джемах я всегда работаю один.
Сказано - сделано. Джемовая версия игры выглядела вот так:
1/3
Уже по этим скринам можно заметить конкретные элементы, которые перешли в основной проект без изменений
Маяк, как центральная фигура игры
Полоса прогресса, которая явно показывает, сколько мы уже отбиваемся от врагов и сколько осталось протянуть. Очень хотелось сделать в игре очевидную глобальную цель.
Ограниченное количество построек
Я успешно выиграл джем, приехал домой и вернулся к основному проекту, даже не подозревая, во что превратится эта джемовая забава потом.
Пару месяцев спустя
В начале февраля 2026 года я закончил работу над одним из самых крупных своих проектов и оставил его висеть в стиме, собирать вишлисты.
Чтобы немного отвлечься от разработки игр, я решил заняться разработкой ассетов для игр. До конца февраля я разгребал свой беклог в стиме и обновлял все свои наработки - меню, системы сохранений, контроллеры звука и геймпадов... В общем, улучшал весь свой джентльменский набор для разработки игр.
Так как в этом году я решил не просто играть по 2-4 часа в игры из беклога, а прям проходить их, я подходил к выбору более осознанно. пройдя первую пятерку игр, очередь дошла до ThroneFall и Kingdom's Deck. Я прошел обе игры и мне очень понравилось почти все... В этих играх было разделение на фазы. Днем - строимся, а ночью обороняемся от врагов. В этот момент я вспомнил, что у меня есть моя джемовая игра, где тоже была похожая система волн, но так как враги не атаковали поселенцев, собирать ресурсы и строиться можно было даже во время осады - не баг, фича. Так и я понял, что хочу сделать в стим небольшую стратегию.
BEACONFALL - начало пути
Начало разработки было стандартное. Создал новый проект, перекинул туда все свои наработки и начал творить. По опыту знаю, что проект с джема доделывать и переделывать нет смысла и начал все делать с нуля. Изначально игра так и должна была остаться в 2д, но ВДРУГ мой приятель написал мне - "Я тут сделал что-то типо плагина, который позволяет делать на гейм мейкере 3д игры. Хочешь попробовать?"
Ну конечно же я захотел! Ведь я мало того, что никогда в жизни не занимался 3д моделированием, так и сам факт разработки 3д игр на 2д движке - отдельное запретное удовольствие!
1/4
Переход из двух измерений в три, за четыре шага и пять дней.
Так как я не хотел опять тонуть в разработке на год, я решил разными путями ускорить разработку. Купил неплохой ассет с 2д юнитами, сделал игру сессионной, но реиграбельной и не распылялся на добавление ненужных фич.
Для разработки своих первых 3д моделей я использовал BlockBench. Он легкий и простой в освоении. Опыт рисования 2д пиксель-арта и тот факт, что моя любимая консоль - psp, дали о себе знать. Я стремился делать приятные лоу-поли модели с пиксельными текстурками и без всяких сглаживаний (ну конечно, какое сглаживание моделей в 2д движке?)
Первая же модель отлично залетела на реддит.
Я выделил 2 недели, за которые слепил около 14 моделей и маяк. Какие-то модели были проще, какие-то сложнее, но работал я по одному принципу - не задерживаться на модели слишком долго. В среднем у меня уходило примерно 3-4 часа от куба до добавления модели в игру.
Разработка самой игры шла весьма гладко - регулярные офлайн плейтесты, отработанный пайплайн и понятный жанр. Работаю я медленно, но стабильно. Примерно 3-6 часов в день, часто без выходных. Остальное время я трачу на изучение других игр и организацию джемов, работы у меня нет. Такой режим помогал совсем не уставать от проекта.
Фидбек от людей помог сильно улучшить игровой опыт.
Вам повестка
Это могла бы быть история про "я сделал игру без кранчей и у меня все хорошо", но нет. В один прекрасный мартовский день мне пришла повестка, а на следующий прекрасный день санкции добили банк, на который я получал выплаты со стима. Ситуация получилась интересная: из-за действующей повестки я не могу покинуть страну, чтобы где-небудь открыть счет, а как получать деньги в россию - непонятно.
Стресс, паника, тревога, депрессия, отчаяние. На протяжении двух недель я просто нервно делал игру и жаловался всем, как все плохо и вообще всёпровало. Я весьма остро реагирую на подобные новости, есть такая проблема у меня. Тем не менее, единственное, что мне нужно в этой жизни - это возможность делать игры. Как обычно, все оказалось не так страшно и решение было под рукой. Я быстренько разобрался, открыл ИП, завел валютный счет и переехал в другой банк. Выплаты снова приходят.
Ситуация все еще немного нервная, ведь российские банки быстро отваливаются, а запрет на выезд то с меня никто снимать не собирается. Но это все бред и не важно, важно только одно - доделать игру. И доделывать надо быстро.
И если сама разработка шла легко и гладко, то релиз прошел ужасно. Главная проблема - моя паранойя. Я решил пожертвовать маркетингом в пользу раннего релиза. Я планировал закончить разработку в июле, 2 месяца фултайм позаниматься продвижением и выпустить её в сентябре. Но я решил, что лучше выпустить игру сразу, чтобы точно получить релизные деньги пока банк работает.
День релиза
gif-версия трейлера
Это был уже мой седьмой релиз, поэтому никаких эмоций я не испытывал. Единственное отличие от остальных будних дней - я купил пива в честь выпуска.
План на выпуск был такой: 1) Выпускаем игру 2) Мониторим отзывы, фидбек и багрепорты 3) Активно выпускаем патчи 4) Так как релизная скидка на 2 недели, есть время, чтобы подержать игру на маркетинговом ИВЛ 5) Скидывать все звонки от военкомата
Первый день после релиза был очень-не-очень. ВНЕЗАПНО обнаружилась пара критических ошибок, которые не нашел ни один из тестеров. Одна из ошибок была серьезной и повсеместной - после прохождения туториала не появлялось окно победы и по сути игра просто останавливалась после победы над фильной волной. Благо игру вообще никто не покупал, поэтому я спокойно нашел и справил все ошибки, никто даже не заметил таких ужасных критов.
Игру выпустил рано утром, к вечеру поправил все баги и набрал 10 отзывов за счет своих подписчиков и друзей, и со спокойно душой лег спать.
Уже когда мне нарисовали и отправили готовый постер, я понял, что в ТЗ я описал совсем не тот вайб, который был в игре.
Следующие 3 дня я активно выпускал патчи с исправлением баланса и ошибок, отправлял ключи ютуберам и связывался с другими разработчиками игр, чтобы объединиться в бандлы. И внезапно это все начало давать результаты - постепенно игру стали покупать.
И на этом всё! Никаких душераздирающих историй, никаких вложений последних средств, никаких кранчей по 14 часов в день. Просто еще одна моя маленькая игра и история.
Небольшое саммари
- 6 месяцев соло разработки по ~4 часа день - из вложений - 10 тысяч рублей на постер, $100 на стим-директ и еще 2000р тестировщикам - Движок разработки - game maker 2 - вишлистов на релизе - 850
Я не могу назвать неудачной игру той концепции, которую выбрал для разработки первой (ссылка на первую часть истории будет где-нибудь тут). Хочу лишь сказать, что просто из-за недостатка времени не потянул весь объем работы, который предстояло выполнить. Когда я ненадолго отошел от разработки в целом, мне попалась ещё одна реклама. Игра из неё показалась мне такой же увлекательной и интересной, но в то же время сильно более легкой в реализации (как же я ошибался). Именно её я и взял как основу для своего следующего проекта.
И вновь увлекательный геймплей из рекламы
Дальше – больше
В своей основе геймплей прост: у вас есть игровое поле (сетка), на которое вы можете расставлять своих героев (юнитов), и есть путь следования вражеских мобов. Ваша задача — не дать врагу дойти до базы.
В начале уровня вам выдается один юнит первого уровня, рандомно расположенный на сетке (вы сразу можете его перемещать), и один кристалл. Когда ваш герой разбивает кристалл, из него появляется ещё один герой тоже первого уровня (герои могут быть как дальнего боя, так и ближнего), а на сетке спавнится ещё один кристалл. Если у вас появилось два одинаковых героя, вы можете объединить их, увеличив их силу (минимум в 2,5 раза) и освободив место на сетке. Объединение происходит посредством перетаскивания одного героя на другого.
Когда у вас появляется два героя пятого уровня с одинаковым типом атаки (ближнего или дальнего) — можно объединить их в уникального юнита. Причем на выбор дается два варианта: средние характеристики, но шанс на успех равен 100%, или же очень высокие характеристики, но шанс на успех равен только 50%. В случае неудачи на месте объединения спавнится герой первого уровня.
Те самые эволюции
Первый прототип
Ну что ж, идея понятна, нужно приступать к работе. Начал я с рабочего прототипа: условно набросал сетку и путь движения мобов. При слиянии кубики (герои) просто меняли цвет. В целом всё работало адекватно, и пришло время прикручивать ко всему этому визуал.
Как мне показалось, органично в этом всём будет смотреться пиксельная стилизация, и я начал отрисовывать героев. Тут на сцену и выходит Figma, о которой я упоминал в первой части своего рассказа. Да, не смейтесь, рисовал абсолютно всё я в Фигме. Несмотря на обилие софта для пиксель-арта, я выбрал именно её, потому что имел базовые знания по работе там. За стандартный пиксель я принял квадрат 10x10 реальных пикселей и принялся отрисовывать всё, что мне нужно.
Этот рыцарь является героем ближне боя 5 lvl
Первыми были герои. Когда дело дошло до того, чтобы наконец вставить их первые спрайты в игру, я увидел, как бедно это всё выглядит. Статичные герои живости игре явно не давали. Было принято решение нарисовать анимацию для каждого. Пяти кадров на брата оказалось достаточно. И вот мои болванчики уже замахивались мечом, чихали и просто дышали — результат меня устроил.
Пару кадров из анимции этого рыцаря
В качестве карты я вставил вырезанную из рекламы заглушку, и игра вновь преобразилась. Но если просто копировать геймплей точь-в-точь, то зачем это всё? Вот и я так подумал, поэтому было принято решение о прикручивании новых механик.
Поговорим о главном
Первой такой механикой стал раздел улучшений в главном меню. Стоп, главное меню? Когда кор-механика (слияние и эволюция) была готова, я принялся делать так, чтобы проект в принципе соответствовал понятию «игра». То есть чтобы её можно было перезапускать, выбирать уровни, изменять громкость в настройках и делать все те базовые вещи, о которых мы даже не задумываемся.
Тут я познакомился с понятием, которое впоследствии сильно упростит мне разработку чего-либо — звучит оно как «дизайн-документ». Оказалось, что, если визуализировать все свои мысли и идеи хотя бы на листе бумаги, многие нюансы всплывают еще до начала полноценного кода. После текстового описания всего, что только приходило в голову, я принялся рисовать интерфейсы всех экранов в Figma.
Когда дизайн и логика всех экранов была продумана - нстало время переносить это всё в Godot
Когда дизайн всех экранов был готов, я начал аккуратно переносить наработки на игровой движок. В процессе рисования было принято решение, помимо экрана улучшений, сделать экран магазина, в котором игрок должен получать новое оружие за успешное прохождение глав. Также был придуман некоторый центровой персонаж, которого мы как раз и прокачиваем.
На удивление, работа шла быстро, осложнения вызывала только куча разных модификаторов, которые постоянно прикручивались к формуле урона. И речь идет не о таких простых вещах, как, к примеру, шанс критической атаки при каждом ударе. Нет, речь идет о горении, кровотечении, замедлении. Некоторые эффекты наотрез отказывались суммироваться. Допустим, вот есть у вас герой ближнего боя, на котором надет меч, который с определённым шансом заставляет врага замедлиться при нанесении урона. И есть герой дальнего боя со стрелой, которая с определенным шансом поджигает врага. С моим скудным опытом в программировании это классифицировалось как «сложности».
Полностью работающее главное меню
Процесс шел медленно, но верно, и по истечении пары недель у меня на руках была уже полностью рабочая игра. В ней была реализована система глав (уровней), полностью работающий магазин и ветка улучшений. Также были отрисованы 40 карт, которые в игре чередовались каждые 5 уровней (первые пять уровней — лето, вторые — осень, третьи — зима и т. д.).
Часть отрисованных карт, на скрин попали и референсы
Особенности портирования
Когда у вас на руках есть что-то напоминающее продукт, хочется посмотреть на то, как это будет работать на реальном устройстве. Поэтому дело планомерно подходило к портированию на платформы, которые изначально и подразумевались как основные для моих игр — iOS и Android.
К сожалению, в своем быту я не нашел достаточно современных устройств на Android (единственным рабочим оказался LG L5, который когда-то довольно долго служил мне верой и правдой), поэтому вариантов не оставалось — делаем сразу на iPhone.
Там тоже не без нюансов, но обойти их мне показалось сильно проще. Дело в том, что вы не можете экспортировать свой проект из Godot в формате IPA. Для этого нужно какое-либо железо от Apple с установленным Xcode. Благо, макбук был найден в ближнем окружении, и работу это сильно не затормозило.
В процессе тестирования уже на реальном устройстве были выявлены мелкие баги. Например, хитбокс персонажа в главном меню не пропускал тапы и свайпы для смены глав (на компьютере я просто крутил колесико мыши в этом месте), а в меню улучшений плашки блокировали возможность скролла — он срабатывал, только если ты умудрялся попасть пальцем ровно между двух плашек. Ниже добавил скриншоты интерфейса и игрового процесса.
1/7
Скриншоты работающей игры
Затем в том же ближайшем окружении были найдены и относительно свежие Android-устройства, что позволило протестировать исправленную версию игры уже на них.
В процессе портирования я удивился, что реализация экспорта оставляет желать лучшего в обоих вариантах. Для порта на iOS вам нужен компьютер от Apple, а при порте на Android нужно пройти несколько кругов геморроя с дебаг-ключами. Но всё это было побеждено, и игра успешно работает на всех заявленных операционных системах.
Но то, что выяснилось дальше, поставило целесообразность разработки игр подобного рода под большое сомнение.