Apa itu aktor dalam pengembangan game?

15

Saya membaca buku tentang pengembangan game ( Game Coding Complete, Edisi Keempat ) dan ada topik "Aktor" yang hanya menjelaskan cara menggunakannya secara singkat alih-alih menjelaskan apa itu.

Inilah cara buku ini memperkenalkan aktor-aktor ini:

Game penuh dengan objek yang menghidupkan dunia Anda. Gim Perang Dunia II mungkin penuh dengan tank dan pesawat, sementara gim fiksi ilmiah futuristik mungkin memiliki robot dan kapal luar angkasa. Seperti aktor di atas panggung, objek-objek ini adalah jantung dari gameplay. Sepertinya pas kalau kita menyebut mereka "aktor permainan" karena memang itulah mereka.

Aktor gim adalah objek yang mewakili satu entitas di dunia gim Anda. Ini bisa berupa pickup amunisi, tank, sofa, NPC, atau apa pun yang dapat Anda pikirkan. Dalam beberapa kasus, dunia itu sendiri bahkan mungkin menjadi aktor. Sangat penting untuk menentukan parameter aktor gim dan memastikan bahwa mereka sefleksibel dan dapat digunakan kembali sebanyak mungkin.

Ada banyak cara untuk mendefinisikan aktor permainan seperti halnya ada permainan. Seperti semua hal lain dalam pemrograman komputer, jarang ada solusi yang sempurna.

Saya hanya bisa memahami beberapa hal: itu adalah abstraksi dari segala sesuatu dalam game yang dapat melakukan aksi; ia memiliki keadaannya sendiri; perilaku itu biasanya diimplementasikan sebagai mesin negara. Ini dia. Saya datang dengan latar belakang pemrograman sistem untuk pengembangan game, jadi saya ingin tahu secara umum, apa arti aktor dalam pengembangan game, bagaimana menggunakannya, bagaimana menggunakannya secara umum, masalah apa yang dipecahkan, bagaimana dan Mengapa. Saya ingin penjelasannya agar anak-anak dapat mengerti.

Saya telah mencoba untuk menemukan informasi ini di google tetapi sebaliknya mengarahkan saya ke "aktor" lain: pemrograman bersamaan sebagian besar waktu atau aktor permainan tetapi tanpa penjelasan yang baik tentang itu.

Victor Polevoy
sumber
@ Pilip Saya telah menambahkan buku. Meskipun, ada adalah beberapa penjelasan yang sangat singkat actortapi saya tidak puas dengan itu: tidak membawa alasan historis atau praktis untuk penemuan aktor dan apa masalah itu memecahkan, ada hanya menjelaskan apa yang dapat.
Victor Polevoy
1
Di Unreal Engine, sebuah Actorsebenarnya adalah sebuah kelas. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…
Almo
2
Saya percaya sebagian besar mesin menyebut "entitas" atau "objek game" ini; Saya belum pernah mendengar "aktor" dalam konteks ini.
user253751
7
Teks blok yang Anda kutip adalah jawaban yang bagus untuk pertanyaan "apa itu aktor" seperti yang akan Anda dapatkan.
Russell Borogove
Untuk membuat segalanya lebih membingungkan, ada juga aktor dalam Model Aktor , yang tampaknya berbeda.
Brian McCutchon

Jawaban:

40

Seperti yang Anda sebutkan, seorang aktor dapat benar-benar apa saja; pohon, NPC, bangunan, dll. Istilah serupa adalah "entitas". Tidak perlu memiliki perilaku dalam pengertian tradisional, itu bisa statis.

Itu hanya cara untuk mengatakan "objek dalam game".

Bálint
sumber
2
Jadi ini termmirip dengan entity, oke. Saya pikir itu juga memiliki makna sesuatu yang lebih, berpikir itu adalah abstraksi yang lebih besar dari sekedar sinonim. Bisakah Anda juga mengatakan apa yang harus menjadi aktor dan apa yang tidak? Dengan apa saya harus beroperasi untuk memilih ini?
Victor Polevoy
Actorsebenarnya adalah kelas di Unreal Engine. Yah, itu tetap kembali ke versi 2. Jadi itu mungkin bukan hanya istilah tergantung pada mesin yang Anda gunakan.
Almo
1
Ini terdengar seperti semua yang ada di game adalah aktor, yang akan membuat kata itu tidak berguna. Saya akan mengatakan semua yang dapat mengubah gamestate adalah aktor. Maka pohon bukan aktor jika itu hanya gambar latar belakang, tetapi jika Anda dapat menebangnya dan mendapatkan sumber daya, itu adalah. Menu di sisi lain melakukan sesuatu, tetapi saya tidak akan mengklasifikasikan mereka sebagai aktor, mereka bukan bagian dari dunia game (kebanyakan, misalnya dalam "flash selesai" flash menu menu sebenarnya adalah bagian dari dunia game).
syntonym
@syntonym Paragraf kedua dari teks yang dikutip dalam pertanyaan menyatakan bahwa apa pun bisa menjadi aktor, bahkan sofa. Juga, tidak semuanya adalah aktor, partikel misalnya tidak.
Bálint
@ Bálint menarik, saya pikir partikel adalah aktor juga. Mereka harus mencentang saat pembaruan, mereka harus berpikir (fisika), mereka memiliki keadaan. Bukankah begitu?
Victor Polevoy
13

Menurut pemahaman saya, istilah ini adalah efek samping dari mempekerjakan penulis untuk membuat cerita untuk game. Karena mereka biasanya datang dari teater atau layar, mereka terbiasa dengan persyaratan Actordan Prop. Actorsmenjadi hal-hal yang bergerak dan memainkan peran nyata dalam permainan, dan Propsmenjadi hal-hal seperti pohon, bangunan, dll.

Sejak awal saya berkode di perguruan tinggi, sebelum kami diizinkan menggunakan mesin seperti Unity, kami harus membuat kode mesin kami sendiri. Actoradalah kelas dasar abstrak yang memiliki fungsi transformasi, siklus hidup kosong, dan fungsi yang disebut Act()versi Unity kami Update().

Loop game utama kami pada dasarnya mengikuti:

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

Kebanyakan mesin menggunakan konsep Entity, sehingga dari bacaan Anda, hanya menerjemahkan Actorseperti Entitydi kepala Anda dan Anda akan baik-baik saja.

Stephan
sumber
+1 Saya suka itu menggambarkan fakta bahwa Anda memerlukan nama untuk kelas dasar.
Vaillancourt
2
Menurut pemahaman saya, istilah ini adalah efek samping dari mempekerjakan penulis untuk membuat cerita untuk game. Karena mereka biasanya datang dari teater atau layar, mereka terbiasa dengan istilah Aktor dan Prop. {{citation needed}} Istilah "aktor" cukup umum untuk digunakan dalam desain perangkat lunak jauh sebelum orang bahkan berpikir untuk mempekerjakan penulis untuk permainan (juga, itu digunakan dalam UML dll, hal-hal yang digunakan untuk pengembangan bisnis). Kamus (MW) mengatakan ini Definition of actor: 1 : one that acts : doer:; Saya gagal melihat koneksi teatrikal di sini.
Agar adil, saya mengatakan dengan pemahaman saya. Anda mungkin benar, tetapi orang-orang paling tidak terbiasa dengan gagasan aktor dan penyokong dalam konteks itu, yang memberikan penjelasan yang bermanfaat bagi Penanya.
Stephan
Saya juga akan mengatakan bahwa istilah Aktor tidak berasal dari mempekerjakan penulis tetapi mungkin berasal dari keinginan awal pengembang game untuk mengejar Hollywood. :)
dash-tom-bang