Dev-блог 96

Posted on 4 February 2016 by Craig Pearson




Люк-лестница уже в игре, ровно также как и фреймы потолков. Теперь игра стала где-то в 666% страшнее. К слову, это обновление обязывает вайпнуть сервер, поэтому мы внесли некоторые доработки в процедурную генерацию карты. Также в блоге есть некоторая информация по поводу грядущих систем опыта и уровней.


Музыка
На этой неделе я уделил музыке ещё больше времени. На этот раз я "отшлифовал" второй трек (над которым работал на прошлой неделе) и приступил к следующей части.

Обновление игровой физики
Я обновил код физики для того, чтобы воспользоваться нововведениями последней версии API Unity. Для вас, игроков, это будет вряд ли заметным новшеством, но с точки зрения оптимизации это играет важную роль. В частности помогает с надёжностью и эффективным использованием памяти.

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

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

Удобство использования потолочных фреймов (каркасов)
С этого обновления, в игру были добавлены фреймы потолка. В течении всей недели мы тестировали их на staging-ветви и параллельно я вносил улучшения в удобство пользования, баланс и исправления. Теперь при размещении их можно вращать. Ещё вам следует знать, что вы не сможете использовать пиллары для поддержки фреймов потолка, т.к. они сами по себе являются прочными конструкциями и попросту в этом не нуждаются.

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




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

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

Условные модели 2.0
Я также продолжил работать над системой условных моделей, о которой я упоминал в прошлом блоге. Единственное что осталось сделать, это добавить поддержку пулинга префабов и коллайдеры моделей на серверной стороне. Так как эти вещи не требуют вайпа карты для реализации, я займусь ими позже Все подробности будут на следующей неделе.

Сервера Linux
Не парьтесь: пока что всё не работает. Однако я потратил некоторое время в кооперации с ребятами сервера Rustafied для того, чтобы всё-таки заставить это работать. Работа заключалась в некоторые нетривиальной работе, чтобы настроить зависимость OpenGL из нашей родной библиотеки. Сейчас этот "костыль" в какой-то степени работает, однако у нас возникли проблемы со Steam, а посему игроки не смогут подключиться.

Если у вас есть какие-то свои варианты, как можно решить проблему, пожалуйста, обратитесь ко мне через Твиттер.

Доработки одежды
Я прошёлся по остаткам одежды и конвертировал их под новые модели персонажей. Все 40+ штук и их LoD модели сейчас закончены. У большинства этих вещей также была переработана деформация.




Стандартные шейдеры 2.0

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

Доработки процедурной генерации
На этот раз я внёс лишь несколько незначительных изменений, т.к. в основном был занят задачами связанными с системой строительства. Говоря конкретно, я изменил расположение камней и полевых кустарников, расположив их ближе друг к другу. Сделал я это для того, чтобы они не были безвкусно разбросаны по всей территории.

Настенная лампа из консервной банки
Лампы действительно круты! Давным давно, Пол концептил настенную лампу из консервной банки и я (при участии коллеги Мэта) сделал её модель. Идея невероятно проста: вы просто сможете размещать их на стенах в качестве внутреннего освещения.


Концепты размещаемых объектов
Я попытался придумать новые объекты, которые игроки смогли бы размещать возле своей крепости. При этом, я старался искать варианты, которые не потребуют какой-то новой механики работы.

decorations.jpg


Обновляющиеся мишени
Хелкус также предложил сделать мишень, которая бы автоматически обновлялась с течением времени.



XP SystemGarry Newman
Одна из вещей, которую я хотел бы попробовать реализовать вместе с новыми системами крафта и опыта - перемещение меню крафта из окна инвентаря в отдельное окошко. Т.к. дальше (при добавлении древа и др. элементов) нам будет сложно всё комбинировать в одном окне.

Сейчас у меня имеется наработка, при которой вы, нажимая TAB - сможете открыть меню инвентаря, а нажимая Q - сможете переключиться на меню крафта. По идее, это всё является достаточно удобным и быстрым способом. К слову, не волнуйтесь, в меню инвентаря я также планирую добавить список "быстрого крафта", с помощью которого, вы сможете крафтить некоторые вещи прямо оттуда.

Что же касается системы опыта, то тут самой положительной чертой является то, что это отличный инструмент для регулирования поведения игроков. Я вовсе не имею в виду что-то вроде "Убил игрока - получай -10 очков опыта", однако, мы сможем стимулировать игроков быть дружелюбными. К примеру, скрафтив что-то и отдав это кому-то, вы будете получать опыт тогда, когда тот игрок воспользуется этим предметом. И тут внезапно вы обнаружите, что голые Ньюманы могут быть достаточно полезны для вас, ведь вы сможете накрафтить им инструментов, а они в свою очередь заработают вам очки опыта.

Changelog
— Добавлен звук для всех новых строй. блоков.
— Исправлены баги при разрушении шкафов.
— Иконки предметов + данные находятся в правильных папках.
— Удалена команда cui.test
— Проведены меры по оптимизации сети.
— Добавлены новые фреймы потолка (люк-лестница и решётка).
— Исправлены ошибки рендеринга воды.
— Исправлены недочёты декалей пола на лут-поинте "Склад".
— Снизили расходы памяти видеокарты на 144 МБ.
— Все предметы-контейнеры теперь используют новую сбалансированную систему LOD моделей.
— Обновили оставшиеся элементы системы физики до Unity physics API.
— Убран наихудший вариант raycast в коде игровой трассировки (?).
— Устранены баги с невозможностью размещения рамп (лестниц к фундаменту).
— Устранены баги с невозможностью размещения треугольных фундаментов.
— Добавлена сериализация стабильности построек (теперь рестарты серверов и обновление стабильности будут проходить быстрее).
— Доработали распределение кустов и скал на карте.
 
Последнее редактирование:
Сверху