นักแสดงในการพัฒนาเกมคืออะไร?


15

ฉันกำลังอ่านหนังสือเกี่ยวกับการพัฒนาเกม (การเข้ารหัสเกมฉบับสมบูรณ์แบบที่สี่ ) และมีหัวข้อ "นักแสดง" ซึ่งเพิ่งอธิบายวิธีใช้พวกเขาสั้น ๆ แทนที่จะอธิบายว่ามันคืออะไร

นี่คือวิธีที่หนังสือแนะนำนักแสดงเหล่านี้:

เกมเต็มไปด้วยวัตถุที่ทำให้โลกของคุณมีชีวิตชีวา เกมสงครามโลกครั้งที่สองอาจเต็มไปด้วยรถถังและเครื่องบินในขณะที่เกมนิยายวิทยาศาสตร์แนวอนาคตอาจมีหุ่นยนต์และยานอวกาศ เช่นเดียวกับนักแสดงบนเวทีวัตถุเหล่านี้เป็นหัวใจของการเล่นเกม ดูเหมือนเหมาะสมที่เราเรียกพวกเขาว่า "นักแสดงเกม" เพราะนั่นคือสิ่งที่พวกเขาเป็น

นักแสดงเกมเป็นวัตถุที่แสดงถึงนิติบุคคลเดียวในโลกเกมของคุณ มันอาจเป็นรถกระบะกระสุนรถถังโซฟา NPC หรืออะไรก็ตามที่คุณนึกออก ในบางกรณีโลกของตัวเองอาจเป็นนักแสดง สิ่งสำคัญคือการกำหนดพารามิเตอร์ของนักแสดงเกมและเพื่อให้แน่ใจว่ามีความยืดหยุ่นและสามารถใช้ซ้ำได้มากที่สุด

มีหลายวิธีในการกำหนดนักแสดงเกมเช่นเดียวกับเกม เช่นเดียวกับทุกอย่างในการเขียนโปรแกรมคอมพิวเตอร์แทบจะไม่มีทางแก้ปัญหาที่สมบูรณ์แบบ

ฉันสามารถเข้าใจบางสิ่งเพียงเล็กน้อย: มันเป็นสิ่งที่เป็นนามธรรมในเกมที่สามารถทำการกระทำได้ มันมีสถานะเป็นของตัวเอง พฤติกรรมของมันมักจะนำมาใช้เป็นเครื่องรัฐ นี่ไง. ฉันมาพร้อมกับพื้นหลังการเขียนโปรแกรมระบบเพื่อการพัฒนาเกมและดังนั้นฉันอยากรู้โดยทั่วไปสิ่งที่นักแสดงอยู่ในความหมายของการพัฒนาเกม, วิธีการใช้งาน, วิธีการใช้งาน, การใช้งานทั่วไป, ปัญหาที่แก้ได้อย่างไร ทำไม. ฉันต้องการคำอธิบายว่าเด็กสามารถเข้าใจได้

ฉันได้พยายามค้นหาข้อมูลนี้บน google แล้ว แต่มันนำฉันไปที่ "นักแสดง" คนอื่นแทน: การเขียนโปรแกรมพร้อมกันส่วนใหญ่เวลาหรือนักแสดงเกม แต่ไม่มีคำอธิบายที่ดี


@Phippipp ฉันได้เพิ่มหนังสือ แม้ว่าจะมีเป็นบางคำอธิบายสั้น ๆ มากactorแต่ผมไม่พอใจกับมันก็ไม่ได้นำมาด้วยเหตุผลใด ๆ ทางประวัติศาสตร์หรือในทางปฏิบัติสำหรับการประดิษฐ์ของนักแสดงและสิ่งที่เป็นปัญหามันแก้ที่นั่นเป็นเพียงการอธิบายสิ่งที่จะสามารถ
Victor Polevoy

1
ใน Unreal Engine Actorจริง ๆ แล้วเป็นคลาส docs.unrealengine.com/latest/INT/Programming/UnrealAr Architecture/…
Almo

2
ฉันเชื่อว่าเอ็นจิ้นส่วนใหญ่เรียกว่า "เอนทิตี" หรือ "วัตถุของเกม" เหล่านี้ ฉันไม่เคยได้ยิน "นักแสดง" ในบริบทนี้
user253751

7
ข้อความบล็อกที่ยกมาของคุณเป็นคำตอบที่ดีสำหรับคำถามของ "นักแสดงอะไร" ที่คุณจะได้รับ
Russell Borogove

เพื่อทำให้สิ่งต่าง ๆ สับสนมากขึ้นนอกจากนี้ยังมีนักแสดงในActor Modelซึ่งเห็นได้ชัดว่าแตกต่างกัน
Brian McCutchon

คำตอบ:


40

ดังที่คุณกล่าวถึงนักแสดงสามารถเป็นอะไรก็ได้อย่างแท้จริง ต้นไม้ NPCs อาคาร ฯลฯ คำที่คล้ายกันคือ "เอนทิตี" มันไม่จำเป็นต้องมีพฤติกรรมในความหมายดั้งเดิมมันคงที่

มันเป็นเพียงวิธีที่จะพูดว่า "วัตถุในเกม"


2
ดังนั้นนี่ก็termคล้ายกับentityโอเค ฉันคิดว่ามันมีความหมายของบางสิ่งมากกว่าคิดว่ามันเป็นนามธรรมที่ยิ่งใหญ่กว่าแค่คำพ้อง คุณช่วยบอกได้ไหมว่าควรเป็นนักแสดงอย่างไรและไม่ดี? ฉันควรใช้งานอะไรเพื่อเลือกสิ่งนี้
Victor Polevoy

Actorจริงๆแล้วเป็นคลาสใน Unreal Engine มันกลับมาแล้วในเวอร์ชั่น 2 ดังนั้นมันอาจจะไม่ใช่แค่คำศัพท์ที่ขึ้นอยู่กับเอ็นจิ้นที่คุณใช้
Almo

1
ดูเหมือนว่าทุกอย่างในเกมจะเป็นนักแสดงซึ่งจะทำให้คำนั้นไร้ประโยชน์ ฉันจะบอกว่าทุกอย่างที่สามารถเปลี่ยนแปลง gamestate เป็นนักแสดง ต้นไม้นั้นไม่ใช่นักแสดงถ้ามันเป็นเพียงภาพพื้นหลัง แต่ถ้าคุณสามารถตัดมันและรับ ressources ได้ เมนูในทางกลับกันทำอะไรบางอย่าง แต่ฉันจะไม่จำแนกพวกเขาในฐานะนักแสดงพวกเขาไม่ได้เป็นส่วนหนึ่งของโลกของเกม (ส่วนใหญ่เช่นในเกมแฟลช "อัพเกรดเสร็จสมบูรณ์" เมนูจริง ๆ แล้วเป็นส่วนหนึ่งของโลกเกม)
syntonym

@syntonym วรรคสองของข้อความที่ยกมาในคำถามระบุว่าอะไรก็ตามที่สามารถเป็นนักแสดงได้แม้กระทั่งเตียงนอน นอกจากนี้ไม่ใช่ทุกอย่างที่เป็นนักแสดง แต่อย่างใด
Bálint

@ Bálintน่าสนใจฉันคิดว่าอนุภาคเป็นนักแสดงด้วย พวกเขาต้องทำเครื่องหมายในการอัปเดตพวกเขาต้องคิด (ฟิสิกส์) พวกเขามีสถานะ มันไม่ได้เป็น?
Victor Polevoy

13

โดยความเข้าใจของฉันคำนี้เป็นผลข้างเคียงของการจ้างนักเขียนเพื่อสร้างเรื่องราวสำหรับเกม เนื่องจากพวกเขามักจะมาจากโรงละครหรือหน้าจอที่พวกเขาจะคุ้นเคยกับการเงื่อนไขและ Actor เป็นสิ่งที่เคลื่อนไหวและมีบทบาทจริงในเกมและเป็นสิ่งต่าง ๆ เช่นต้นไม้อาคาร ฯลฯPropActorsProps

จากวันแรก ๆ ของการเขียนโค้ดในวิทยาลัยก่อนที่เราจะได้รับอนุญาตให้ใช้เครื่องมือเช่น Unity เราต้องเขียนรหัสเครื่องยนต์ของเราเอง Actorเป็นระดับนามธรรมฐานที่มีการเปลี่ยนฟังก์ชั่นวงจรว่างเปล่าและฟังก์ชั่นที่เรียกว่าซึ่งเป็นรุ่นของเราความสามัคคีของAct()Update()

วงเกมหลักของเราตามมาโดยทั่วไป:

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

เครื่องมือส่วนใหญ่จะใช้แนวคิด Entity ดังนั้นจากการอ่านของคุณเพียงแค่แปลActorเป็นEntityในหัวของคุณและคุณจะปรับ


+1 ฉันชอบที่มันแสดงให้เห็นถึงความจริงที่ว่าคุณต้องการชื่อสำหรับชั้นฐาน
Vaillancourt

2
โดยความเข้าใจของฉันคำนี้เป็นผลข้างเคียงของการจ้างนักเขียนเพื่อสร้างเรื่องราวสำหรับเกม เนื่องจากพวกเขามักจะมาจากโรงละครหรือหน้าจอพวกเขาคุ้นเคยกับเงื่อนไขนักแสดงและข้อเสนอ {{citation needed}}คำว่า "นักแสดง" เป็นคำทั่วไปที่เพียงพอที่จะใช้ในการออกแบบซอฟต์แวร์นานก่อนที่คนจะคิดเกี่ยวกับการจ้างนักเขียนเกม UML ฯลฯ สิ่งที่ใช้ในการพัฒนาธุรกิจ) พจนานุกรม (MW) บอกสิ่งนี้: Definition of actor: 1 : one that acts : doer; ฉันไม่เห็นการเชื่อมต่อการแสดงละครที่นี่

เพื่อความยุติธรรมฉันพูดด้วยความเข้าใจ คุณอาจพูดถูก แต่อย่างน้อยผู้คนก็คุ้นเคยกับความคิดของนักแสดงและสนับสนุนในบริบทนั้นซึ่งให้คำอธิบายที่เป็นประโยชน์แก่ Asker
เตฟาน

ฉันก็จะบอกว่าคำว่านักแสดงไม่ได้มาจากการจ้างนักเขียน แต่มันอาจมาจากความปรารถนาเริ่มแรกของผู้พัฒนาเกมในการไล่ล่าฮอลลีวูด :)
dash-tom-bang
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.