게임 개발의 배우는 무엇입니까?


15

게임 개발에 관한 책을 읽고 있는데 ( Game Coding Complete, Fourth Edition ), "Actors"라는 주제가 있는데, 그것이 무엇인지 설명하는 대신 간단히 사용하는 방법을 설명합니다.

이 책에서 이러한 배우를 소개하는 방법은 다음과 같습니다.

게임은 세상을 활기차게하는 사물들로 가득합니다. 제 2 차 세계 대전 게임은 탱크와 비행기로 가득 차있을 수 있으며, 미래의 공상 과학 게임에는 로봇과 우주선이있을 수 있습니다. 무대 위의 배우들과 마찬가지로이 오브젝트들은 게임 플레이의 핵심입니다. 우리가 그들을 "게임 배우"라고 부르는 것이 적절 해 보입니다.

게임 액터는 게임 세계에서 단일 엔티티를 나타내는 객체입니다. 탄약 픽업, 탱크, 소파, NPC 또는 생각할 수있는 모든 것이 될 수 있습니다. 어떤 경우에는 세계 자체가 배우 일 수도 있습니다. 게임 액터의 매개 변수를 정의하고 가능한 한 유연하고 재사용 가능한지 확인하는 것이 중요합니다.

게임 액터를 게임처럼 정의하는 방법에는 여러 가지가 있습니다. 컴퓨터 프로그래밍의 다른 모든 것과 마찬가지로 완벽한 솔루션은 거의 없습니다.

나는 아주 소수의 것들만 이해할 수 있었다 : 그것은 행동을 수행 할 수있는 게임의 모든 것의 추상화이다; 그것은 자신의 상태를 가지고 있습니다. 동작은 일반적으로 상태 머신으로 구현됩니다. 이거 야. 게임 개발에 대한 시스템 프로그래밍 배경을 가지고 있으며, 일반적으로 배우 가 게임 개발의 의미, 사용 방법, 일반적으로 사용되는 방법, 해결되는 문제, 방법 및 방법 을 알고 싶습니다. 왜. 나는 아이가 이해할 수있는 설명을 원한다.

나는 구글 에서이 정보를 찾으려고 노력했지만 대신 다른 "배우"에게로 향했다. 대부분의 시간이나 게임 배우를 동시 프로그래밍하지만 좋은 설명이 없다.


@Philipp 책을 추가했습니다. 비록, 거기에 있다 의 아주 간단한 설명 actor하지만 그것으로 만족하고 있지 않다 : 그것은 배우의 발명과 어떤 문제가 해결에 대한 역사적 실제적인 이유를 가지고하지 않습니다, 그냥 할 수있는 일이 설명되어있다.
Victor Polevoy

1
Unreal Engine에서 Actor실제로는 클래스입니다. docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/…
Almo

2
나는 대부분의 엔진이 이것을 "엔티티"또는 "게임 오브젝트"라고 믿습니다. 나는이 문맥에서 "배우"를 들어 본 적이 없다.
user253751

7
인용 된 블록 텍스트는 "배우 란 무엇인가"라는 질문에 대한 답입니다.
Russell Borogove의

좀 더 혼란스럽게 만들기 위해 액터 모델 에는 액터 도 있습니다 .
Brian McCutchon

답변:


40

언급했듯이, 배우는 말 그대로 무엇이든 될 수 있습니다. 나무, NPC, 건물 등. 유사한 용어는 "엔티티"입니다. 전통적인 의미에서 행동을 취할 필요는 없으며 정적 인 것일 수 있습니다.

"게임의 대상"이라고 말하는 방법 일뿐입니다.


2
이건 그냥와 term비슷합니다 entity. 나는 그것이 또한 더 많은 의미를 가지고 있다고 생각했으며, 그것이 동의어보다 더 큰 추상화라고 생각했습니다. 배우가되어야하는 것과 그렇지 않은 것을 말해 줄 수 있습니까? 이것을 선택하기 위해 무엇을 조작해야합니까?
Victor Polevoy

Actor실제로 Unreal Engine의 클래스입니다. 어쨌든 버전 2로 돌아 왔습니다. 따라서 사용중인 엔진에 따라 용어가 아닐 수도 있습니다.
Almo

1
이것은 게임의 모든 것이 배우 인 것처럼 들리므로 그 단어를 쓸모 없게 만듭니다. 게임 상태를 바꿀 수있는 모든 것이 배우라고 말합니다. 그런 다음 배경 이미지 일 경우 나무는 배우가 아니지만 자르고 리소스를 얻을 수 있다면 나무입니다. 반면에 메뉴는 무언가를하지만 배우로 분류하지는 않습니다. 게임 세계의 일부가 아닙니다 (예를 들어, "업그레이드 완료"플래시 게임에서 메뉴는 실제로 게임 세계의 일부입니다).
syntonym

@syntonym 질문에 인용 된 텍스트의 두 번째 단락은 어떤 것도 배우, 심지어 소파가 될 수 있다고 말합니다. 또한 모든 것이 배우가 아니라 입자가 아닙니다.
Bálint

@ Bálint가 흥미롭게도 파티클도 배우라고 생각했습니다. 그들은 업데이트를 똑딱해야하고, 생각해야하고 (물리적) 상태가 있습니다. 안 그래?
Victor Polevoy

13

내 이해에 의하면이 용어는 작가를 고용하여 게임에 대한 이야기를 만드는 데 따른 부작용입니다. 일반적으로 극장이나 스크린에서 나왔기 때문에 용어 Actor및에 익숙합니다 Prop. Actors게임에서 움직여 실제 역할을하는 것, Props나무, 건물 등과 같은 것

대학에서 코딩을 시작한 초기부터 Unity와 같은 엔진을 사용하기 전에 자체 엔진을 코딩해야했습니다. Actor는 변환, 빈 수명주기 함수 및 Act()Unity의 버전 인 이라는 함수를 가진 추상 기본 클래스 였습니다 Update().

기본 게임 루프는 기본적으로 다음과 같습니다.

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

대부분의 엔진은 엔터티 개념을 사용하므로 독서 에서 머리 Actor처럼 번역 Entity하면 괜찮을 것입니다.


+1 기본 클래스의 이름이 필요하다는 사실을 잘 알고 있습니다.
Vaillancourt

2
내 이해에 의하면이 용어는 작가를 고용하여 게임에 대한 이야기를 만드는 데 따른 부작용입니다. 그들은 일반적으로 극장이나 스크린에서 왔기 때문에 배우와 소품이라는 용어에 익숙합니다. {{citation needed}} "배우"라는 용어는 사람들이 게임을 위해 작가를 고용하는 것에 대해 생각하기 훨씬 전에 소프트웨어 디자인에 사용될 정도로 일반적입니다. 비즈니스 개발에 사용 된 UML 등). 사전 (MW)은 다음과 같이 말합니다. Definition of actor: 1 : one that acts : doer; 나는 여기서 어떤 연극 적 연관성을 보지 못한다.

공평하게, 나는 나의 이해에 의해 말했다. 당신은 옳을 지 모르지만 사람들은 적어도 그 맥락에서 배우와 소품에 대해 익숙해 져 있으며, 이는 Asker에게 유용한 설명을 제공합니다.
Stephan

나도 액터라는 용어는 작가를 고용 한 것이 아니라 할리우드를 쫓아 가려는 게임 개발자의 초기 욕구에서 비롯된 것이라고 말할 수 있습니다. :)
dash-tom-bang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.