Một diễn viên trong phát triển trò chơi là gì?


15

Tôi đang đọc một cuốn sách về phát triển trò chơi ( Hoàn thành mã hóa trò chơi, Phiên bản thứ tư ) và có một chủ đề "Diễn viên" chỉ giải thích cách sử dụng chúng một cách ngắn gọn thay vì giải thích nó là gì.

Đây là cách cuốn sách giới thiệu những diễn viên này:

Trò chơi có đầy đủ các đối tượng mang thế giới của bạn đến với cuộc sống. Một trò chơi trong Thế chiến II có thể chứa đầy xe tăng và máy bay, trong khi một trò chơi khoa học viễn tưởng tương lai có thể có robot và phi thuyền. Giống như các diễn viên trên một sân khấu, những đồ vật này là trung tâm của trò chơi. Có vẻ phù hợp khi chúng tôi gọi họ là diễn viên trò chơi của họ vì đó chính xác là những gì họ đang có.

Một diễn viên trò chơi là một đối tượng đại diện cho một thực thể duy nhất trong thế giới trò chơi của bạn. Nó có thể là một chiếc xe bán tải đạn, xe tăng, ghế dài, NPC hoặc bất cứ thứ gì bạn có thể nghĩ ra. Trong một số trường hợp, thế giới thậm chí có thể là một diễn viên. Điều quan trọng là xác định các tham số của các tác nhân trò chơi và để đảm bảo rằng chúng linh hoạt và có thể tái sử dụng nhất có thể.

Có nhiều cách để xác định một diễn viên trò chơi cũng như có các trò chơi. Giống như mọi thứ khác trong lập trình máy tính, hiếm khi có một giải pháp hoàn hảo.

Tôi chỉ có thể hiểu một vài điều: đó là sự trừu tượng của mọi thứ trong trò chơi có thể thực hiện các hành động; nó có trạng thái riêng của nó; hành vi của nó thường được thực hiện như một máy trạng thái. Đây là nó. Tôi đang đến với nền tảng lập trình hệ thống để phát triển trò chơi, và vì vậy tôi muốn biết nói chung, diễn viên có ý nghĩa gì trong việc phát triển trò chơi, cách sử dụng nó, cách sử dụng nói chung, cách giải quyết vấn đề, cách thức và cách giải quyết tại sao. Tôi muốn lời giải thích sao cho một đứa trẻ có thể hiểu được.

Tôi đã cố gắng tìm thông tin này trên google nhưng nó đưa tôi đến một "diễn viên" khác: lập trình đồng thời hầu hết thời gian hoặc diễn viên trò chơi nhưng không có lời giải thích tốt về nó.


@Philipp Tôi đã thêm cuốn sách. Mặc dù vậy, có một số lời giải thích rất ngắn gọn về actornhưng tôi không hài lòng với nó: nó không mang lại bất kỳ lý do lịch sử hay thiết thực cho phát minh của các diễn viên và những gì vấn đề nó giải quyết, có chỉ là giải thích những gì nó có thể được.
Victor Polevoy

1
Trong Unreal Engine, an Actorthực sự là một lớp. docs.unrealengine.com/latest/INT/Programming/UnrealArch architecture / 14
Almo

2
Tôi tin rằng hầu hết các công cụ gọi những "thực thể" hoặc "đối tượng trò chơi" này; Tôi chưa bao giờ nghe "diễn viên" trong bối cảnh này.
dùng253751

7
Văn bản khối trích dẫn của bạn là một câu trả lời tốt cho câu hỏi "diễn viên là gì" như bạn sẽ nhận được.
Russell Borogove

Để làm cho mọi thứ trở nên khó hiểu hơn, cũng có những diễn viên trong Mô hình diễn viên , rõ ràng là khác nhau.
Brian McCutchon

Câu trả lời:


40

Như bạn đã đề cập, một diễn viên có thể là bất cứ điều gì theo nghĩa đen; cây cối, NPC, tòa nhà, v.v ... Một thuật ngữ tương tự là "thực thể". Nó không cần phải có một hành vi theo nghĩa truyền thống, nó có thể là tĩnh.

Đó chỉ là một cách để nói "một đối tượng trong trò chơi".


2
Vì vậy, đây chỉ là termtương tự entity, được. Tôi đã nghĩ nó cũng có ý nghĩa của một cái gì đó nhiều hơn, nghĩ rằng nó trừu tượng hơn là một từ đồng nghĩa. Bạn cũng có thể nói những gì nên là một diễn viên và những gì không? Tôi nên làm việc với cái gì để chọn cái này?
Victor Polevoy

Actorthực sự là một lớp trong Unreal Engine. Chà, dù sao nó cũng đã trở lại trong phiên bản 2. Vì vậy, nó có thể không chỉ là một thuật ngữ tùy thuộc vào công cụ bạn đang sử dụng.
Almo

1
Điều này có vẻ như tất cả mọi thứ trong một trò chơi là một diễn viên, sẽ làm cho từ đó trở nên vô dụng. Tôi muốn nói tất cả những gì có thể thay đổi trò chơi là một diễn viên. Sau đó, một cây không phải là một diễn viên nếu nó chỉ là một hình nền, nhưng nếu bạn có thể cắt nó xuống và có được nguồn tài nguyên, thì đó là. Mặt khác, thực đơn làm một cái gì đó, nhưng tôi sẽ không phân loại chúng là diễn viên, chúng không phải là một phần của thế giới trò chơi (chủ yếu, ví dụ như trong trò chơi flash "nâng cấp hoàn thành", các menu thực sự là một phần của thế giới trò chơi).
cú pháp

@syntonymous Đoạn thứ hai của văn bản được trích dẫn trong câu hỏi nói rằng bất cứ điều gì cũng có thể là một diễn viên, thậm chí là đi văng. Ngoài ra, không phải tất cả mọi thứ là một diễn viên, ví dụ như các hạt.
Bálint

@ Bálint thú vị, tôi đã nghĩ các hạt cũng là diễn viên. Họ phải đánh dấu vào cập nhật, họ phải nghĩ (vật lý), họ có một trạng thái. Không phải nó?
Victor Polevoy

13

Theo hiểu biết của tôi, thuật ngữ này là một tác dụng phụ của việc thuê các nhà văn để làm những câu chuyện cho các trò chơi. Vì họ thường đến từ nhà hát hoặc màn hình, họ đã quen với các điều khoảnActorProp. Actorslà những thứ di chuyển và đóng một vai trò thực sự trong trò chơi, và Propslà những thứ như cây cối, tòa nhà, v.v.

Từ những ngày đầu viết mã ở trường đại học, trước khi chúng tôi được phép sử dụng một công cụ như Unity, chúng tôi phải tự viết mã cho công cụ của mình. Actorlà một lớp cơ sở trừu tượng có một biến đổi, các hàm vòng đời trống và một hàm được gọi Act()là phiên bản Unity của chúng ta Update().

Vòng lặp trò chơi chính của chúng tôi về cơ bản theo sau:

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

Hầu hết các công cụ sử dụng khái niệm Thực thể, vì vậy từ việc đọc của bạn, chỉ cần dịch Actornhư Entitytrong đầu của bạn và bạn sẽ ổn thôi.


+1 Tôi thích điều đó minh họa thực tế là bạn cần một tên cho một lớp cơ sở.
Vaillancourt

2
Theo hiểu biết của tôi, thuật ngữ này là một tác dụng phụ của việc thuê các nhà văn để làm những câu chuyện cho các trò chơi. Vì họ thường đến từ nhà hát hoặc màn hình, họ đã quen với thuật ngữ Diễn viên và Dự luật, {{citation needed}} một thuật ngữ "diễn viên" đủ chung để sử dụng trong thiết kế phần mềm từ lâu trước khi mọi người nghĩ về việc thuê nhà văn cho các trò chơi (cũng vậy, nó được sử dụng trong UML, vv, những thứ đã được sử dụng để phát triển kinh doanh). Từ điển (MW) nói điều này : Definition of actor: 1 : one that acts : doer; Tôi không thấy bất kỳ kết nối sân khấu ở đây.

Để công bằng, tôi đã nói bằng sự hiểu biết của tôi. Bạn có thể đúng, nhưng ít nhất mọi người đã quen với ý tưởng về diễn viên và chỗ dựa trong bối cảnh đó, điều này cho thấy một lời giải thích hữu ích cho Asker.
Stephan

Tôi cũng sẽ nói rằng thuật ngữ Diễn viên không xuất phát từ việc thuê các nhà văn nhưng nó có thể xuất phát từ mong muốn ban đầu của các nhà phát triển trò chơi để theo đuổi Hollywood. :)
dash-tom-bang
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.