Як вони відстежують 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.