Featured Обновление StarMade DEV Обновление: NPC Фракции

    Тема в разделе "Новости StarMade", создана пользователем The_NorD, 19 Ноябрь 2016.

    1. The_NorD

      The_NorD Переводчик и Админ.
      Команда форума

      Регистрация:
      19 Ноябрь 2014
      Сообщения:
      192
      Приветствую, космонавты!

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

      Тестовый сервер работает по адресу play.star-made.org:4848.

      Тестовая сборка доступна только в Dev ветке разработки. Настоятельно рекомендуется перед установкой Dev-версии сделать бэкап всей игровой папки, или установить для тестовой сборки свою директорию.
      Имейте в виду, что тестовые сборки потребуют начать новую игру.

      Для того, чтобы получить доступ к тестовой сборке требуется переключиться в Dev-ветку разработки и выбрать другую директорию для игры.
      [​IMG]

      Нажмите на шестерёнку (1), где измените ветку разработки (2) с "Release" на "Dev". Также рекомендуется использовать отдельный каталог для установки (3). (Добавляем "DEV" в пути установки, чтобы сохранить неповрежденной существующую установленную версию игры.)

      Dev сборка содержит некоторые возможности для экспериментов с фракциями NPC, которые будут отключены в стабильном релизе:
      - Отладочное меню, нажмите F1+B
      - Более частая запись логов в logstarmade.log
      - Отключен Туман Войны
      - Показаны все флоты
      - Показаны данные в карте галактике, если вы находитесь в системе, управляемой NPC фракцией
      - Так как Dev ветка работает в режиме отладки - обмен информацией между клиентом и сервером будет увеличен, поэтому возможны лаги во время игры по сети.

      Через 2 недели мы выпустим стабильную версию для открытого использования.

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

      Каждая фракция имеет свои конфигурации и чертежи, которые копируются из множества фракционных конфигураций, расположенных в ./data/npcFactions/. Там же вы можете добавить свои собственные фракции или отредактировать существующие. При создании нового мира, они копируются в базу данных мира: ./server-database/worldName/npcFactions/.

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

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

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

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

      Инвентарь фракции
      Фракция NPC будет отслеживать все свои владения в центральном инвентаре. При старте инвентарь будет заполнен в соответствии с требованиями фракции. Вы можете изменить его в "Конфигурировании фракции NPC", чтобы настроить какие и сколько блоков они изначально получат.

      Торговые цены
      Следующим этапом развития фракции станет торговля и установка своих цен на ресурсы. Дом каждой NPC фракции является торговой станцией, которая может торговать с другими NPC фракциями и игроками. Цены устанавливаются в зависимости от спроса. То есть в первую очередь фракция будет смотреть на свои личные запросы. Если цены находятся в пределах, установленных в конфигурации - торговля будет вестись. Фракция также будет регулировать цены в зависимости от спроса на товар и его количества. Так, например, если запасы ресурса малы, но существует высокий спрос, то цена будет высокой. Но в то же время, фракция может прекратить продавать этот ресурс.

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

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

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

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

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

      Мы добавим больше возможностей для сканирования деятельности флота. Dev сборка предоставит нам много информации для правильной дальнейшей разработки функций флотов.

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


      Дипломатия
      NPC фракция также может вести дипломатические отношения с другими фракциями и игроками. Дипломатия основана на балльной системе. Значения могут варьироваться от минимума к максимуму для определения отношений к другому объекту.

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

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

      Действия включают в себя:
      Атака фракции, их друзей или врагов. Добыча астероидов на территории фракции. Получение территории, близкой к фракции. Переход в состояние войны с фракцией, друзьями фракции или врагами фракции.

      Кроме того, некоторые эффекты не имеют модификатора, но создаст почву для объявления войны или заключения союза.

      Сейчас фракционные дипломатические отношения требуют множества тестов, особенно с модификаторами действий, и с течением времени будут доработаны.

      "Ход" NPC фракции
      Ход фракции NPC срабатывает каждые несколько минут. Значение может быть отредактировано в конфигурации NPC. В настоящее время это каждые 15 минут. За каждый ход фракция будет делать следующие действия в указанном порядке.

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

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

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

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

      Торговля
      Одна из самых сложных частей фракции является торговый шаг. Фракция будет смотреть все доступные торговые узлы, после чего определит разницу купли/продажи с ценами в других узлах и проверит свои возможности покупки и продажи. Из этой разницы фракция составляет значение торговли. Значения тем ниже, чем дальше находится торговый узел. Это значит, что с отдалёнными узлами торговля будет производиться только тогда, когда это выгодно в больших количествах. После этого выбирается лучшее значение и начинается торговля. В зависимости от настроек конфигурации, может быть установлено максимальное количество элементов для торговли, поэтому фракция может потенциально сделать несколько сделок одновременно.

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

      РАСШИРЕНИЕ
      Последняя часть хода фракции - это расширение территории. Фракция проверяет свой инвентарь и оценивает возможность занятия новой системы. Стоимость расширения зависит от спроса и количества уже занятых систем. Если фракция может расширяться, то стоимость сразу же снимается из инвентаря фракции, а система переходит под контроль фракции.





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

      Спасибо, что играете в StarMade!
      ~ Schema and the Schine Team

      ~ Перевод The_NorD
       
      • Like Like x 1
    2. Zeta-X11_old

      Zeta-X11_old Bro Member

      Регистрация:
      22 Ноябрь 2014
      Сообщения:
      324
      #Спасите_оперативу_от_Шемы

      ).
       
      • Like Like x 1