Oyun geliştirmede aktör nedir?


15

Oyun geliştirme hakkında bir kitap okuyorum ( Oyun Kodlama Tamamlandı, Dördüncü Baskı ) ve ne olduğunu açıklamak yerine kısaca nasıl kullanacağını açıklayan bir "Aktörler" konusu var.

Kitap şu aktörleri nasıl tanıtıyor:

Oyunlar dünyanıza hayat veren nesnelerle doludur. Bir II. Dünya Savaşı oyunu tanklarla ve uçaklarla dolu olabilirken, fütüristik bir bilim kurgu oyununda robotlar ve yıldız gemileri olabilir. Bir sahnedeki aktörler gibi, bu nesneler de oyunun kalbindedir. Onlara “oyun aktörleri” dediğimiz uygun görünüyor çünkü tam da bu oldukları gibi.

Oyun aktörü, oyun dünyanızdaki tek bir varlığı temsil eden bir nesnedir. Bir cephane pikapı, bir tank, bir kanepe, bir NPC veya aklınıza gelebilecek herhangi bir şey olabilir. Bazı durumlarda, dünyanın kendisi bir aktör bile olabilir. Oyun oyuncularının parametrelerini tanımlamak ve mümkün olduğunca esnek ve tekrar kullanılabilir olmalarını sağlamak önemlidir.

Bir oyun aktörünü tanımlamanın, oyunlar olduğu kadar çok yolu vardır. Bilgisayar programlamasındaki diğer her şey gibi, nadiren de mükemmel bir çözüm vardır.

Çok az şeyi anlayabiliyordum: oyunda eylemleri gerçekleştirebilen her şeyin bir soyutlaması; kendi devleti var; davranışı genellikle bir durum makinesi olarak uygulanır. Budur. Oyun geliştirmenin arka planını programlama sistemleri ile geliyorum ve bu yüzden genel olarak, oyun geliştirmedeki aktörün ne olduğunu, nasıl kullanılacağını, genel olarak nasıl kullanıldığını, hangi sorunu çözdüğünü, nasıl ve neden. Açıklamanın bir çocuğun anlayabileceği şekilde olmasını istiyorum.

Google'da bu bilgileri bulmaya çalıştım ama bunun yerine beni başka bir "aktörlere" yönlendiriyor: eşzamanlı programlama çoğu zaman veya oyun aktörleri ama iyi bir açıklama olmadan.


@Philipp Kitabı ekledim. Gerçi orada olduğunu bazıları çok kısa bir açıklama actorama onunla memnun değilim: o aktörlerin buluş ve ne sorunu çözer için herhangi tarihsel ya da pratik nedenler getirmiyor, sadece ne olabilir orada açıklayan edilir.
Victor Polevoy

1
Unreal Engine'de an Actoraslında bir sınıftır. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…
Almo

2
Çoğu motorun bu "varlıklar" veya "oyun nesneleri" dediğine inanıyorum; Bu bağlamda hiç "aktör" duymadım.
user253751

7
Alıntılanan blok metniniz, "aktör nedir" sorusuna, alacağınız kadar iyi bir cevaptır.
Russell Borogove

İşleri daha karmaşık hale getirmek için , görünüşe göre farklı olan Aktör Modeli'nde de aktörler var .
Brian McCutchon

Yanıtlar:


40

Bahsettiğiniz gibi, bir aktör tam anlamıyla herhangi bir şey olabilir; ağaçlar, NPC'ler, binalar, vb. Benzer bir terim "varlık" tır. Geleneksel anlamda bir davranışa sahip olması gerekmez, statik olabilir.

Bu sadece "oyunda bir nesne" demenin bir yoludur.


2
Yani bu sadece termbenzer entity, tamam. Bunun bir şeyden daha fazla anlamı olduğunu düşündüm, sadece bir eşanlamlıdan daha büyük bir soyutlama olduğunu düşündüm. Ayrıca ne aktör olması gerektiğini söyleyebilir misiniz? Bunu seçmek için neyle çalışmalıyım?
Victor Polevoy

Actoraslında Unreal Engine'de bir sınıf. Eh, zaten sürüm 2 geri oldu. Yani hangi motoru kullandığınıza bağlı olarak sadece bir terim olmayabilir.
Almo

1
Bu, oyundaki her şeyin bir aktör olduğu anlaşılıyor ve bu kelimeyi işe yaramaz hale getirecek. Oyun tablasını değiştirebilecek her şeyin bir aktör olduğunu söyleyebilirim. O zaman bir ağaç sadece bir arka plan görüntüsü ise bir aktör değildir, ancak onu parçalayabilir ve kaynak kazanabilirsiniz. Öte yandan menüler bir şey yapar, ama onları aktör olarak sınıflandırmazdım, onlar oyun dünyasının bir parçası değildir (çoğunlukla, örneğin "yükseltme tamamlandı" flash oyununda menüler aslında oyun dünyasının bir parçasıdır).
syntonym

@syntonym Sorudaki alıntılanan metnin ikinci paragrafı, her şeyin bir aktör, hatta kanepeler olabileceğini belirtir. Ayrıca, her şey bir aktör değildir, örneğin parçacıklar değildir.
Bálint

@ Bálint ilginç, parçacıkların da aktör olduğunu düşündüm. Güncellemeyi işaretlemek zorundalar, düşünmek zorundalar (fizik), bir durumları var. Değil mi?
Victor Polevoy

13

Anladığım kadarıyla bu terim, oyunların hikayelerini yapmak için yazarları işe almanın bir yan etkisi. Genellikle tiyatro ya ekrandan geldikleri için, terimler alışıktır Actorve Prop. Actorsoyunda hareket eden ve gerçek bir rol oynayan Propsşeyler ve ağaçlar, binalar vb.

Üniversitedeki ilk kodlama günlerimden beri, Unity gibi bir motor kullanmamıza izin verilmeden önce, kendi motorumuzu kodlamamız gerekiyordu. Actordönüşüm, boş yaşam döngüsü fonksiyonları ve Act()Unity'nin versiyonumuz olan bir fonksiyon olan soyut bir temel sınıftı Update().

Ana oyun döngümüz temel olarak şunları takip etti:

for(Actor actor in actors)
{ 
   actor.Act(); 
}

Çoğu motor Varlık kavramını kullanır, bu nedenle okuduğunuzda, kafanızda Actorolduğu gibi tercüme Entityedin ve iyi olacaksınız.


+1 Bir temel sınıf için bir isme ihtiyacınız olduğunu gösteriyor.
Vaillancourt

2
Anladığım kadarıyla bu terim, oyunların hikayelerini yapmak için yazarları işe almanın bir yan etkisidir. Genellikle tiyatro ya ekrandan geldikleri için, terimler aktör ve Prop alışkın. {{citation needed}} Bir dönem "aktör" bile ayrıca (oyunlar için yazarların işe düşündü insanlar, bu kullanıldı çok önce yazılım tasarımında kullanılmak üzere jenerik yeterlidir UML vb., İş geliştirme için kullanılan şeyler). Sözlük (MW) bunu söylüyor Definition of actor: 1 : one that acts : doer:; Burada teatral bir bağlantı göremiyorum.

Adil olmak gerekirse, anlayışımla söyledim. Haklı olabilirsiniz, ancak insanlar en azından bu bağlamda aktör ve pervane fikrine alışkındır, bu da Asker'e faydalı bir açıklama verir.
Stephan

Ben de Aktör teriminin yazarları işe almadığını söyleyebilirim, ancak oyun geliştiricilerinin Hollywood'u takip etme arzusundan gelebilir. :)
dash-tom-bang
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.