Обсудим Как понять, что это база, а не просто сундук?

nexwave

Пользователь
Сообщения
24
Хотел бы поднять довольно нестандартную тему для обсуждения.


Интересует вопрос: как можно программно определять наличие базы игрока в мире?
Причём не просто «поиск сундуков», а именно попытка понять, что перед нами база, а не случайно поставленные блоки.


Идея и контекст​


Планируется система, которая:


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


    Проблема​


    Очевидно, что:

    • простой поиск по контейнерам — это не определение базы,
    • одиночные сундуки или бочки могут быть где угодно,
    • нужно как-то понять, что это осмысленное место проживания / хранения, а не случайная точка
 
В майнкрафте есть такая штука как "локальная сложность", которая увеличивается если игрок долго находится в одной и той же относительно небольшой области. Но она не зависит от уровня основной сложности. Наверное, можно либо каким-то образом получать её, либо реализовать нечто аналогичное.

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

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

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

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

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

И да, подход со шкалой вероятности мне тоже нравится: учитывать не просто наличие контейнеров, а контент в них + частоту взаимодействий игрока в чанке. Как раз это и отличает “поставил один сундук” от реальной базы
 
Назад
Сверху Снизу