Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Поиск пути в DooM Пред.  1, 2
   Список разделов - Флуд и устаревшие темы - Поиск пути в DooMОтветить
АвторСообщение
BeeWen
- Colonel -
Next rank: = Colonel = after 164 points
4276

Doom Rate: 1.64
Ссылка на пост №21 Отправлено: 14.08.11 19:45:31
TGA [B0S] :
А может и в ту сторону, при движении в которую будет сокращаться расстояние между целью(плеер, другой монстр) и монстром.

Почему тогда в узком коридоре тот же пинки получив выстрел в морду может вообще уйти от игрока довольно далеко, за пару углов? Но затем обязательно вернется.
Мнение таково: монстры в Думе получив контакт с игроком идут к нему рандомно, но используя все возможные пути. У летающих монстров путей соответственно больше, они используют всякие окна и проемы для прохода на линию атаки. Имеет значение так же количество одновременно ищущих игрока зверей и количество путей к нему.
1 1 1
Memfis
= UAC Marshal =
Next rank: UAC General after 97 points
8103

Doom Rate: 1.85
Ссылка на пост №22 Отправлено: 14.08.11 20:22:04
BeeWen [B0S] :
Почему тогда в узком коридоре тот же пинки получив выстрел в морду может вообще уйти от игрока довольно далеко, за пару углов? Но затем обязательно вернется.

http://doomwiki.org/wiki/Monsters_fleeing
Как я понял, если монстр кучу раз на что-то натыкается, то он в конце концов полностью разворачивается. Пинки еле помещается в узкий коридор, поэтому необходимое количество "натыканий" набирается очень быстро. (мгновенно?)

Yak-9U :
Так вот, как узнать, в какую именно сторону побежит монстр? И можно ли "заставить" его бежать в определенную сторону, если препятствием будет являться сам игрок?

Абсолютно невозможно. Для этого надо держать в голове думовский генератор случайных чисел, какие-то там thinker'ы для каждого объекта, и всё это перевычислять каждый тик.
Единственный промежуток времени, когда это в какой-то степени возможно - это начало уровня, несколько первых секунд после того как монстры начинают двигаться. Тут ещё можно с терпимой вероятностью успеха повторить одни и те же действия. Например, когда кто-то (вроде Looper) пытался пройти мап30 тайсоном, он нашёл какую-то последовательность движений, которая увеличивала шансы появления арчвайла по сравнению с тем, если просто случайно слоняться. Это было совсем ненадёжно, но всё же помогало. Более простой случай - записывая пацифист на Реквием мап22, я заметил, что если в начале не двигаться, то импы всегда убивают чейнганнера. Если я сразу начинал двигаться, то обычно он их всех расстреливал и потом ещё некоторое время досаждал мне.
1 1 1
Arsenikum
- Major -
Next rank: = Major = after 284 points
2656

Doom Rate: 1.49
Ссылка на пост №23 Отправлено: 14.08.11 23:47:52
Хорошо, что Дум - не пошаговая игра, как Космические Рейнджеры. А то там тоже генератор случайности повязан на действия игрока.
Боже мой, что эти задроты делали, чтобы заставить Удачу повернуться к ним лицом. "Подождать n дней, взлететь с планеты, прыгнуть в другую систему..." и все для того, чтобы нужная пушка появилась в магазине.
5 1
Bloodiness
= Lance Corporal =
Next rank: - Master Corporal - after 28 points
172

Doom Rate: 3.82
Ссылка на пост №24 Отправлено: 15.08.11 14:19:02
>> Так вот, как узнать, в какую именно сторону побежит монстр?
>> Абсолютно невозможно.

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

    // randomly determine direction of search

    if (P_Random()&1)    

    {

   for ( tdir=DI_EAST;

         tdirmovedir =tdir;

      

      if ( P_TryWalk(actor) )

          return;

       }

   }

    }

    else

    {

   for ( tdir=DI_SOUTHEAST;

         tdir != (DI_EAST-1);

         tdir-- )

   {

       if (tdir!=turnaround)

       {

      actor->movedir =tdir;

      

      if ( P_TryWalk(actor) )

          return;

       }

   }

    }


Таким образом, P_Random()&1 выбирает направление передвижения обхода наиболее вероятных направлений против часовой и по часовой стрелке соответственно, но начинает-то с восточного и юго-восточного направления! Поэтому они всегда будут наиболее вероятными, если не направленны в сторону, противоположную предыдущему перемещению.

К слову, что-то в блоке code сильно странное. Он съедает скобки и некоторые символы.
siealex
- Master Sergeant -
Next rank: = Master Sergeant = after 19 points
441

Doom Rate: 1.93
Ссылка на пост №25 Отправлено: 01.09.11 18:45:06

nor can pain elementals, as the lost souls launched by a pain elemental are targeted instead


А вот эти самые лостсоулы могут атаковать пейна запросто. Не знаю как в оригинале, в ZDoom однозначно видел.
Зы, почему лостсоулы ОЧЕНЬ часто атакуют друг друга?
1
BeeWen
- Colonel -
Next rank: = Colonel = after 164 points
4276

Doom Rate: 1.64
Ссылка на пост №26 Отправлено: 01.09.11 22:55:23
siealex :
почему лостсоулы ОЧЕНЬ часто атакуют друг друга?

Скорее всего потому, что их относительно большое количество ищут цель (игрока) в сравнительно небольшом объеме пространства, а так как лостсоулы двигаются в атаке быстро и по прямолинейной траектории, то часто натыкаются друг на друга.
1 1 1
VladGuardian
= Major =
Next rank: Lieutenant Colonel after 196 points
3094

Doom Rate: 1.17
Ссылка на пост №27 Отправлено: 29.10.11 01:50:03
BeeWen [B0S] :
siealex : почему лостсоулы ОЧЕНЬ часто атакуют друг друга?
Скорее всего потому, что их относительно большое количество ищут цель (игрока) в сравнительно небольшом объеме пространства, а так как лостсоулы двигаются в атаке быстро и по прямолинейной траектории, то часто натыкаются друг на друга.

Еще по одной причине.
После взрыва пэйна образующаяся тройка соулов часто бывает ограничена узким объемом, из-за чего грызня между соулами начинается еще ДО ТОГО, как они УВИДЯТ ИГРОКА.
То есть они сталкиваются между собой уже во время взрыва. Не замечали разве?
Я обычно при убийстве пэйна в последний момент прячусь за угол, чтобы "осколками не зацепило", и часто слышу, как там уже грызутся :)
1 7 13
Страница 2 из 2Перейти наверх Пред.  1, 2
   Список разделов - Флуд и устаревшие темы - Поиск пути в DooM