Продам проект Space Era (прошлое название ShadowS Project) часть 2.

  1. Локации​

Зона локации выделяется с помощью Селектора (item.selector):
  • ЛКМ - выбрать первую точку
  • ПКМ - выбрать вторую точку
  • Включить/выключить отображение сетки - Num2
  • Очистить выделение (сетку) - Num3
    bTNyUaEZzhaiJTnL9BCqIbh_18peK-js8pt9VBkpxT5SVtOLiwIzrwo1ZMHmK9sDE5lIqYHR9n7Q2jY1u336fcfoc7lHyk5124IFwo8U7SBYQ8fzMc2eNMH9JfAsMwHwJJp_Lnka2Q668QK4M3wIuBE

    Команды для работы с локациями:​

    • /loc new <название%20локации> - создаёт локацию
    • /loc remove <название%20локации> - удаляет локацию
    • /loc info - выводит информацию локации, в которой находится игрок
    • /loc list - выводит список локаций с информацией об их центрах
    • /loc expand <название%20локации> <N> - расширяет локацию по направлению взгляда на N блоков
    • /loc addflag <название%20локации> <НАЗВАНИЕ_ФЛАГА> - добавляет указанный флаг на локацию
    • /loc removeflag <название%20локации> <НАЗВАНИЕ_ФЛАГА> - удаляет указанный флаг из локации
    • /loc addsub <название%20локации> <название%20второй%20локации> - добавляет дополнительный регион к основному в качестве "сабрегиона". Сабрегионы наследуют флаги главного региона и отображаются для игрока под таким же названием, что и главный регион
    • /loc removesub <название%20локации> <название%20второй%20локации> - отвязывают вторую локацию (сабрегион) от основной локации
    • Примечание 1: обычный мир тоже считается локацией. Добавить на него или удалить из него флаги можно следующим образом /loc addflag/removeflag global <НАЗВАНИЕ_ФЛАГА>

    Примечание 2: далеко не все флаги можно добавить на глобальный регион. В основном к добавляевым флагам относятся флаги на бесконечные патроны, PVP, PVE, отсутствие выпадения предметов и т.п.

    Список флагов (дополнительные параметры указаны в подсказке в игре):​

    • ARMOR_UNEQUIP_RESTRICTION - запрещает снимать броню на локации
    • AUTO_RELOAD - указывает, что после возрождения на локации оружия игрока будут автоматически перезаряжаться
    • BUILD_ZONE - указывает, что в данной зоне игроки с привилегией "строитель" могут строить в креативе. В ней они не могут выкидывать и передавать предметы, а также не могут покидать её.
    • SESSION_FIGHT - указывает, что данная локация используется для проведения сессионного боя
    • CLAN_WAR - указывает, что данная локация используется для проведения клановой войны
    • CLAN_WAR_AWAIT - указывает точки спавна в комнатах ожидания клановых войн и сессионных боёв
    • CLAN_WAR_CAPTURABLE - подключает к локации, где проходит клановая война, локацию, за которую идёт война и которая будет передана победителю КВ.
    • CLAN_WAR_RESPAWN - указывает конкретную точки спавна команд на кланварах и сессионных боях
    • CLAN_WAR_RESPAWN_ZONE - указывает зоны случайного спавна команд на кланварах и сессионных боях (более высокий приоритет, чем у флага точки спавна выше)
    • CLAN_WAR_RESPAWN_AABB - указывает зоны спавна команд на кланварах и сессионных боях, куда не могут зайти игроки противоположных команд
    • CLEAR_INVENTORY_ON_LEFT - включает очищение инвентаря игрока при его выходе из локации
    • EVENT_FIGHT - включает ивентовый (доработанный) режим сессионного боя, где установлены иные очки за убийства игроков, после смерти появляется окно выбора точки респауна и др.
    • F5_USAGE - включает возможность использовать режим от третьего лица на локации (делает локацию "Безопасной" в понимании некоторых механик игры)
    • FREE_USE_NIGHT_VISION - включает режим бесконечного ПНВ на локации
    • UNLIMITED_AMMO - включает режим бесконечных боеприпасов на локации
    • UNLIMITED_MEDICINE - отключает расход медикаментов при их использовании на локации
    • INSTANT_INSURANCE - убирает таймер на возвращение застрахованных предметов после смерти игрока по почте
    • INVISIBLE_PLAYERS - скрывает игроков друг от друга на локации (например, позволяет делать сюжетные PVE локации без отдельных измерений для большого количества игроков)
    • NO_AUCTION - отключает работу аукциона на локации
    • NO_DROP - отключает выпадение предметов при смерти в локации
    • NO_EQUIPPED_ITEMS_DAMAGE - отключает повреждение оружия и брони на локации
    • NO_POST_TAKING - отключает возможность забирать предметы из писем на почте на локации
    • NO_RESPAWN_COOLDOWN - отключает таймер на респаун после смерти в локации
    • NO_SKILLS - отключает использование активных и пассивных способностей в локации
    • POST_DELAY -
    • PVP - разрешает стрелять и наносить урон игроками и NPC
    • PVE - разрешает стрелять и наносить урон ТОЛЬКО NPC
    • SHOOT - разрешает стрелять в локации, если из неё удалены флаги PVP и PVE
    • RARITY_RESTRICTION - запрещает надевать броню и/или оружие выше определённого уровня в локации
    • RESPAWN_POINT - устанавливает точку респауна игроков, зашедших на локацию, на определённые координаты
    • RESTRICTED_CHEST_FACTION_ACCESS - запрещает указанной (по id) фракции открывать сундуки в локации
    • STAY_TIME - ограничивает время нахождения игрока в локации. По окончании времени - перемещает его на указанную точку
    • RADIATION - добавляет в локацию эффект радиации
    • TEMPERATURE - добавляет в локацию эффект температуры
    • TOXIC - добавляет в локацию эффект токсинов

      Переработанный CustomNPC (загрузка данных из БД, приложения для создания диалогов и квестов)​

    • Новые роли работ для NPC​

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

      Снизу отображается результирующее количество валюты, которое игрок заплатит торговцу (если выделено красным цветов) или которое получит от торговца (если выделено зелёным цветом)
      Над слотами для покупки отображаются счётчики валют, показывающие общую цену покупаемых или продаваемых предметов.
      При нажатии на предмет у торговца, появляется слайдер с полем ввода требуемого количества предметов.
      Интерфейс для игрока:
      -25uy9N9ZHWUqQ-lwFCtREJ9Z0UmeKNgasXkLkzsWMfmkkbFByOTkvxlcrh4MbjipyR2ooPGvh44BjEkZhiBFlivFqBykEa2T9EASExVtNOzJt1P5AkMZg8lnAQlth_MUz6PtVsxVzzwczrl5yu0w14


      Если навести курсор на предмет в ассортименте торговца или в инвентаре игрока и зажать шифт, то в описании предмета будет отображаться цена, за которую данный предмет можно купить или продать.
      KUXv-S_ZezG__CW5Iznj3cXV4gbwmVQ07k2hzDxuWy8SslWy3B9KEncV5fZUjqhZ_raBK_yFzkeuukic3vdsWrWTzc40K5alB6-cfL6b5RMiNO1l5DZFlY9sz_WkqgOoF9cJMK08H4mQnU3bIRJlvIo


      Интерфейс настройки для админа:
      В интерфейсе настройки для админа можно:
      • Переместить в ассортимент любой предмет из инвентаря админа
      • Задать множители цены продажи и скупки (для исключения дюпов добавлена проверка, что игрок не может купить предмет дешевле, чем продаёт его нпс).
      • Задать время на пополнение и пополняемое количество предмета (завоз новой партии предметов)
      • Установить правило, что игрок может пополнять ассортимент торговца, продавая ему предметы
      • Установить правило отображения в ассортименте торговца при нулевой цене
      • Установить правила покупки временных и персональных (личных) предметов
      • Установить ограничение на минимальный уровень игрока для покупки предмет
      • Установить ограничение на количество покупок предмета "в одни руки" (одному игроку)
      • Выбрать используемый для покупки и продажи тип валюты
      • Мгновенно пополнить количество предметов у торговца (вручную устроить завоз партии предметов)
      • Сохранить настройки как дефолтные для новых добавляемых админом предметов в ассортимент торговца
        uNkru-0-PYeWyy0B6dOJftS0dxwmstEjKDp6CFyItQlQQuNzZeBmVdoVkpVWDFhX_QwUc1nbC9YfQPvB0BozT3v0ZqNqSPTeaVxOaavjO5t9L9HAhs2ZePtQoS0MEIzDGTWz7sQi21EYfFt6ar9HmZc
        Починщик - при нажатии на NPC открывает интерфейс починки прочности предметов. Чем выше базовая стоимость предмета и чем сильнее он повреждён, тем дороже будет стоить починка.

      При починке предмета немного уменьшается его максимальная прочность. Восстановить максимальную прочность можно с помощью ремкомплектов или у NPC "Восстановителя" (см. дальше в ролях NPC)
      Интерфейс игрока:
      cw7sOn462KTpx5orlv1iZ049eGN6bvXPsuSw2_Ta7bprwtAku5EXWJ7Uz_j3Cmk56_Ww8y4XnvYC4cwhe1GPieY5cWZ2NB5FG10pZxCE6-R4TUb9nVmaBc6LIqoiEmXO2-AAhWf8Jj9M2aeGgvZn2QY

      Интерфейс настройки для админа:
      0nfe5ai7xrTPY1ZkoN9DKaa-sKBj8yqXLQKRGaDldfIEJdToDKlRD6gG9G_a1pRvHRy6jFRnV77FWg1VbO7vH-bwxNdYXR8VE1bNkAFztSSvDMLxwPff40qa-gJouTVKxOVOscWJjM-8ecYob_tN39c
      • Страховщик - при нажатии на NPC открывается интерфейс страхования предметов на указанное число смертей за определённую цену.
      • Застрахованный предмет выделяется голубой рамкой. В левом верхнем углу предмета отображается количество застрахованных смертей, при которых данный предмет будет отправлен на почту.

      При смерти игрока застрахованный предмет не выпадает из него, а отправляется игроку на почту в ПДА.
      Забрать застрахованный предмет можно только спустя определённое время и только на безопасной зоне.
      4qHO4uMfXXp_HR2Bmv7KPIHkyovdNLv1AOPRVRMJMReRWK7USn9w8elCrRYPszd-LMkQrEzPpzxRQiQMSxtSnXoZ__4p2bVXuSd04n0C15kmC71eWCPr1I0mIVwrBq0ulZNp9g6fQTIfU9FKgVnxHtA

      Страховать любое количество предметов на любое количество смертей (не более 10 за один раз) у страховщика можно не чаще чем 60 минут (или другое указанное в коде время)
      Интерфейс NPC для игрока:


      Интерфейс настройки для админа:
      • Почтальон - при нажатии на NPC открывается интерфейс отправки сообщения и посылки другому игроку. В интерфейсе можно:
        • Указать ник получателя (если такого игрока нет, игрок получит соответствующее предупреждение)
        • Указать тему письма (отображается на почте в ПДА)
        • Указать текст письма
        • Приложить к письму N валюты (кредитов)
        • Приложить к письму любые передаваемые предметы (можно задать комиссию через код, чтобы игроки не использовали почту как бесконечное бесплатное хранилище)
      • Выдаватель донатных и бесплатных китов - позволяет разместить на сервере NPC, который выдаёт набор любых предметов тем игрокам, у кого имеются необходимые привилегии.
      Привилегия выдаётся игроку когда он покупает её на сайте игры.

      В настройках набора можно:
      • Указать время, через которое игрок сможет повторно взять предметы из набора
      • Указать роль, которую должен иметь игрок (можно указать роль, которая есть у всех игроков, чтобы выдавать тем самым бесплатные наборы)
      • Указать URL (ссылку на сайт в интернете, к примеру, страницу покупки привилегии)
      • Указать, нужно ли удалять выданные игроку из набора предметы сразу после смерти игрока
      • Указать, нужно ли очищать инвентарь игрока перед тем, как он берёт набор.
      • P.s. В набор можно положить любые предметы, в том числе и временные, личные, квестовые, кейсовые, предметы на ограниченное количество смертей игрока и т.п.


      • Крафтовик (создание предметов по рецептам) и клановый крафтовик (аналогичен обычному, но для рецептов жёлтого уровня редкости) - при нажатии по NPC открывается интерфейс, в который игрок может вставить любой рецепт для создания предмета.

      В интерфейсе отображается:
      • Создаваемый предмет
      • Компоненты и их количество для создания предмета
      • Потребляемое для создания предмета количество валюты
      • Количество получаемого игроком опыта за создание предмета
      • В перечисленные параметры рецепта указываются в его конфиге.

      Интерфейс игрока:

      Интерфейс настройки для админа:
      • Бартовик (обмен предметов) - при нажатии на NPC открывается интерфейс с пролистываемым списком обменов предметов.
      • Слева указываются требуемые для обмена предметы и их количество
      • Справа указывается получаемый предмет
      • Сверху указывается категория обменов, по которым они группируются в списке
      • Все доступные для обмена бартеры подсвечиваются голубым и отображаются в начале списка бартеров
      • Все недоступные для обмена бартеры подсвечиваются красным и отображаются после доступных для обмена бартеров
      • Интерфейс пользователя:


      Интерфейс настройки для админа, в котором через запятую указываются названия конфигов со списками обменов (бартеров) предметов:
      • Доска задач - при нажатии на NPC открывается доска задач со списком доступных для игрока заданий.

      Справа сверху отображается таймер до отображения нового списка заданий. В списке по центру экрана отображаются задания, у которых указывается:
      • Название задания
      • Категория
      • Описание
      • Награда в кредитах и предметах
      • У каждого задания есть две кнопки: "Принять" и "Подробнее". Подробнее отображает полное описание задания.

      Интерфейс для игрока:

      Интерфейс выбора списка заданий по id объекта в базе данных. Списки заданий настраиваются в программе ConfigBuilder (см. соответствующий пункт):
      • Разборщик - позволяет разбирать личные предметы (с зелёной рамкой), у которых в конфиге указано количество бонусной валюты, получаемой при разборке предмета.

      • Зарядник - позволяет заряжать ПНВ в броне.
      • Интерфейс для игрока:


      Интерфейс настройки для админа:
      • Восстановитель - при нажатии на NPC открывается интерфейс восстановления максимальной прочности предметов. Предметы можно восстанавливать один раз в указанный промежуток времени.

      Интерфейс для игрока:


      В интерфейсе настройки для админа указывается время перезарядки NPC-восстановителя, множитель от базовой цены предмета.

      Также в настройщике доступно 10 строчек для отдельных параметров:
      • Тип предмета (оружие/броня/установка для добычи ресурсов)
      • Уровень редкости восстанавливаемых предметов (COMMON/UNCOMMON/RARE и т.д.)
      • Макс число - максимально число восстанавливаемых за один раз предметов
      • Восстановление - процент от максимальной прочности, который восстанавливается за одно использование NPC
      • Интерфейс настройки для админа:


      • Телепортер - при нажатии на NPC для игрока открывается интерфейс с кнопкой "Телепорт". При нажатии на кнопку игрока телепортирует в случайную доступную точку указанного админом региона.

      Если фракция игрока не удовлетворяет требованиям телепортера или телепортер не смог найти подходящую свободную точку для телепортирования игрока (израсходовал все ошибки), то игроку сообщается соответствующая информаци.

      Интерфейс для игрока:

      Интерфейс настройки для админа:

      • Ивент - при нажатии на NPC подключает пользователя к ивентовому бою (флаг локации EVENT_FIGHT) или к сессионному бою (флаг локации SESSION_FIGHT)
      • Интерфейс настройки для админа:


      • Выборщик точки спавна на ивенте - при нажатии открывает интерфейс выбора одной из доступных точек спавна на ивентовом бое (флаг локации EVENT_FIGHT) или на сессионном бое (флаг локации SESSION_FIGHT)
        Улучшатель - при нажатии открывает интерфейс улучшения оружия и брони до следующего уровня.

      Интерфейс игрока:

      Интерфейс настройки для админа:
      • Множитель цены улучшения
      • Тип кредитов

      • Открыватель сообщества в ПДА - при нажатии на NPC открывает вкладку ПДА с сессионными боями

      • Открыватель интерфейса донатных кейсов - при нажатии на NPC открывает интерфейс донатных кейсов

      • Новая система диалогов и заданий:

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

      Также это позволяет работать с ними напрямую без необходимости заходить в саму игру. Нарративным дизайнерам и реализаторам диалогов и заданий более не требуется иметь мощные ПК и находится на сервере игры, чтобы выполнять свою работу.
      Для этого им теперь достаточно запустить отдельную программу и работать прямо в ней (см. раздел "Конфигурация всего в игре, отдельное приложение для конфигов и CustomNPCs" (в самом конце приведены скриншоты программы ConfigBuilder для работы CustomNPcs)

      Редактор 3д моделей​

      Находясь в креативном режиме и держа в руках 3д модель, строитель имеет возможность полностью настраивать коллизию модели, а также её позицию, размер и поворот по всем трём осям X, Y, Z
      nEe9SyeTPv5fao2wzWiFcDDpADe5oUNWT0HzPTpL-j_lr5EcV-c5qknfJEiSb4HIArF4x3V4GUwGnqHodG0pHNucIOxoMBmJizuf0jD7kbIa5pC86WinVE3eO3tH5V_dNK7X8KV5XPEzVkI9rWtZR6g


      В нижней части экрана над хотбаром расположена подсказка с обозначением основных кнопок для управления 3д моделью:


      Также строитель может вручную задать параметры позиции, поворота и размера 3д модели через соответствующее GUI в левой части экрана, появляющегося при открытии внутриигрового чата.
      Данные параметры применяются к любой 3д модели, которую строитель берёт в руки, однако, если имеется необходимость сохранить для конкретно выбранной 3д модели указанные значения позиции, поворота и размера, чтобы загрузить их позднее, строитель может нажать кнопку "Сохранить" и позднее "Загрузить", чтобы восстановить установленные ранее значения.



      По умолчанию, у 3д модели включен "расширенный" режим коллизии. В данном режиме модель при установке будет создавать объёмный прямоугольный бокс коллизии, внутрь которого не смогут попасть игроки, NPC, предметы и т.п.
      Однако у расширенного режима коллизии есть одно очень важное ограничение: модель в этом режиме не может быть установлена внутрь других 3д моделей.

      Чтобы обойти это ограничение, строителю необходимо сменить режим установки 3д моделей на "Расширенный без проверки касания", нажав специальную кнопку (по умолчанию, Num5). После этого 3д модель можно будет спокойно устанавливать внутрь других 3д моделей.



      Поскольку коллизия 3д модели представляет собой трёхмерную прямоугольную структуру, в некоторых случаях (к примеру, при повороте на 45 градусов или в случае установки 3д модели открытых ворот) появляется необходимость сделать коллизию модели вручную из невидимых блоков, чтобы сущности могли спокойно проходить там, где это должно быть возможно, но где дефолтная прямоугольная коллизия запрещает это делать.
      Для ручного создания коллизии строителю необходимо перейти в режим "Проходимый". Тогда у 3д модели вместо коллизии появится серый проходимый блок в её центре, который, при необходимости, можно будет окружить невидимыми блоками.

      G6Tt-f-jBP4ipUFLOU6VKQmpRTWgPs0_ShhTuyy7gJwwDNKg0aih1VweOkhceE-a6NenCCegjpvFIlAFWuq6Xu22eRkEEH0VAbn6qPea_Gaj7irnNoPNe1psSwsNjjNZ4GGtd0pRSPJskzZsgC93Ex0


      Внутриигровой аниматор​

      В игре присутствует внутриигровой аниматор для настройка оружия ближнего и дальнего боя, а также их анимаций. Все параметры подписаны на скриншотах.
      sBObv11WX3PwXnBTFZdnlSYEWRGuhPiQniLfQ4moXEQ6b9FF92C393WXElR9qduXfz0-ODMAU4rWxzuan2vHE3L9iGXm6Af1wfKpVInjPF3ATsKCYX5_yGdC5Nx58UInVOPnYqeSduenvKMU-9BWoJA









      Внутриигровой настройщик характеристик предметов​

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

      В настройщике характеристик брони для каждого её уровня можно настроить:
      • Защиту от всех видов урона
      • Прочность
      • Тип и качество ПНВ
      • Размер в матричном инвентаре
      • Вес
      • SbC-xbV9GmiyoOfcCxwRqUuo7SBvzFHSQ97o4GJqv7tJWTgaGh5lLySprLmEDge7wv1YB89Pi4wvoQjhWQw7mg59CBun4ChCKfpKbAusUlYR_mujGV6mnrKAQ_cqvWIz3L1HlFVT_SjtyVFXJBAYTso
      • В настройках оружия ближнего боя для каждого его уровня можно настроить:


      • Все виды урона
      • Пробитие (используется в расчёте финального урона по броне через формулу)
      • Прочность
      • Скорость анимации удара (атаки)
      • Размер в матричном инвентаре
      • Вес
      • Ud_zPaK64dUxN-kbedNg8ZlSHL_93ahES_62Ynf4EZUVnq5JFxaegbeBxbFZX5nbp8CW8iYr_6bz_-ViT4lsk2iPr7ZlLdhojJPUnSeWN9q1cvY-l0_JX9AqvvKa2NkvonOR2EiWugI8APd8cOoo-jo

      В настройках оружия дальнего боя (стреляющего) для каждого его уровня можно настроить:
      • Все виды урона
      • Пробитие (используется в расчёте финального урона по броне через формулу)
      • Горизонтальную и вертикальную отдачу
      • 10 параметров точности (см. скриншот)
      • Прочность
      • Скорострельность
      • Скорость анимаций
      • Баллистику пуль
      • Режимы стрельбы
      • Показывать ли перекрестие в режиме прицеливания (это нужно, если у 3д модели плохой прицел)
      • Цвет трассера пули
      • Зависимость снижения урона от дистанции
      • Размер в матричном инвентаре
      • Вес
      • _o5_eLMflTNG-NKUTtB9qUlB8J9qcHshqoLChb0eW2VBJg6Nst2vFEe08Rf6qDGB9UxTK4foS49kH3i6Wejo7MVq34HXz3LujhQQG3pMSvk-_s4wzgGwvXUmPR7XJHzc9lFevGKOgYLK_Qqz5idaQNU

        Конфигурация всего в игре

      В данный момент существуют конфиги для:
      • Достижений
      • Аирдропов
      • Брони
      • Оружия
      • Боеприпасов
      • Модификаций для оружия
      • Карт доступа в данжи
      • Рецептов для создания предметов
      • Компонентов для создания других предметов
      • Бартера предметов
      • Установок для добычи ресурсов на указанных точках
      • Лут-предметво (мусор, ресурсы, инструменты, книги, журналы, артефакты, драгоценности, сплавы, ёмкости для ресурсов, контейнеры, электроника, игрушки и т.п.)
      • Наборов предметов
      • Локаций
      • Медицины
      • Точек добычи и добываемых из них ресурсов
      • Приборов ночного видения (ПНВ)
      • Уведомлений в чате, повторяющихся раз в N минут
      • Параметров игрока (уровень, переносимый вес, скорость, реген здоровья и маны и т.п.)
      • Почты
      • Аукциона
      • Кейсов
      • Кланов
      • Ежедневных наград за вход в игру
      • Эффектов радиации, температуры и токсинов
      • Группы (отряда)
      • Генерации предметов в сундуках на локациях
      • 3д моделей (пропсов, их можно добавлять как конфиги, не надо кодить)
      • Отображения оружия в руках и на спине
      • Ассортимента донатного магазина на ESC
      • Способностей персонажа
      • Хранилища
      • Обучения
      • Справочника (через конфиг можно собрать любую страницу внутриигровой вики и написать на ней что угодно)
      • Бустеров и расходников

        Приложение ConfigBuilder (для конфигов и CustomNPCs)

      Программа для редактирования конфигов ("ConfigBuilder", далее - "программа") позволяет многократно ускорить работу администраторов, балансеров и реализаторов диалогов и заданий CustomNPC, а также значительно уменьшить количество ошибок, допущенных из-за невнимательности или из-за перегрузки сотрудников.
      Данная программа была разработана для внутреннего использования персоналом команды разработчиков "Space Era", поэтому упор при её разработке делался на техническую часть, а не на визуальное представление, однако этот аспект может быть доработан в довольно небольшое по продолжительности время.
      Также техническая часть программы может быть расширена под любые новые задачи, которые необходимо будет решить.

      На данный момент в программе доступен следующий функционал в формате графического интерфейса:
      • Вкладка просмотра свободных и занятых id предметов:
      • vBvX9E0uqUJuuUYdM-llIE7IwYeXV002H_fHw7nyKavAfNlbUE1-jCJcLa8tl1VwDYuK5A5pq2ZrCgetBOiQz6j7i8f4Z5YehpFhGpIrWyjqUy7gZ8MwMfJGRSdX-iRKnNpZIPzm75iW3I9Q_nl5-RA
      • Вкладка для просмотра ТТК (время на убийство игрока в определённой броне с определённого оружия при определённых условиях)
      • tFfhbwnp92pRGhmgF6Y3wgf7A25JBH-v3jY03xo1kwQol16M8rOO84PhdMQCr4tbbO_IUo98PeLzle9VoHMperUZTal_RnfRaDU6u7LN3X6imXa-SrSTjIzdD4eCdAT8BYHULjp1-0PT515CLbvbjbA
      • Вкладка для настройки характеристик и параметров брони в зависимости от уровней (позволяет также удобно просматривать графики защит, цены и т.п., а также в каких бартерах и рецептах она участвует
        5Vc6_3kgcpMyvR0O9uVXFrARDviFPw9YpExMQNdZ7yWa4YgFNf3eTuUtBhVhqT09Eevr9TEB3hOszT8lj_UDsEKLxPuzrQAfcypJjoQ9Rb3YQueaF2Qjo_mQsICbVFNZKFhnRRYB6sXpV4MktYvOt8s

      wqVgIvh4uA0VE6FoKZoR12QQoATfB2ylqPBuVgNDb7CfVGTjpJ_i6Wbxu0owfleyGfugQddZ2kgKN4EH2FQulpjVMYcfvdUjamNhkrl8BB0OufB6d3RtI4zRL-xyISNjL3U9mNHyoUkgvLZPMLd_GJ0

      • Вкладка для настройки характеристик и параметров оружия в зависимости от уровней (позволяет также удобно просматривать в каких бартерах и рецептах оно участвует)

      HTgOXqd-qKN20joq7Urm_JERZ2od1wqQYeIo2HLnA83zaJpSvoZieBl0-hraavxqia9fu81PuX2SRgHHdWMopg4zdrwZZq-i4uHDS8p0lGLyMOWiv3sbVHKrKDJcvFDB1t_jK7TkmSnm0qBgsEMKpV0
      • Вкладка для настройки характеристик и параметров боеприпасов в (позволяет также удобно просматривать в каких бартерах и рецептах они участвуют)


      • Вкладка для настройки характеристик и параметров способностей персонажей.

      • Вкладка для настройки параметров всех "лут-предметов"

      • Вкладка для настройки всех компонентов для создания других предметов

      • Вкладка для настройки параметров бартера предметов

      • Вкладка для настройки параметров рецептов для создания предметов

      • Вкладка для настройки характеристик и параметров стимуляторов, бустеров и т.п.

      • Вкладка для настройки предметов, которые могут выпасть из сундуков на локациях в игровом мире

      Позволяет удобно объединять предметы в группы (пресеты), указывая их названия, количество (мин-макс), относительный шанс на выпадение и прочность (мин-макс)



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



      В параметрах каждого уровня сундуков локации можно:
      • Установить числовой id сундука
      • Установить время повторного спавна лута
      • Установить минимальное и максимальное число предметов, которые могут выпасть в любом открытом сундуке
      • Минимальное и максимальное количество кредитов, которые могут быть получены за открытие сундука
      • Минимальный и максимальный опыт, который может быть получен за открытие сундука
      • Протестировать выпадение предметов на N открытиях
      • Отсортировать выпавшие предмету по шансу, количеству, типу, цене
      • Посмотреть статистику по N открытым сундукам (количества и типов выпавших предметов, опыту, кредитам)

        Вкладка настройки внутриигрового обучения

      Позволяет настроить тип трейнера (обучение состоит из этапов-трейнеров, сменяющих друг друга), его описание, проигрываемый звук, телепортирование игрока при его выполнении, фиксировании камеры, запуска диалога, выдачи предметов, проверки различных действий, выдачу задания, установки вейпоинта и т.д.
      • Вкладка работы с диалогами и заданиями CustomNPCs

      Программа работает с двумя MongoDB базами:
      • С технической базой данных, где она хранит файлы для своей работы и отображения деревьев диалогов и заданий
      • С основной внутриигровой базой данных, куда она может экспортировать диалоги и задания

      В программе можно добавлять, скрывать, переименовывать и сортировать категории CustomNPCs:



      Через выпадающий список в левом верхнем углу можно выбрать конкретную категорию CustomNPCs для работы:
      JoYYnVEKQBv8Qo21XQ-tVGbU5yVV80tJX9DqWz4gXYvTYbJVMVGLn0H3TYCp6gzhYAEeSLP7Wg0zxsauYfycnRbG_6CJFqFqy7aetRr4oJ_39q2Kld3dXesStxn_fWv406he2nLqa1hFNRWts-5EnKo


      После выбора категории происходит загрузка данных из MongoDB и их отображение на рабочей поверхности. В данном мы можем видеть отображение:
      • Заданий (элементы с красными шапками слева)
      • Параметры (элементы с розовыми шапками)
      • Стартер логики (оранжевый элемент)
      • Условие проверки доступности по диалогу (полностью красный элемент)
      • Диалог (элемент с желтой шапкой)
      • Вариант ответа в диалоге (элемент с синей шапкой)
      • Редактор истории диалогов игрока (полностью фиолетовый элемент


        При двойном нажатии на текст задания, диалога или ответа на диалог открывается форма редактирования текста. В данный момент она поддерживает выделение текста жёлтым цветом с помощью спецсимвола "$".

      Темный синий фон под текстом выбран с целью максимально точно передать цвет фона диалогового окна внутри игры и может быть изменён.


      Редактор поддерживает сложные связи. К примеру, на скриншоте ниже представлено задание:
      • Требующее наличие в истории диалогов игрока всех 4-х указанных диалогов.
      • Отображающее прогресс в таск-баре по состоянию наличия в истории 4-х диалогов
      • Отображающее 4 метки на карте (причем метка отображается только в том случае, если в истории игрока нет определённого диалога)

      Редактор позволяет наглядно добавлять к диалогу несколько вариантов ответа (и не только вариантов ответа), редактирующих историю заданий и диалогов игрока, выдающих ему предметы, выполняющих команды и многое другое).



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


      Также нажатие ПКМ по рабочей зоне можно открыть окно удобного перемещения к элементу любого типа по указанному id (левый скриншот). При двойном нажатии ЛКМ появляется окно добавления нового элемента. Список доступных для размещения типов элементов представлен на правом рисунке.

      Отложенный рендеринг​

      Особенности:
      • Снижает число вызовов OpenGL функций за счет группировки мешей с одинаковыми параметрами отрисовки.
      • Многократно повышает fps в сценах с большим числом объектов (моделей) или NPC.
        Карты на клиентеОсобенности:
      • Данные чанков хранятся как на сервере, так и на клиенте, что позволяет отказаться от отправки этих данных на клиент.
      • Снижает нагрузку на сеть.


        За все время на ютубе вышло очень много видосов с нашей игрой - достаточно просто написать в ютубе Space Era или ShadowS Project
        Несколько раз стримил Братишкин, кстати стримил Вова не за деньги, а потому что он действительно заценил нашу игру. Я кстати сидел с ними в дисе после стрим (с ребятами с его сквада) и они просто даже без стримов бегали, играли и рофлили.
        Кстати, тут не были затронуты такие темы как, обфускация - весь код, карты, ассеты и все что есть в игре - круто зашифровано. Мы сделали свою обфускацию - за все время, у нас ничего не украли. Система динамичная и уникальная. Античит - свой полностью, банит игроков так, что зайти они реально не могут + нотификация админам в дискорд, если есть подозрительный игрок. Система анализирует поведение читеров, запоминает действия читеров и по сути самообучается, кидает админам сообщения о подозрительных игроках. Прокси - реализованы системы, благодаря которым игровой сервер невозможно заддосить (связка игроков серверов с супер защищенной машиной, которая пропускает игроков).

        За всё время нашей работы - ни разу не было в игре ничего противозаконного или запрещенного, банально скриншотер - мы считаем уже вмешательство в жизнь игрока, поэтому никогда не было стиллеров и прочего.
        Всю историю проекта можно будет спокойно посмотреть, все коммиты и так далее.
        Ко всем пунктам - были сделаны картинки, есть ПОЛНЫЙ ДОКУМЕНТ ВСЕГО СО ВСЕМИ ИЗОБРАЖЕНИЯМИ, пишите в тг для этого - скину/ тут просто только 20 картинок можно поставить.
t3qex0P33wrLtq_d1EzpMK1Oyuphi8WQP1-IgSHzdwfkH2pT5riRyiW_cdkAFvl6fXrkNWs09EtUsOff1u0fBQZNQhL7vWbHPLrN1pHp7orrKrR6ShmIoZtf8mwPcfN7dg6PeUeNnJQFZb4aQtJoZbk

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