???
Математика на уровне МГУ

Показано с 1 по 25 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Re: Вопросы.

    Пример такой организации по той же ссылке, что я выше дал. Миссия с танками грузит сама себя, когда ее танки уничтожены. Может играть до бесконечности(вернее исчерпания Int64 ), никакого мусора.

    Не грузите миссии по таймеру из хоста. Сделайте загрузку миссий волнами - первая группа миссий, через 40 минут вторую группу миссий (не эту же самую!) еще через 40 еще группу миссий. И т.д. В каждой - по кораблику. Можно и несколько, но тогда и появляться они толпой будут. А она уже сама разбирается, когда ей загрузится повторно - это может быть таймер, TaskCompleted (кораблик приехал), ActorDead или все вместе и т.д. И перед загрузкой, если кораблик еще как-то есть, делаем ему дестрой. Все. Только не пересекайте маршруты.

    Плюсы. Никакого мусора. Четко знаем, сколько корабликов максимум одновременно плавает. Убить сервер толпой юнитов исключено.

  2. #2
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Цитата Сообщение от Small_Bee Посмотреть сообщение
    Пример такой организации по той же ссылке, что я выше дал. Миссия с танками грузит сама себя, когда ее танки уничтожены. Может играть до бесконечности(вернее исчерпания Int64 ), никакого мусора.

    Не грузите миссии по таймеру из хоста. Сделайте загрузку миссий волнами - первая группа миссий, через 40 минут вторую группу миссий (не эту же самую!) еще через 40 еще группу миссий. И т.д. В каждой - по кораблику. Можно и несколько, но тогда и появляться они толпой будут. А она уже сама разбирается, когда ей загрузится повторно - это может быть таймер, TaskCompleted (кораблик приехал), ActorDead или все вместе и т.д. И перед загрузкой, если кораблик еще как-то есть, делаем ему дестрой. Все. Только не пересекайте маршруты.

    Плюсы. Никакого мусора. Четко знаем, сколько корабликов максимум одновременно плавает. Убить сервер толпой юнитов исключено.
    Т.е. у каждой подмиссии свой скрипт будет?

    Волны грузить по таймеру?

    В этом случае хост должен все миссии слушать или нет?
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  3. #3

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Т.е. у каждой подмиссии свой скрипт будет?

    Волны грузить по таймеру?

    В этом случае хост должен все миссии слушать или нет?
    Можно по таймеру, можно как хочешь. Смысл в том, хост загрузил подмиссию только один раз, а все остальное отдать на откуп самой подмиссии, которая и грузит сама себя, если решит что надо, и мусор за собой убирает.
    Смысл подмиссии слушать только себя в том, что бы:
    1. Убирать трупики только за собой - по ActorDead. Мало-ли, может время уборки надо разное поставить. Или трупик из другой миссии убирать не надо, например.
    2. По ActorCreated (или что там) запомнить без лишних телодвижений только свои объекты куда ни будь в коллекцию. Что бы после не шерстить всю немерянную толпу акторов при уборке, выбирая своих. Если акторов в миссии немного, можно вообще его руками прописать, найти по имени после загрузки и сохранить в приватном поле - что бы прибить после, опять же (в кампаниях стартовых такой похожий подход можно найти).
    Можно конечно, слушать всех, но тогда и фильтровать все сообщения надо будет, и плюс лишняя нагрузка, никому не нужная в общем случае.
    Смысл того что миссия должна грузить сама себя - она прекрасно знает, кого нарожала (номер миссии есть - своих найти не проблема), и соответственно, прибраться не проблема перед загрузкой повторной.

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

    Недостаток такого подхода, повторюсь - если такую миссию загрузишь, она уйдет в свободное плаванье и начхать ей на хост. Можно конечно организовать сообщение (типа замаппить файл на общий доступ и т.д.) но это уже дебри.
    Крайний раз редактировалось Small_Bee; 02.09.2011 в 21:16.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •