Dev-блог 20

KosiakS

Просвещённый
Команда форума
Пятничный Dev-Блог 20

Rust_DevBlog_20_1.jpg

В этот раз, большая часть работы была направлена на строительство.

Строительство.
На этой неделе система строительства была готова к работе художников. Поэтому мы ей и занялись.

Документация.
Я добавил некоторую документацию для системы активов строительства, чтобы художники были в курсе всех событий происходящих в процессе разработки. Это очень важно, ведь художники могут не просто выполнить свои задачи, но и реализовать их зайдя в игру. Таким образом, мы можем использовать подобие "цепи" из трёх людей, которые несмотря на то, что работают над абсолютно разными вещами, синхронизируясь друг с другом идут вперёд намного быстрее.
К примеру: программер добавляет объект, художник делает для неё модель и проверяет это в игре, без какого-либо внешнего вмешательства. В конечном итоге нету такого, что художник косячит с цветами и пропорциями (в виду их незнания), а программер потом отправляет это всё обратно на переработку.

Покрытие.
Билл реально "дал прикурить" всем имеющимся компонентам строительства. Конечно сейчас это самую малость напоминает

The Forest, мы искренне извиняемся перед ними, если им показалось, что мы их копируем. Мы действительно не хотели этого, это просто то "место", где мы остановились.

Rust_DevBlog_20_2.jpg
Rust_DevBlog_20_3.jpg
Rust_DevBlog_20_4.jpg

Условные покрытия.
Мы реализовали условные покрытия для системы строительства. Одна из оригинальных идей заключалась в том, чтобы дать вам возможность ставить углы(рёбра) в ручную, и если вы вдруг случайно что-то напутаете - это будет вашей виной и проблемой.

Вместо этого мы придумали систему, которая "смотрит" за расположением строительных элементов и если 2 ребра пересекаются под углом 90 градусов, система сама устанавливает туда угол.
Хороший вариант продемонстрировать это - фундамент:

Rust_DevBlog_20_5.jpg

Камни вокруг модели - условны. Они лишь показывают то, что фундамент не с чем не соединяется.

Rust_DevBlog_20_6.jpg

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

Rust_DevBlog_20_7.jpg

Тестовый уровень.
А создал я его для того, чтобы не рвать себе жопу, после каждого нового нововведения. Не ждать запуска игры и не строить что-либо преследуя цель провести тесты. Всё работает, потому что в редакторе можно захостить свою собственную игру и сохранить её, а после перезайти.
Тестовый уровень загружает сохранённую мною игру, Когда другие люди заходят на него, они видят моё тело спящим.

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


Спальный мешок.
льный мешок теперь можно крафтить! Всё работает, но я забыл добавить рецепт. Оорs...

Следы от шагов.
Звук от шагов вернулся. Проигрываемый звук зависит от типа местности, по которой вы идёте, единственное что, мы пока не реализовали звук для каждого типа местности. Так что, если вы слышите звук бетона, значит звук ещё не добавлен.

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

Rust_DevBlog_20_8.jpg

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

Улучшения серверной части.
На прошлой неделе мы дали возможность открывать свои сервера на экспериментальной ветке.

Linux:
У сервера появилась версия для линукса. Она не тестировалась и не поддерживается, но мы её добавили на случай, если линуксоиды захотят её доработать до рабочей версии. В настоящий момент, похоже, что есть ошибки с библиотеками Стима. Также, скорее всего нет взаимодействия с консолью линукса... эта возможность просто не предусмотрена в Unity.. и это то, что мы должны хакнуть вместе под Windows.

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

Команда поиска:
Я перезалил команду поиска. Это должно помочь владельцам серверов оперировать с командами.

Rcon:
RCon не работал, но увы так и должно быть. Больше вы не сможете использовать RCon из игры, теперь он так не работает. Вам понадобится для этого отдельный клиент. Он использует тот же протокол, что и RCon в Source Engine, но с некоторыми исключениями. К сожалению RCon Source Engine'a выводит значения в консоль используя SERVERDATA_CONSOLE_LOG.[/B]

Rust_DevBlog_20_9.jpg

На самом деле не должно быть большой проблемы написать утилиту для взаимодействия с ней, и Boback, который сделал Rusty, как раз работает над тем, чтобы сделать их совместимыми.

Привилегии Владельца/Модератора:
В оригинальной версии вы создавали rcon-пароль, и каждый, кто его знал, мог администрировать Ваш сервер. Это довольно гадко. В новой версии мы сделали две группы, в которые Вы можете добавлять людей: владелец и модератор. Владелец будет владельцом сервера, он сможет добавлять других владельцев|модераторов, закрывать сервер и т.д. Модераторами же будут администраторы сервера.

Система ещё довольно сыра, но вы можете добавить владельца, запустив "ownerid <64bit steamid> ", а модератора "moderatorid <64bit steamid>".[/B]

Улучшение списка серверов.
Так как у нас теперь не два сервера, то было бы неплохой идеей сделать список серверов рабочим.

Сортировка:
По умолчанию серверы сортируются по пингу. Остальные кнопки сортировки тоже работают.

Официальные сервера:
Официальные сервера вернулись. Те сервера, которые запустили непосредственно мы, будут отображаться, как официальные. Это сделано для того, чтобы быть уверенными в достаточном количестве тестеров на них.

Дублирование серверов при обновлении списка:
Был баг, который повторно выводил сервера при обновлении. Сейчас он исправлен.

Rust_DevBlog_20_10.jpg

Улучшение местности.
Андрэ проделал ещё больше работы над генерацией местности. Прошлая версия генератора имела недочёт в том, что в центре карты располагалась гора, вокруг которой местность была более равнинной и от того менее интересной. Это стало причиной того, что появлялось всё больше и больше ошибок, когда мы стали добавлять новые биомы, как, например, северный биом мог использовать для себя некоторые скалы в океане.

Я думаю, что мы исправили эту проблему. Теперь, куда бы вы не пошли, есть интересный ландшафт для исследования.

Rust_DevBlog_20_11.jpg
Rust_DevBlog_20_12.jpg

Но всё равно есть ошибки, которые требуют исправления, и самая большая из них - леса. Честно говоря мы ограничены в этом физикой движка Unity 4, вот почему величина леса не может быть такой большой, как нам хотелось бы. Мы работаем над оценкой идеальной плотности деревьев. И, как только мы её определим, мы заменим её тем, что всё-таки поддерживает Unity 4, но погрузим яйца глубже уже в Unity 5.

Dynamic ZNear
Возможно вы уже заметили небольшое странное мерцание теней, конфликты между цветовыми схемами на ландшафте. Происходит это потому-что, несколько цветовых значений имеют близкие значения в z-буфере(nearz). Нам нужно избавится от эти схожих значений в буфере, так как мы рисуем view_модели исходя из положения одной камеры. А делаем мы так потому, что это единственный "дружелюбный" способ заставить принять модели тени из мира.

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

В целом это работает, конечно есть варианты по лучше, но они требуют недели на реализацию и тесты, мы находим это слишком хардкорным, т.к. эта система функционирует нормально.

Анимация персонажа.
Мы случайно нашли верное решение для использования mechanim. Теперь Гусман работает над революционным способом обработки "удержания" предметов. Ранее для этого мы "шаманили" с верхней частью туловища персонажа, и работали со слоём анимаций "удержания" предметов, в итоге всё выглядело весьма странно.

Если честно, я точно не в курсе была ли эта функция когда мы только начали работать : )

Rust_DevBlog_20_13.jpg

Деревянный ящик.
Деревянный ящик снова можно скрафтить и поставить.

Rust_DevBlog_20_14.jpg

Уведомления в чате.
Я добавил уведомления при использовании голосового чата. Я думаю большинство даже не догадывается о его существовании. Клавиша по умолчанию: V.

Текстуры на Томпсоне.
Дэн закончил с Томпсоном.

Rust_DevBlog_20_15.jpg
Rust_DevBlog_20_16.jpg

Процедурное виртуальное текстурирование.
Шейдер местности медлителен. Он считывает слишком много текстур и мы упёрлись в лимит. Diogo(один из разработчиков) был крайне загружен при реализации ПВТ. Так что вместо чтения шейдеров сплатмапсов, он считывает 1-4 различных текстур и 1-4 разных нормалмапсов затем всё это совмещает... Мы же просто генерируем текстуры в поток.

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

Надеюсь вы заметите, что производительность стала немного лучше + у нас есть нормалмапсы, если вы заметите розовую местность, или любые подобные баги с отображением местности, сообщите нам.

Rust_DevBlog_20_17.jpg
Rust_DevBlog_20_18.jpg

Уголок концептов.
Вы вероятно уже отчаялись в надежде получить больше одежды в ближайшее время. Красная толстовка была лишь доказательством того, что система одежды работает. В общем Меган сделала пару набросков:

Rust_DevBlog_20_19.jpg

Мы также рассматриваем новые вариации лука.

Rust_DevBlog_20_20.jpg
Rust_DevBlog_20_21.jpg

Пол сконцептил новую печь.

Rust_DevBlog_20_22.jpg

И кучу каменных топоров.

Rust_DevBlog_20_23.jpg

В целом.
У нас очень хороший прогресс в системе строительства. Это становится по настоящему интересно. На следующей неделе я хочу дать Биллу больше свободы над экспериментами со строительной сеткой, чтобы посмотреть, не найдём ли мы способа построики лучше, прежде чем утвердить всё окончательно. Одна вещь, над которой мы хотим подумать, это разные текстуры внутри и снаружи дома на моделях стен. Но, это довольно непросто определить, является ли что-то снаружи, так как система строительства открыта. Также мы хотим поэкспериментировать с frame и lerp моделями. План в том, чтобы позволить вам улучшать стены... из дерева в камень, затем из камня в металл.

Я надеюсь, что на следующей неделе мы также добавим комплект одежды от Мэг. Том уже начал над этим работать.Я хочу изучить возможность использования воркшопа для одежды, как. например, это делается в CS:GO для смены скинов на оружии. Это кажется мне забавным способом позволить обществу делать моды для игры. Не уверен, как это будет всё работать, может, как рандомный дроп в TF2? Мы правда ненавидим тенденцию использования IAP, так что мы постораемся избежать её любой ценой.
 
Сверху