Официальный канал разработки психологической RPG Связь с разработчиками: @rseene
Помните, мы рассказывали, что писали сценарий в Arcweave? Они взяли у нас интервью! Мы рассказали, как использовали их инструмент, чтобы написать большой вариативный сценарий.
https://blog.arcweave.com/how-veralomna-uses-arcweave-to-build-their-complex-narrative-heavy-rpgs
Кажется, без вас мы не справимся. Давайте всем сообществом выберем цвет силового поля, который вам больше нравится (а то мы уже с ума сходим).
(опрос ниже)
Привет, это Арсений. Сегодня ныряем во внутренние голоса главного героя и разбираем портрет RAZUM. По названию понятно, что RAZUM топит за интеллект, рациональность и выступает иногда душнилкой в сравнении с остальными субличностями.
На первых трех артах — ранний концепт, который в игру не попадет. Хотелось связать полушария как магнитные поля: все помнят эти причудливые завитки из стружки на уроках физики.
Идея казалась хорошей, и я вымотал художника, пока не понял: проблема не в исполнении, а в задумке. Перезапуская концепт, я обнаружил, что решение лежало перед носом: RAZUM — это ментальный лабиринт, где по сине-холодным коридорам бегают золотые искры идей; так и закрепили финальную палитру.
Кстати, LOCUS EQUATION уже можно добавить в вишлист в Steam. Каждый вишлист — гигантский плюс к морали команды. Спасибо за вашу поддержку! ❤️
Случайно ускорили анимацию при постановке сцены и получились тараканьи бега
Читать полностью…Рабочее место сценариста VS Рабочее место UE5 разработчика.
Мы разные, но нас объединяет одно: ниточки на экране.
Друзья, этот день настал! LOCUS EQUATION уже доступна для добавления в вишлист в Steam! Совсем скоро мы расскажем подробности о внутренних голосах главного героя, системе развития персонажа и о тропической планете Ванзувар, где разворачиваются события игры. Добавляйте игру в вишлист и оставайтесь на связи — впереди много интересного!
https://store.steampowered.com/app/2243310/Locus_Equation
Неделя была тяжелой, но мы справились. Осталось дождаться ревью от Steam и игру можно будет добавить в виш-лист. То, что как мы думали займет пару дней, заняло целых полторы недели. Теперь можно со спокойной душой возвращаться обратно к любимой разработке.
Читать полностью…Почему разработка инди-игры занимает так много времени и почему мы не сдаемся?
Когда мы только начинали разработку, даже не подозревали, что этот процесс растянется на несколько лет. И, честно говоря, заранее подготовиться к такому объёму работы невозможно.
Создание игры — это сложный процесс, включающий графику, звуки, окружение, тексты, анимации и множество других элементов, которые даже трудно перечислить полностью. Когда работаешь над всеми этими аспектами самостоятельно, начинаешь с пониманием относиться к большим студиям, где у каждого сотрудника своя узкая специализация. Кто-то делает черновые версии уровней (блокаут), другие превращают их в полноценные локации с детализированными объектами. Одни специалисты пишут звуковые эффекты, другие интегрируют их в игру.
У нас же все иначе. Из-за крайне ограниченного бюджета и наших высоких стандартов качества, каждому из нас приходится выполнять сразу несколько совершенно разных ролей.
Сегодня мы программисты, работающие с блюпринтами и C++. Завтра — актёры мокапа, которые пытаются записать "выразительное, но не слишком театральное" падение в обморок. И еще завтра — монтажёры и аниматоры, которые обрабатывают отснятый материал и привязывают его к игровой логике. Потом просыпаемся QA-специалистами, проверяющими работу каждого элемента игры. Сейчас разработка ощущается как долгое восхождение на гору, когда забрался слишком высоко, чтобы слезать обратно.
Наш ориентир остается прежним — сделать интересную игру, которая принесет радость игрокам. Мы очень трепетно относимся к своему труду и надеемся, что если наш первый крупный проект вам по-настоящему понравится, то следующие игры мы сможем создавать уже без тех строгих рамок, которые сейчас диктуются бюджетом.
А пока — продолжаем путь и делимся новым скриншотом!
На самом деле вы оказались правы, но только частично. Сценарий разрабатывался 3 года и 10 месяцев, однако в условии было "сейчас". Поэтому сейчас мы сосредоточены уже на его реализации: мы ставим сцены уже прямо на движке и на данный момент готово 30% главного квеста, то есть сейчас мы занимаемся игровой логикой и сочетаем друг с другом тысячи переменных.
Паралельно мы занимаемся окружением и светом: все интерьеры почти готовы и мы в шаге от того, чтобы наполнять мир инопланетными тропические джунглями (кстати, вчера мы наконец-то сделали смену дня и ночи).
Много времени также отнимают анимации: захват движений через камеры оказался несовершенным, поэтому мы заказали настоящий motion capture костюм для анимаций, чтобы можно было свободно совершать различные падения и взаимодействие с объектами.
Как только мы завершим важный майлстоун с постановкой сценария мы сразу примемся за создание страницы в Steam и создание трейлера: для этого у нас уже все готово.
Примерно так будет выглядеть стартовый экран (Work in progress) 👀
Читать полностью…Почему разработка игр занимает так много времени? Потому что даже такой, казалось бы, мощный движок, как Unreal Engine 5, предоставляет лишь базовые инструменты. Чтобы создавать саму игру — развивать сюжет, ставить сцены, привязывать анимации и реакции — сначала приходится дорабатывать сам движок, как бы парадоксально это ни звучало.
Именно этим мы занимались в последнее время. Нам пришлось добавлять в Unreal Engine 5 функционал, которого не хватало конкретно нашей игре. Например, мы сделали систему для постановки сложных вариативных сцен, обеспечили поддержку мгновенного сохранения и загрузки, а также разработали инструменты для привязки контекстных анимаций персонажей. Стандартный синематический сиквенсер движка вообще не предусматривал такой вариативности, поэтому мы решили создать собственную систему постановки сцен.
На приложенном скриншоте вы можете увидеть, как примерно выглядит одна игровая сцена на блюпринтах. Не вдаваясь в детали, отметим лишь, что это всего одна сцена из тысяч подобных. Чтобы полмиллиона слов сюжета стали полностью играбельными, мы разделили игру на множество небольших фрагментов, отдельно ставим каждый из них и затем объединяем их в единый игровой мир с множеством причинно-следственных связей.
Впереди ещё много работы, но мы уже рады тому, что адаптировали движок под наши задачи и теперь можем создавать игру быстрее и эффективнее. ⬆️
Предлагаем вам ознакомиться с процессом создания персонажей, а также продемонстрировать визуальное соответствие между 2D портретом и 3D реализацией.
Даже при изометрическом формате персонажи будут продуманы до мелочей, чтобы увеличить настолько, насколько это возможно, градус выразительности и аутентичности.
Хотим рассказать вам о сердце нашей игры — сценарии и сюжете.
1. Вариативность сюжета и правило трех 📖
С 8 июня 2021 года мы занимаемся созданием сценария для социальной и психологической RPG с упором на диалоги. Каждый год проводим глобальные переработки сюжета и тесты с живыми людьми. По итогам у нас сформировалось минимум три пути прохождения (правило трех), причем третий иногда остается секретным. Кроме того, предусмотрено множество концовок, напрямую зависящих от решений игрока.
2. Четыре итерации и бесконечные правки 📝
За время работы мы прошли через четыре крупные итерации, в ходе которых каждый раз меняли 50–60% сценария. Сейчас объем текста достиг 600 тысяч слов. Мы получали отзывы от тестировщиков, анализировали реакцию на разные сюжетные ветки и добавляли новые варианты развития событий — так шлифовалась каждая деталь истории.
3. Авторы сценария 📖
Почти весь сценарий написало 2 человека. Иногда мы приглашали сторонних сценаристов на краткий срок, чтобы помочь с дополнительными квестами и другими задачами. При такой структуре работы удается сохранять целостность сюжета и единый стиль повествования.
4. Широкая линейка квестов ❓
В игре предусмотрены не только основные сюжетные задания, но и романсы, свидания и дополнительные ответвления, которые влияют на восприятие истории. После мягкого релиза в Steam мы планируем расширять эту линейку, добавляя новые ветки и взаимодействия с персонажами.
5. Моральные дилеммы и когнитивные аспекты 😱
Мы сотрудничали с психологами-когнитивистами, чтобы правдоподобнее прописать конфликты и эмоциональные переживания героев. Это позволило ввести непростые моральные дилеммы, где нет однозначно правильного выбора. Тестировщики отмечали, что иногда было крайне сложно принять решение, и в то же время это повышало интерес, ведь напоминает реальные жизненные ситуации.
6. Уникальные сегменты и ветки 🌡
Мы предусмотрели особые сюжетные сегменты, которые доступны лишь небольшому проценту игроков. Доступ к ним зависит от стиля прохождения и прокачки персонажа. Такая структура добавляет игре многослойности и побуждает экспериментировать при повторных прохождениях.
Итоги и перспективы ⬆️
На завершающем этапе мы планируем закончить сценарий в ближайшие месяцы (возможно, в марте или июне). Однако даже после мягкого релиза у нас есть планы на новые квесты и сюжетные ветки. Наша цель — обеспечить игрокам максимально глубокую, вариативную и живую историю.
Сегодня мы составим список наших впечатлений от основных технологий в Unreal Engine 5, с которыми мы работаем каждый день.
Блюпринты — легко и очень весело. По сравнению с обычным программированием на C++ (которого у нас в проекте тоже достаточно) разработка с помощью блюпринтов превращается в своеобразную игру внутри игры. Чтобы облегчить работу с блюпринтами, нужно дробить логику как можно чаще: создавать структуры, отдельные микроблюпринты, связывать их между собой интерфейсами и прочее. 📘
Ландшафт — средняя сложность, но всё ещё очень весело. Особенно интересно создавать реалистичную карту высот с помощью World Creator, затем переносить её в Unreal Engine. Были свои баги в движке (например, нужно вручную настраивать сетку и регионы ландшафта при импорте, а также правильно рассчитать масштабирование объекта ландшафта), были проблемы с настройкой виртуальных текстур на ландшафте, но в целом ландшафты — это приятно. 🏔
Сиквенсер 💀 — средняя сложность, очень грустно. Грустно, к сожалению, из-за количества багов, которые есть в сиквенсере в UE 5+: движок может вылететь при любом неверном движении, анимации внутри сиквенсера не всегда корректно работают с root motion (то есть капсула персонажа не будет передвигаться вслед за мешем персонажа), что предотвращает использование сиквенсера для постановки сцен в нашей игре. Главный минус сиквенсера для нас — это отсутствие поддержки вариативности. Мы написали свою замену для постановки сцен на блюпринтах, которая полностью отвечает нашим задачам.
P.S. Ждите вторую часть 😏
Друзья, рады поздравить вас с наступающим годом и поблагодарить за поддержку! Мы упорно работаем над диалоговой RPG LOCUS EQUATION, которая выйдет уже в следующем году, и не можем дождаться момента, когда вы сможете в нее поиграть.
В качестве подарка мы хотим показать вам наш САМЫЙ ПЕРВЫЙ СКРИНШОТ. Помните, что это всего лишь ранний набросок, и многое еще изменится в процессе разработки. Но уже сейчас вы можете уловить атмосферу, которая ждет вас в будущем приключении.
Спасибо, что остаетесь с нами и помогаете нам создавать мир нашей игры. Мы ценим каждое ваше мнение и будем продолжать радовать вас новостями, инсайтами и, конечно же, новыми материалами. Будьте на связи — впереди вас ждет еще множество увлекательных открытий! 🎮
А вот с Гаммой (внутренний голос, который отвечает за эмоции) получилось все с первого раза. К счастью, в портрет влезли все шесть основных эмоций по Полу Экману: гнев, отвращение, страх, счастье (радость), печаль и удивление.
Кстати, изначально GAMMA называлась FLOW, но новое название лучше передает множественность этого внутреннего голоса.
Вопрос со звездочкой: Как думаете, почему поверхность, на которой изображены эмоции, разбита в центре?
На связи Арсений. Двигаемся дальше! На очереди — OBRAZ. Это внутренний голос, который отвечает за творчество, креативность, глубину восприятия — в общем, "нитакусничество", но хорошем смысле этого слова.
Четыре года концепт тасовало, но суть не менялась: герой всматривается в космическую пучину. Сначала я радовался идее цветов, растущих изо рта, пока на третьем слайде не понял — крипота! Попросил художника вернуть третий глаз (как символ шестого чувства), но чтоб цветы лезли уже из головы. Стало... страннее. После второй попытки цветы убрали совсем и мы с художником начали жонглировать абстракциями, попутно собирая фидбэк у остальной команды. Долго ловили нужный эффект, пока мы не перезапустили внешность героя и не вернули все исходные элементы — но уже осмысленными и подчищенными.
Фан-факт от нашего инженера: нулевую версию Locus Equation мы пытались делать на Unity. Посмотрели на их поддержку ландшафтов через карты высот, посмотрели на систему менеджмента состояний и поняли, что Unity в его текущем развитии не смог бы утолить все наши потребности в логике и графике.
У нас много составных частей и библиотек, которые лучше взаимодействуют с C++, поэтому выбор в пользу Unreal Engine 5 был логичным. Когда мы узнали, что анимация через блюпринты анимации и IK риггинг в Unreal Engine делать удобнее, чем в Unity, то мы стали ещё более уверенными в своём выборе.
На данном этапе проект состоит из 50% кода на C++ (критические диалоговые модули, некоторые игровые компоненты, а также загадки и ядро интерфейса) и 50% блюпринтов. Нам уже сложно представить как такой проект можно написать на Unity даже с учётом запуска нашей предыдущей игры на нём.
Кстати, сейчас размер репозитория, в котором хранятся все игровые исходники и ассеты, составляет около 60гб. Финальная игра, конечно, будет компактнее, но мы очень рады, что выбрали git для разработки. Без него было бы стрёмно.
Привет, ребята! Написали обширный материал с дополнительными подробностями на DTF. Просим помочь лайками и комментариями, чтобы статья вышла в топ на сайте. Для нас это очень важно, спасибо!
https://dtf.ru/indie/3827470-locus-equation-novaya-psikhologicheskaya-rpg
А еще мы хотим добавить, что у нас появился сайт игры, где можно не только рассмотреть портреты внутренних голосов главного героя, но и почувствовать их вайб 💥
(и, пожалуйста, поддержите нас вишлистом, спасибо!)
https://vrl.mn/games/locus-equation
Порой у нас возникает необходимость быстро прототипировать шейдеры для UI нашей игры. Чтобы постоянно не перекомпилировать и не смотреть результат на самом движке, мы пользуемся Twigl, который позволяет прямо в браузере накидать нужный шейдер, потенциально оптимизировать его и поделиться с коллегой. Можно писать шейдеры в том числе с телефона (у вас же тоже бывает такое, что хочется писать шейдеры перед сном?).
Единственный нюанс — шейдеры Twigl пишутся на GLSL, а шейдеры UE пишутся на HLSL. Но это не такая уж и большая проблема — GPT с удовольствием переведёт шейдер с одного языка в другой.
Посмотрите на примеры шейдеров, которые у нас недавно получились:
https://twigl.app?ol=true&ss=-ORhGaJ0pPuBDkWi28fT
https://twigl.app?ol=true&ss=-OQTH0GyoKbTCNWBXoL8
Ребята, есть ли тут художники по освещению на UE5? Очень пригодилась бы ваша консультация, так как мы сейчас готовим страницу в Steam, хотелось бы убедиться, что все выглядит perfecto 🥳
Читать полностью…Привет! На связи Аня, редактор и корректор сценария игры.
Когда я только попала в эпицентр разработки Locus Equation, я понятия не имела о том, как пишутся и читаются сценарии игр. И была уверена, что мне предстоят просто несколько сотен страниц увлекательного чтения. Но, как вы понимаете, не тут-то было. Я оказалась на берегу темного пространства с множеством табличек, разветвлений, панелей и комментариев.
Нести ответственность одной за все опечатки, за всю пунктуацию и стилистику — непросто. Поэтому очень скоро я перестала просто читать по слогам слова на черном фоне, и стала собирать полотна карт из скриншотов для каждой игровой сцены. Весь текст переносится из сценарного софта в документы и вычитывается крупным шрифтом. Маркерами на картах я отмечаю уже пройденные места. Это больше похоже на археологическую экспедицию или спортивное ориентирование, чем на работу в обычной редакции.
Но зато я очень быстро привязалась ко всем персонажам игры — и это весьма помогает держать фокус на работе. Появились и свои побочные эффекты. К примеру, один раз мне снилось, что я потерялась на лестнице в многоэтажном здании. Ко мне подошёл главный герой игры, очень заботливо обо всем расспросил и… удалился, сказав [Спасибо, я узнал достаточно]...
Просто маленькая заметка: квест со свиданиями имеет 13 уникальных исходов и даже влияет на одну из концовок игры (да, мы почти сошли с ума, чтобы предусмотреть ВСЕ)
Читать полностью…Ура, нашу игру уже можно сохранять и загружать! Для игрока это самые базовые и простые действия, которые только можно совершить в игре.
Однако за этой видимой простотой скрывается невероятно сложная система управления данными, созданная специально под наши задачи. Малейшие ошибки здесь приводят к тому, что игровой мир начинает буквально рассыпаться на глазах. Учитывая гипервариативность нашей игры, крайне важно грамотно сохранять состояние мира, чтобы все действия игрока сохранялись корректно и были на своих местах при загрузке.
Система сохранения и загрузки — одна из ключевых подсистем именно в нашем случае. Мы сами используем её буквально каждую минуту, работая в Unreal Engine 5. Без этого невозможно сделать большую игру. Продвигаясь по сюжету, мы создаём чекпоинты с «идеальными» состояниями игрового мира, от которых можно быстро запускать и тестировать различные вариативные ветки. Получается, что, создавая игру, мы одновременно постепенно её проходим.
Представьте себе прохождение игры, во время которого вы постоянно вынуждены продолжать разработку дальше. Естественно, всё полно багов, что-то постоянно ломается и периодически вылетает. Поэтому приходится постоянно переключаться между последним сохранением и блюпринтами, где происходит постановка сцен. Всё это нужно делать максимально быстро и эффективно.
Именно этим мы и занимаемся прямо сейчас, и наша система сохранения и загрузки в этом нам очень помогает.
Недавно наша команда разработки социально-диалоговой RPG отправилась в захватывающее путешествие: чтобы создать правдоподобную локацию гидропонической плантации будущего, мы проникли в сердце уже настоящей! Там, среди ровных рядов сочных растений и сверкающих стеклянных колонн, мы погрузились в удивительный микроклимат, где агрономы и инженеры решают в реальном времени сложные задачи и аккуратно настраивают каждую деталь системы.
Мы фотографировали и записывали мельчайшие детали: фактуры металлических панелей, сочные прожилки зелени, узоры на трубах и шлангах, матовые поверхности вентилей и механизмы распылителей. Теперь у нас есть целая коллекция всевозможных референсов – от крохотных болтов до сложных схем обслуживания, ведь научная фантастика не смотря на некоторую долю вымысла опирается на нашу, уже существующую реальность.
Накануне мы собрали наш первый тестовый билд фрагмента игры, а теперь делимся небольшими "инсайтами":
- Релизная версия игры всегда будет быстрее чем отладочная. Приятно видеть гораздо больше кадров в секунду, чем показывает редактор UE.
- Маленький кусочек игры, который мы приготовили, весит около 10ГБ. Думаем, что финальный билд также не будет гигабольшим.
- В релизной версии всегда будут баги, которых нет в редакторе. Из-за разницы в оптимизации кода, например, могут возникать race conditions, которые из-за медлительности редактора UE никогда не встречаются в отладочных билдах.
- Загрузка уровней и смена уровней без склеек — не такой уж и решённый вопрос на UE. Нужно постараться, чтобы всё работало хорошо из-за известных для UE проблем, например, с видимым для игрока стримингом текстур. Нужно тщательно такие вещи маскировать, чтобы мир при смене уровня был готов для игры.
- На 4090 игра кушает до 450 ватт в режиме "ультра". Разумеется, мы планируем поддерживать оборудование вплоть до 1060 (мы очень постараемся), но разрабатывать игру удобнее на мощном компьютере. Мы всегда держим оптимизацию производительности в уме, однако пока рано работать над этим в нашем случае.
Ах, да, о закрытом физическом тестировании игры мы объявим чуть позже. Следите за новостями!
Продолжаем делиться впечатлениями от ежедневной работы с основными технологиями UE5.
Материалы и текстуры — только положительные эмоции. Работать с материалами в Unreal Engine — одно удовольствие. Живой предпросмотр материалов в реальном времени, встроенные статические оптимизации, поддержка всех современных технологий, простое создание постпроцессинговых материалов. Отдельно хочется сказать спасибо за инстанцированные материалы, которые позволяют легко и просто параметризировать нужные нам вещи. Всем рекомендуем, ставим лютый ЛАЙК 👍
Анимации — высокая сложность, иногда весело, а иногда приходится погрустить. Настройка анимаций — это всегда самая большая рутина. От подбора отдельных клипов до соединения анимаций с помощью сиквенсера, от создания монтажей до настройки переходов между секциями внутри монтажей — повторяющаяся «одинаковая» работа с большим количеством проб и ошибок. Отдельное спасибо Unreal Engine за хорошую реализацию анимационных блюпринтов, которые позволяют в привычном формате настраивать анимации для персонажей, причём их можно «нацепить» сразу на несколько скелетонов одновременно. 🙏
Поведение (AI) — низкая сложность, безумно весело. Персонажи буквально оживают на глазах: начинают реагировать на главного героя с помощью AI Senses, которые предоставляет движок, начинают перемещаться в нужные места и проигрывать нужные анимации в нужный момент времени даже вне игровых сцен. Их можно делать либо вручную, либо с помощью Behaviour Trees и Blackboards. В нашей игре мы делаем поведение персонажей вручную. Честно говоря это очень странно, когда персонаж, который сначала был только в голове, потом в 2D, а в итоге он уже гуляет тропикам и реагирует на игрока. В этом есть что-то будоражащее. 🤯
Привет! На этом этапе можно сказать, что дома всех персонажей торжественно закончены. На скринах вы видите эволюцию одного из домов персонажа, который живет в домике на дереве. Изометрия накладывала свои ограничения по высоте, но, кажется, нам удалось справиться.
Изначально мы планировали сделать игру в лоуполи-стилистике, но чем дольше мы работали над историей, тем больше понимали, что история требует реалистичности для полного раскрытия внутреннего психологизма персонажей LOCUS EQUATION