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

Doom Rate: 1.54
Ссылка на пост №21 Отправлено: 14.08.11 19:45:31

TGA [B0S] :
А может и в ту сторону, при движении в которую будет сокращаться расстояние между целью(плеер, другой монстр) и монстром.

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

Doom Rate: 1.77
Ссылка на пост №22 Отправлено: 14.08.11 20:22:04

BeeWen [B0S] :
Почему тогда в узком коридоре тот же пинки получив выстрел в морду может вообще уйти от игрока довольно далеко, за пару углов? Но затем обязательно вернется.

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

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

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

Doom Rate: 1.48
Ссылка на пост №23 Отправлено: 14.08.11 23:47:52

Хорошо, что Дум - не пошаговая игра, как Космические Рейнджеры. А то там тоже генератор случайности повязан на действия игрока.
Боже мой, что эти задроты делали, чтобы заставить Удачу повернуться к ним лицом. "Подождать n дней, взлететь с планеты, прыгнуть в другую систему..." и все для того, чтобы нужная пушка появилась в магазине.
3 1
Bloodiness
= Corporal =
Next rank: - Lance Corporal - after 38 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;

         tdir<DI_SOUTHEAST>movedir =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 Corporal =
Next rank: - Sergeant - after 23 points
367

Doom Rate: 2.16
Ссылка на пост №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 [B0S]
- UAC Commissar -
Next rank: = UAC Commissar = after 76 points
2924

Doom Rate: 1.54
Ссылка на пост №26 Отправлено: 01.09.11 22:55:23

siealex :
почему лостсоулы ОЧЕНЬ часто атакуют друг друга?

Скорее всего потому, что их относительно большое количество ищут цель (игрока) в сравнительно небольшом объеме пространства, а так как лостсоулы двигаются в атаке быстро и по прямолинейной траектории, то часто натыкаются друг на друга.
1 1 3
VladGuardian
= Warrant Officer =
Next rank: - 2nd Lieutenant - after 60 points
1190

Doom Rate: 1.37
Ссылка на пост №27 Отправлено: 29.10.11 01:50:03

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

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

Игнор-лист
© iddqd.ru