И снова здравствуйте. С Вами ТехноМаг, и сегодня поговорим о том, что было нами сделано за этот год.
Большую часть времени конечно сожрал откат с Unreal Engine 5 на Unreal Engine 4. Подробнее я об этом писал в своем прошлом посте, поэтому останавливаться на этом не будем.
Вторая часть года была посвящена целиком и полностью редакторному коду. И вот тут появились проблемы, о которых я и хочу поговорить сегодня.
Как я писал ранее неоднократно - структура построения сцены UE (причем что 4, что 5) не подходит для космических сцен. Понимание этого у нас уже было давно и мы уже проделали достаточно большую работу по исправлению этого поведения, как для локального рендера, так и для сетевого взаимодействия сервер-клиент и клиент-сервер. В рамках этой-же проблемы сейчас необходимо еще несколько переработать и доработать игровые ассеты.
Как вы знаете, в Unreal Engine вся игровая логика строится вокруг Актера. Актера можно назвать минимальной игровой логической сущностью. Он-же выступает в качестве носителя сетевой логической сущности и это не изменить без существенного переписывания движка, чего я всеми силами пытаюсь избежать. Поэтому, последние несколько месяцев я работаю над дополнительным носителем игровой логики. Эта сущность (Entity - не путать с Entity в ECS) является по большей части клоном актера с порезанным функционалом. И именно в них мы сейчас упаковываем игровую логику. Актеры же в свою очередь переехали в разряд визуализации (на столько, на сколько это возможно). Такой метод поможет нам условно разделить игровой код на две составляющие (backend и frontend), что хорошо скажется на сетевом взаимодействии, а так-же на на общем производительности системы (будет меньшее кол-во операций на обсчете объекта c полной трансформой, т.к. эти расчеты будут выполнены на бэкенде и закэшированы по возможности).
Таким образом родился новый Фреймворк, который был назван "Universal Asset"). И сейчас я работаю над тем, чтобы внедрить его в уже написанный код, и подружить уже созданный инструментарий для работы с ним.
Минус данного подхода - все остальные запланированные на этот год задачи пошли под нож... и были перенесены на следующий. Плюс, IRL события и собственно основная работа (что для меня, что и для членов команды) тоже внесла свою лепту. А следовательно, никакого запуска тестового сервера в ближайшие месяцы, как это планировалось изначально, не предвидится.
В связи с этим на следующий год пришлось отказаться от жесткого планирования в угоду "динамического". Для нас это будет сильно удобнее, т.к. в плане можно учесть непредвиденные жизненные ситуации.
Из хороших новостей, есть некоторая вероятность, что к нам в команду придет дополнительный программист, который сможет перекрыть задачи, над которыми я не могу работать в тот или иной момент.
Работа над дизайном кораблей идет, хоть и медленнее чем хотелось бы. Тем не менее, практически готов полный набор концепт-артов (будет опубликован когда появится полностью в финальном виде).
И еще медленнее идет работа над их 3д исполнением. К сожалению, нам пока не удалось разработать эффективный workflow, который позволит эффективно и в приемлемое время создавать контент для проекта (с учетом IRL). Но мы работаем над этим.
Отдельно, я хочу поблагодарить Александра. Саша, спасибо тебе огромное, что тратишь свое личное время и помогаешь нам с косяками в моделях. Без тебя это все затянулось бы на гораздо большее количество времени.
И на этом, я думаю, пока закончим. И будем надеяться, что первая половина 2024 года будет такой-же продуктивной, как и первая половина 2023 года.
Кадры из Gta 4(хватание за место попадания можно легко добавить. Я этого не сделал чтобы показать вам как можно сделать, а уже какие действия персонаж должен сделать вы сами сможете придумать, и ещё вы можете сами решить когда персонаж должен будет упасть):
Endorphin — это программный пакет для динамического синтеза движений, разработанный NaturalMotion . Эндорфин можно использовать для создания компьютерных симуляций большого количества независимых персонажей, взаимодействующих друг с другом и с миром в соответствии с краткими сценариями или «поведениями». Он сочетает в себе физику, искусственный интеллект и генетические алгоритмы для создания реалистичной анимации. В отличие от Euphoria , также разработанной NaturalMotion, Endorphin — это не движок, а инструмент 3D-анимации для Microsoft Windows.
В Endorphin 2.5.2 можно загружать собственных персонажей например монстров, пришельцев и собственные объекты например танк, самолёт, вертолёт и т.д.
Длина записи анимации 5 тысяч кадров.
Заранее сделанные анимации можно соединить с симуляцией например персонаж будет идти по анимации, а его руки будут вести себя по симуляции в той позе в которую вы их поставили в Endorphin.
Добился я этого с помощью:
1) Поведения Stagger 2.0.
Значок поведений:
Параметры в правом углу.
2) Constraint 1.
Значок Constraint:
Параметры в правом углу.
И Constraint 2.
3) Активная поза:
Параметры в правом углу. И И И самое главное надо используя Select с зажатым шифтом выбрать только руки как показанно на фото.
Способ создания активной позы.
4) Сохранение анимации:
Доработанная за несколько секунд версия анимации:
Бесплатно скачать Endorphin 2.5.2 можно по этим ссылкам:
They Are Here — это хоррор от первого лица, про журналиста, ставшего свидетелем похищения пришельцами на ферме Грейсвуд. Игра вдохновлена фильмами ужасов про пришельцев: Знаки, Мрачные Небеса, Секретные Материалы. Демо-версия с прологом игры доступна в Steam
Пролог рассказывает историю первого контакта с НЛО, случившуюся за много лет до событий, показанных в демо-версии. Главный герой — рядовой Майкл Андерсон, служащий на военной базе неподалеку от фермы Грейсвуд. По случайному стечению обстоятельств, он становится свидетелем страшных, неподдающихся объяснению, событий.
Я приходил поиграть на работу к маме, дома компьютер появился у меня лет через 6. У них там был один сотрудник звали Сергей, который заходил в этой игре дальше всех. Секрет был в том, что он лупил по клавиатуре (пробелу), как сумасшедший.
А в 2022 один товарищ на DTF писал, что выпускает свою игру мечты, которую он пилил несколько лет и назвал ее .... если захотите назову. Игра очень красивая и блин сложная как в далеком 1992.
Новая игра как не странно имеет многие, но не все достоинства оригинала
Правда выглядит прекрасно и представляет некоторые новые фишки. Кто захочет узнать название новый игры напишите в комментариях.
Всем привет! После публикации второго девлога прошло два месяца и некоторые читатели уже отчаялись увидеть очередные новости. Сначала о хорошем - разработка не прекращалась. Да, был период, когда всё затормозилось, но на самом деле мы даже не сильно сместили сроки “вправо”. Но обо всём, как водится, по порядку.
Несколько слов о форс-мажорах
Как я уже упоминал в самой первой публикации, наша команда - это, прежде всего, команда энтузиастов. А значит у каждого есть какая-то основная работа. Вот она и внесла первые коррективы в сроки разработки. Так получилось, что рабочая командировка заняла у меня больше недели и я не смог вовремя отреагировать на накопившиеся вопросы от команды.
Дальше - больше. Как только с рабочими моментами всё устаканилось и пришла пора писать очередной девлог, я оказался… в пульмонологии :(. Коронавирус… Благо хоть спасла заранее написанная документация, ведь пока я валялся под капельницами, ребята продолжали работать. За что им можно и нужно выразить огромную благодарность. Но, как водится, от дополнительных вопросов процесс разработки это не избавляло. Небольшие проблемы продолжали накапливаться, а я продолжал болеть.
Критический провал - ничего страшного
Примерно в это же время один из программистов тоже попал в похожую ситуацию - запара на работе + болезнь. Не коронавирус, но сам факт. Соответственно, на такую вещь, как “публикация девлога” все дружно забили и просто продолжили работать над тем, над чем можно. А как только меня посчитали стабильным, выписали из стационара на амбулаторное лечение, ведь желающих полежать под капельницей в нашем городе было много :).
Настал очередной спринт под названием “разгребание накопившихся тасков”. А потом очередная рабочая командировка … Как итог - за всё это время несколько пропущенных/перенесённых командных созвонов и частичное неучастие как тимлида в разработке. Ну хоть как к ГД вопросов было поменьше - это к слову о важности препродакшна и написанных страницах ТЗ. А потом саунд-дизайнер написал, что из-за отсутствия свободного времени не сможет больше с нами участвовать в разработке.
Несколько критических провалов подряд
Но как всем известно - самое тёмное время перед рассветом. В итоге мы показали, что не просто группа людей, собранных вместе, а единое целое, где каждый участвует активно, приносит свои идеи, таланты и умения. Мы не прекратили разработку, не развалились в период трудностей, а продолжили работу над игрой. Совместное же преодоление трудностей - это то, что связывает нас ещё крепче. По возможности стараемся поддерживать друг друга, поднимать настроение и находить новые решения, даже когда не все находятся в строю.
И да, саунд-дизайнера мы тоже нашли. Так что всё продолжается, но чтобы у будущего игрока не возникло музыкального диссонанса, готовую музыку и все SFX нужно будет переделывать. Тут по-другому никак, ведь саунд - человек творческий и на одно и то же ТЗ, каждый делает немного разную музыку в разной стилистике. Собственно поэтому полишинг займёт не один месяц, как предполагалось ранее, а два. Это позволит нам не только довести игру до надлежащего технического качества, но и не торопиться с проработкой музыки.
Не совсем критическая удача, но...
Почему 3.5?
Внимательные читатели сразу спросят:
А почему DevLog #3.5?
Всё дело в том, что часть новостей по разработке мы публиковали на сервере Gamebox в дискорде, но не получилось опубликовать здесь из-за моей болезни и прочих моментов. Поэтому те, кто по какой-то причине эти публикации видел, могут смело переходить к следующему пункту.
Комикс
Несмотря на тот факт, что у нас немного абстрактная игра про квадратики и кружочки, мы все же решили добавить сюжет. И раз уж он у нас есть, то почему бы не сделать его чуть сложнее и интереснее, чем это необходимо. И подаваться этот самый сюжет будет в виде небольших комиксов, один при старте игры, и по одному за прохождение каждого биома. Вступительный комикс уже почти готов, и мы можем показать вам парочку прекраснейших фонов. Когда-то это был процветающий город, но пустыня оказалась сильнее.
Много квадратиков, и все разные
В прошлом выпуске мы писали, что находимся в процессе поиска лучшего визуального стиля. Ничего пока не поменялось, всё ещё ищем. Художники делают несколько вариантов одного и того же объекта, и мы все дружно выясняем, какой вариант самый приятный для глаза и читаемый. Сегодня вашему вниманию варианты магнитных блока и телепорта. Магнитные блоки весьма комплексные, и в реализации дались нашему кодеру непросто. Телепорт же делает то, что все от него и ожидают - перемещает аватар из точки А в точку Б и назад. Различные вариации магнитов и телепорта:
Варианты магнитных блоков
Варианты внутренних порталов
Не артами и иконками едиными. Какие уважающие себя разработчики будут делать игру, не используя красивые VFX, если их можно использовать? Больше эффектов богу эффектов. И ещё немного сверху. Первый - это портал, он же выход из локации. И уже представленный выше магнитный блок. Эффекты пока что на стадии “лишь бы работало”, и в будущем будут дорабатываться и оптимизироваться.
И ещё немного лора. Антагонист.
В каждой уважающей себя истории есть протагонист и антагонист. И сегодня мы представим вам последнего, встречайте, Агата.
Нежелание снижать темпы промышленного роста и пренебрежительное отношение к природе привели неконтролируемому потеплению, из-за которого произошла смена климата на всей планете. Площадь пустынь увеличилась, уровень океана поднялся. Большое количество прибрежных земель и городов ушло под воду. Это, в свою очередь, породило социальные и экономические проблемы, рост нищеты, голод и локальные военные конфликты. Люди столкнулись с чередой невиданных доселе проблем и кризисов. Усилиями ООН и ведущих корпораций планеты был разработан ИИ нового поколения, с невероятной вычислительной мощностью, полным осознанием себя и огромной способностью к обучению. ИИ получила имя “Агата”. Перед ней стояла грандиозная задача - помочь людям вытащить себя из той дыры, в которую они сами себя и загнали. Создание такого масштабного проекта не держалось в секрете. Кто-то видел Агату как последний шанс на спасение, другие считали, что разумный ИИ станет последней каплей, которая приведет человечество к окончательной гибели. Тем более сейчас, когда цивилизация и так ослаблена.
Из дневника нарративного дизайнера, стр. 16
Агата. Концепт-арт
ем из вас, кто играл в Stellaris, наверняка знакома гражданская модель “Взбунтовавшийся служитель”. Именно эта модель послужила основной для создания Агаты. Честно пытаясь справиться с поставленной задачей, Агата поняла, что самая главная проблема в деле спасения людей это сами люди, их алчность и бесконтрольное желание делать что хочется, невзирая на последствия. Пришлось брать ситуацию в свои цифровые руки и “немного” урезать людей в их правах и свободах, ради общего блага, дав взамен сытое существование без проблем и забот. Впрочем, сидеть в золотой клетке понравилось не всем.
И снова о герое и визуале
Поиск самого удачного варианта для героя не прекращается. Сейчас мы рассматриваем несколько вариантов. В ближайшее время точно определимся. Почему так затягиваем? Это к вопросу о том, чтобы плотно увязать нарратив, художественный стиль и геймдизайн в единое целое. Лучшее - враг хорошего, но сейчас мы уже на финишной прямой :).
Вообще, с героем интересно получилось. Сначала он был чистым 2D-объектом, потом мы решили сделать его 3D-объектом. Следующая итерация - это тоже 3D-объект, но с другой текстурой и цветом.
Первые итерации героя в 2D и 3D на одном игровом поле
Вторая итерация 3D-героя наводит на игровом поле суету
Нужно больше итераций героя
Также изменения претерпел и VFX для магнитных блоков. Сейчас он лучше подходит к нашему визуальному стилю и, кроме того, изменён его функционал: если раньше он был статичный, то теперь реализован через "сплайн" и это позволит адекватно реагировать на динамические изменения блоков на игровом поле.
А вот пример анимации порталов внутри уровня.
Портал в неактивном состоянии
Портал в активном состоянии
Промежуточные итоги
В конце августа мы планировали сделать фичестоп, но нам не пришлось, поскольку все 16 из 16 запланированных механик готовы. Спасибо нашим программистам за это :). Теперь осталось только все эти реализованные фичи отполировать: отловить все баги, оптимизировать, настроить освещение и т.д. В общем, работы много, поэтому было принято решение отступить от жёстких сроков “1 месяц на полишинг” и пока что поставить сроки в “2 месяца на полишинг”. Мы очень постараемся за ближайшие два месяца довести проект до качественного состояния, но пока чёткую дату релиза не называем по понятным причинам. К тому же есть некоторые проблемы с регистрацией страницы в Steam. Эта проблема пока в процессе решения.
И, по уже установившейся традиции, держите напоследок ещё один концепт-арт игрового мира.
До новых встреч в следующих публикациях. Надеюсь, больше форс-мажоров не будет и мы в итоге не только доведём разработку до конца, но уже до конца этого года порадуем готовой игрой!