Хабрахабр

Another Way — LFS, Multi User и текущий прогресс инди Action/RPG

image

Прошло немногим больше месяца и по традиции я спешу поделиться прогрессом нашей авантюры, серии под названием “Через тернии к игре мечты”. Всем привет! Мы разрабатываем игру Another way — Нелинейная Action/RPG от третьего лица с элементами интерактивного кино, выполненная в лучших традициях средневекового Fantasy, на базе собственной вселенной. Хочу напомнить, что же тут происходит. Разработка ведется на Unreal Engine 4 усилиями небольшой, но очень вдохновленной команды.

Предыдущие части этого длинного, но безумно интересного пути вы можете найти у меня в профиле.

В общем, добро пожаловать под кат. Если во время написания первого поста нас было всего двое, мы горели идеей, но в целом понимали, что на тот объем на который замахнулись нас элементарно не хватит, то сейчас в команде уже 20 человек из самых разных областей, и я безумно рад, что у нас получается объединять усилия, для того чтобы сделать что-то действительно крутое.

Для хранения репозитория мы используем гитхаб с подключенным Git LFS. В этот заход решались многие организационные вопросы, среди прочих был вопрос совместной работы над проектом. Также, по желанию, можно установить дополнительный GIT LFS плагин в сам редактор Unreal Engine. Здесь, для тех кто хотя-бы раз пользовался GIT для версионирования, не будет никаких сюрпризов, за исключением дополнительной установки GIT LFS (Large File Storage). По-умолчанию Github не способен хранить столь большие проекты (50GB+ на данный момент), поэтому за каждые дополнительные 50 гигабайт трафика или места на диске необходимо отдавать дополнительные $5.

Но открытыми оставались вопросы совместной, единовременной работы и merge конфликтующих карт. Казалось бы на этом всё, победа. Для локальной команды работающих из одного офиса все было бы куда проще, включая собственное железо в качестве сервера и использование Multi User по-умолчанию в локальной сети.

Приобретен VDS с очень скромными характеристиками, достаточными для того чтобы поднять на борту Ubuntu и виновника торжества Softether, максимально развернутую инструкцию по настройке можно найти здесь. После небольшого ресерча и бесполезных попыток использования p2p сетей было найдено единственное упоминание рабочего варианта с использованием Softether VPN Server.

На клиенте устанавливаем Softether VPN Client и подключаемся к удаленной машине с реквизитами которые мы настроили ранее.

Примечание: При настройке клиента необходимо установить галочку в Advanced Settings: No Adjustments of Routing Table, иначе на машине пропадает интернет и будет доступно только локальное соединение с VPN сервером.

В самом Unreal Engine необходимо предварительно включить плагин Multi User Editing и перезагрузить редактор.

После чего в настройках указать полученный локальный VPN адрес.

Примечание: в конце всегда идет :0 для прослушивания порта по-умолчанию.

По завершению работ пользователи покидают сервер, хост коммитит изменения и заливает. Итоговый пайплайн выглядит примерно так: хост открывает сессию, пользователи присоединяются к ней. В совокупности это позволяет полностью избавиться от проблем с отсутствием возможности адекватно мерджить конфликтующие изменения, уменьшить используемый трафик LFS и позволяет вести совместную работу над проектом. Все клиенты синхронизируют состояние локальных репозиториев (pull/fetch). Более подробно о работе Multi-User Editing можно почитать в самой документации Unreal Engine.

Меня все время не покидает ощущение что мы изобретаем какой-то велосипед, и наверняка есть что-то удобнее для подобного формата работы удаленных команд в рамках работы с UE4, а возможно и нет, даже если есть, к сожалению, мне они неизвестны. Разумеется все описанное не более чем личный опыт.

Jira — удобно для тех кто работал с ней ранее, дорого и слишком объемно для наших целей. Как я уже и говорил ранее, команда значительно выросла как качественно, так и количественно, если ранее было достаточно передавать документацию посредством личных сообщений и общения, то для масштабирования нам нужно было привести это в единый формат. Trello — хороший и простой канбан боард и наконец HacknPlan — открытие, которое подвернулось под руку в тот момент когда это было действительно нужно. Asana — еще один монстр.

Там же можно вести основной дизайн документ, вкладывать главы, разбивать его на категории. Это специализированный трекер задач под условный “геймдев”.

А далее стандартный набор хорошего issue tracker, логирование времени, линкование задач, назначение пользователей, прикрепление файлов и изображений удобнейшая канбан доска по категориям и многое другое. И что более интересно, создавать задачи прямо из каждого отдельного элемента дизайн документа.

Весь прогресс стал более прозрачным, но еще далеко не все участники пользуются доской и её возможностями, это мы исправим в самое ближайшее время.

Но на выходе получается довольно интересно. Мы как и прежде уделяем большое внимание деталям, поэтому референсы для пропсов приходится искать в самых разных местах, так как отрисовывать все в 2D не представляется возможным.

Но иногда отрисовывать просто необходимо, и тогда получаются неплохие референсы для будущих 3D моделей

В прошлый раз я показывал наработки концепта главного героя, с тех пор он приобрел финальный вид.

После чего незамедлительно был передан на реализацию, и уже сейчас можно полюбоваться скульптом 3D модели:

Те, кто успел познакомиться с прологом, могут вспомнить дочь Рогира — маленькую девочку Ниалу, которая является одним из самых ключевых персонажей.

Да, у нас есть заимствованные мифические твари, но есть и не менее увлекательная живность, которая обитает только в наших землях. Разумеется мы все еще позиционируем вселенную, как что-то уникальное. Вскоре, бестиарий пополнится еще несколькими существами и их историей, а сейчас предлагаю ознакомиться с некоторыми новыми концептами:

При перебежке издает сопящий звук, издает зловещие циклы, после чего сменяется давящей тишиной Леса Тысячи Теней. Тенелов — Это существо долго преследует свою жертву, прячась в тени стволов деревьев.

Морское чудо-юдо — практически никто не возвращался живым после встречи с ним, или его марионетками — прекрасными девами, которые манят своей красотой изголодавшихся морских волков.

Поэтому мы начали прорабатывать определенное настроение разных локаций. Наш мир состоит из множества разных территорий, и к каждой из них мы относимся с особым трепетом. И недавно мы начали отрабатывать настроение леса тысячи теней. В данный момент в работе Мармид — место с которого начинается наше приключение, его цветовую палитру вы можете наблюдать на всех прошлых и текущих скриншотах.

Помимо визуального, нарративного и геймплейного восприятия — огромную важность играет звук, уже сейчас у нас есть общее представление картины будущего звучания и наработка по главной теме Another Way.

Закончить я хочу видом на озеро, где-то возле лесопилки деревни Мармид. Я как и прежде буду рад вашим вопросам, комментариям и мы все еще ждем вас в нашем сообществе Вконтакте в любое время. Всем спокойствия и умиротворения.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть