Left 4 Dead'deki NPC'leri nasıl takip ediyorlar?


11

Left 4 Dead'deki NPC zombilerini nasıl takip ediyorlar?

Sadece duvarlara giren veya amaçsızca dolaşan NPC'lerden bahsediyorum. Oyuncular onları göremese de oradalar (odaların içinde veya kapıların arkasında). Diyelim ki bir koridorda ve iç mekanlarda yaklaşık 10 kadar zombi var. Oyun tüm bu zombileri bir listede tutuyor ve komutlar vererek tekrar ediyor mu? Kullanıcı belirli bir yarıçap içindeyse veya özel bir konuma ulaştığında mı ortaya çıkarlar?

4 birimi (oyuncular tarafından kontrol edilen) harita boyunca tamamen farklı yerlere yerleştirdiğinizi varsayalım. Diyelim ki, kümelenmediğinizi ve o zaman bu amaçsız NPC'leri öldürmediniz. Oyun toplamda 10 x 4 = 40 zombiyi takip edecek mi?

Yoksa anlayışım tamamen kapalı mı?

Sormamın nedeni, bir mobil cihaza benzer bir şey uygulayıp uygulamadığım, 40 veya daha fazla NPC'yi takip etmek o kadar da iyi bir fikir olmayabilir.


1
Valve tarafından yapılan ve L4D'deki zombiler hakkındaki her şeyi açıklayan bir sunum gördüm . Yine de bulamıyorum.
Komünist Ördek

2
@ Komünist Ördek - Bu çok faydalı olurdu. Eğer bulursanız lütfen gönderin. Online bulabileceğim tek şey oyun sss.
f20k

Yanıtlar:



4

ChrisE'nin bir bağlantı yazdığı makaleyi okumadım, ancak bir Valve çalışanıyla veya Geliştirme Wiki'sinde bir yerde yaptığım bir konuşmadan (hangisini hatırlayamıyorum) aslında sadece birkaç gerçek varlıklar (AI direktörü); virüslü NPC'leri tasvir ettiğin avatarlar sadece bu varlıklara "parmak-kuklaları" dır. Bunu, izlenmesi gereken bir ton virüslü NPC olduğu için, edict (varlık sözlüğü) girişlerinin sayısını minimumda tutmak için yaptılar.

Motorun varlık sözlüğü sabit bir boyuta sahiptir ve büyüyemez. Bu, büyük miktarda NPC (veya bu konu için herhangi bir varlık) gerektiren bu motor üzerine inşa edilen herhangi bir oyunun, motorun düzgün çalışması ve boğulmaması (ve sonuçta çökmesi) için bu sistemi kullanması gerektiği anlamına gelir. varlık sayısı çok yüksek.


Başka ne tür varlıklar olduğunu biliyor musunuz? Enfekte olan özel kişiler varlık olur mu? Enfekte NPC ile etkileşim kurabildiğimde "varlık" ve "parmak kuklası" nı anlamakta güçlük çekiyorum.
f20k

1
Kampanyalar varlıklardır. Neyin gerçek ve neyin sahte olduğunu belirlemenin en kolay yolu konsolu izlemek. Diğer oyunculardan, özel isimlerden isimlerle hasar alabilirsiniz, ancak müştereklerden hasar aldığınızda, konsol size "dünya" dan (iirc) hasar aldığını gösterir.
Rob N

Evet, anlıyorum. Sadece etrafımda kalabalıklar ve bir pençe animasyonu yapıyorlar. Bu çok ilginç, teşekkürler.
f20k

Muhtemelen 'parmak-kukla' kavramının nasıl çalıştığını açıklamanın en iyi yolu onu bir koyun köpeğiyle karşılaştırmaktır. Bir 'kontrolör' (örneğin: köpek) ve bir sürü (veya bu durumda kalabalık) bir 'kukla' (ör: koyun) vardır. 'Kuklalar' kendileri için düşünemezler, sadece kontrolörün onları yönlendirmesini sağlarlar. Kuklalar temel olarak kontrolör varlığının bir uzantısıdır, ancak özel enfekte durumdaki gibi tek bir görsel eleman kullanmak yerine, bağımsız olarak kontrol edilen birden fazla görsel eleman kullanırlar.
Cale

1

Left 4 Dead uygulamasının nasıl çalıştığı hakkında konuşamam, ancak muhtemelen nasıl yapacağımı söyleyebilirim.

İkinci seçeneğiniz gibi bir şey seçerim, her oyuncuyu takip eder ve yalnızca oyuncular tetik noktaları geçtikten sonra NPC'ler yüklerim. Böyle bir sistemde anahtar, yeterince uzakta oyuncudan o ilişkilendirmek edemeyeceğimizi tetik noktaları yapmaktır walking past this fence posttetiklerthat car to blow up, and shoot a zombie at them.

Muhtemelen, tetikleme noktalarının koleksiyona NPC ekleyip kaldırdığı etkin bir NPC koleksiyonum olurdu. Bu, oyuncuların gerçekte etkileşime girdiği NPC'lere CPU / GPU kaynaklarını harcamanıza izin verir, ancak size istediğiniz zaman NPC'leri yükleme esnekliği sağlar.

Sesleri duyan bir patron düşünün, belki de haritanın başlangıcında patron yüklenir ve haritaya giren oyuncu çok fazla gürültü yaparsa (el bombaları, boru bombaları, vb.), Patron oyuncuyu arayacak ve maviden çıkıp, oyuncu patron alanına ulaşana kadar beklemek yerine.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.