Як вони відстежують NPC у Left 4 Dead?


11

Як вони відстежують зомбі NPC у Left 4 Dead?

Я говорю про NPC, які просто ходять в стіни або безцільно блукають. Незважаючи на те, що гравці не можуть їх побачити, вони там (скажімо, всередині кімнат або за дверима). Скажімо, в передпокої та всередині кімнат близько 10 зомбі. Чи гра зберігає всіх цих зомбі у списку та повторює, даючи їм команди? Вони просто нерестуються, коли користувач перебуває в певному радіусі або дійшов до спеціального місця?

Скажіть, ви розмістили 4 одиниці (контрольовані гравцями) у абсолютно різних місцях на карті. Давайте припустимо, що вас не роять, і тоді ви не вбили жодного з цих безцільних NPC. Чи буде гра відслідковувати 10 x 4 = 40 зомбі загалом?

Або моє розуміння повністю відключено?

Причина, про яку я запитую, - якби я реалізував щось подібне на мобільному пристрої, відстеження 40 і більше NPC може бути не такою чудовою ідеєю.


1
Я бачив презентацію, зроблену Valve, що пояснює все про зомбі в L4D. Я не можу його знайти.
Качка комуніста

2
@ Комуністична качка - Це було б дуже корисно. Будь ласка, опублікуйте, якщо ви коли-небудь знайдете його. Єдине, що я можу знайти в Інтернеті - ігрові файли.
f20k

Відповіді:



4

Я не читав папери, на які ChrisE писав посилання, але з розмови, яку я мав із співробітником Valve, або десь із їхнього Wiki Wiki (не пам'ятаю, який), я пам’ятаю, що мені повідомили, що вони по суті мають лише пару реальних осіб (директор ШІ); аватари, які ви бачите на зображенні заражених NPC, - це просто "маріонетки" для цих утворень. Вони зробили це, щоб мінімізувати кількість едиків (словник юридичних осіб) до мінімуму, оскільки, очевидно, є тонна заражених NPC, які слід відслідковувати.

Словник сутності мотора має фіксований розмір і не може рости. Це означає, що будь-яка гра, побудована на цьому двигуні, яка потребує великої кількості NPC - або будь-якого об'єкта з цього питання - повинна використовувати таку систему для того, щоб двигун працював належним чином, а не захлинувся (і в кінцевому рахунку вийшов з ладу), оскільки кількість юридичних осіб зависока.


Чи трапляється вам знати, які ще існують утворення? Чи будуть спеціальні заражені суб'єктами? У мене виникають проблеми з розумінням "сутності" проти "маріонетки", коли я можу взаємодіяти з зараженим NPC.
f20k

1
Спеціалісти - це юридичні особи. Найпростіший спосіб визначити, що реально, а що підроблено - це дивитися консоль. Ви можете отримувати збитки від інших гравців, від спеціальних імен на ім'я, але коли ви отримуєте збитки від загальнодоступних, консоль показує, що ви отримуєте шкоду від "світу" (iirc).
Роб N

Так, я бачу вашу думку. Вони просто натовп навколо мене і роблять анімацію кігтів. Це дуже цікаво, дякую.
f20k

Мабуть, найкращий спосіб пояснити, як працює концепція «пальця-маріонетка», порівнявши її з вівцями. Є один «контролер» (наприклад: собака) та стадо (або орда в даному випадку) «лялечок» (наприклад, овець). "Маріонетки" не можуть думати самі, вони роблять лише те, що їм керує контролер. Ляльки в основному є розширенням сутності контролера, але замість того, щоб використовувати один єдиний візуальний елемент, наприклад у випадку зі спеціальними зараженими, вони використовують кілька візуальних елементів, які керуються незалежно.
Кале

1

Я не можу говорити про те, як працює реалізація Left 4 Dead, але можу сказати, як я, мабуть, зробив це.

Я б хотів щось подібне до вашого другого варіанту, відстежувати кожного гравця і завантажувати NPC лише тоді, коли гравці переміщаються повз тригерні точки. Ключове значення в такій системі полягає в тому, щоб зробити тригерні точки досить далеко від гравця, щоб вони не змогли пов'язати, що walking past this fence postспрацьовуєthat car to blow up, and shoot a zombie at them.

Я, мабуть, мав би активну колекцію NPC, яка запускає точки або додає, або видаляє NPC з колекції. Це дозволяє витрачати ресурси CPU / GPU на NPC, з якими гравці насправді взаємодіють, але це дає вам можливість завантажувати NPC в будь-який час.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.