M.A.X.    Вы вошли как гость
Российский Клуб игроков M.A.X.
 
[Новости]   [Новичку]   [Энциклопедия]   [Документы]   [Файлы]   [Игроки]   [Архивы]   [Архив форума]  
[Новый сайт]   [M.A.X. Gold]   [Партии]  

 
 
 
Архив форума  МаксГолд
[Основной форум] [Голосования] [МаксГолд] [Off-Topic]
 


Re: Re: разработчикам клонов игры  -  Barloggg,  04.08.2004  15:47:12

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

хотя конечно такое решение довольно энергоемко.

а насчет того чтобы не просчитывать все объекты это еще проще: ведь не все же объекты способны, скажем, атаковать. Так какой смысл его включать в эту операцию?

При движении своих юнитов зона видимости (конкретно в моей демке) не пересчитывается а дополняется ну, в смысле, пролетел АВАК а за ним полоса видна до конца хода, враги все равно ведь не движутся, за чем усложнять себе жизнь? В оригинальном МАХ зона видимости просчитывается полностью каждое движение любого юнита. А это, естественно, означает накладывание всех кругов скана на общую карту.
правда демка, где есть зоны видимости не выложена, так что вам ее пока не потрогать.

Твое решение - проверки по радиусам для всех объектов вообще очень компактно так как никаких вспомогательных массивов. Но в наше то время чего экономить? подумаешь отбабахал лишний мегабайт оперативки при карте скажем 500х500 для четырех игроков. Это же мелочь :))))).

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

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

между прочим в МАХ ситуация, когдя юнит стреляет дальше зоны видимости это норма. Вишибаешь врагу сканеры и смело заходишь в зону стрельбы тех же краулеров.

    ответы :