ゲーム開発におけるアクターとは何ですか?


15

私はゲーム開発に関する本(Game Coding Complete、Fourth Edition)を読んでいますが、それが何であるかを説明する代わりに簡単にそれらを使用する方法を説明する「俳優」トピックがあります。

本がこれらの俳優を紹介する方法は次のとおりです。

ゲームには、あなたの世界を生き生きとさせるオブジェクトがたくさんあります。第二次世界大戦のゲームは戦車と飛行機でいっぱいかもしれませんが、未来の空想科学ゲームにはロボットと宇宙船があります。ステージ上の俳優のように、これらのオブジェクトはゲームプレイの中心にあります。私たちが彼らを「ゲームアクター」と呼ぶのは適切なようです。

ゲームアクターは、ゲームワールドの単一のエンティティを表すオブジェクトです。弾薬箱、戦車、カウチ、NPC、またはあなたが思いつくものなら何でもかまいません。場合によっては、世界自体が俳優になることさえあります。ゲームアクターのパラメーターを定義し、できるだけ柔軟で再利用できるようにすることが重要です。

ゲームアクターを定義する方法は、ゲームと同じ数だけあります。コンピュータプログラミングの他のすべてと同様に、完璧なソリューションはめったにありません。

ほんの少ししか理解できませんでした。アクションを実行できるのはゲーム内のすべての抽象化です。独自の状態です。通常、その動作はステートマシンとして実装されます。これだよ。私はゲーム開発のシステムプログラミングのバックグラウンドを持っているので、ゲーム開発における俳優の意味、使用方法、一般的な使用方法、解決する問題、方法、なぜ。子供が理解できるような説明をお願いします。

私はグーグルでこの情報を見つけようとしましたが、代わりに別の「俳優」に向かいます:ほとんどの場合、並行プログラミングまたはゲーム俳優ですが、それについての十分な説明はありません。


@Philipp私は本を追加しました。けれどもが、そこにあるいくつかの非常に簡単な説明actorが、私はそれで満足していない:それは俳優の発明とどのような問題、それは解決のための任意の歴史や実際的な理由を持っていない、ちょうどそれができるかが説明しています。
ビクターポールボイ

1
アンリアルエンジンでは、an Actorは実際にはクラスです。docs.unrealengine.com/latest/INT/Programming/UnrealArchitecture/...
アルモ

2
ほとんどのエンジンはこれらの「エンティティ」または「ゲームオブジェクト」と呼んでいると思います。この文脈で「俳優」を聞いたことがありません。
user253751

7
引用されたブロックテキストは、「俳優とは何か」という質問に対する答えとして、あなたが得ようとしているのと同じくらい良いものです。
ラッセルボロゴーブ

物事をより混乱させるために、アクターモデルにもアクターがありますが、これは明らかに異なっています。
ブライアンマックラッチン

回答:


40

あなたが言ったように、俳優は文字通り何でもかまいません。木、NPC、建物など。同様の用語は「エンティティ」です。伝統的な意味での振る舞いを持つ必要はなく、静的なものでもかまいません。

これは単に「ゲーム内のオブジェクト」と言う方法です。


2
これはにterm似ていますがentity、大丈夫です。私はそれが何かの意味も持っていると思った、それは単なる同義語よりも大きな抽象化だと思った。また、何が俳優であり、何がそうでないかを教えてもらえますか?これを選択するには何を操作する必要がありますか?
ビクターポールボイ

Actor実際には、Unreal Engineのクラスです。まあ、とにかくバージョン2に戻っていたので、使用しているエンジンによっては単なる用語ではないかもしれません。
アルモ

1
This sounds like everything in a game is an actor, which would make that word useless. I would say everything that can change the gamestate is an actor. Then a tree is not an actor if it is only a background image, but if you can chop it down and gain ressources, it is. Menus on the other hand do something, but I would not classify them as actors, they are not part of the game world (mostly, e.g. in the "upgrade completed" flash game the menus are actually part of the game world).
syntonym

@syntonym質問の引用されたテキストの2番目の段落は、何でも俳優、ソファであってもよいと述べています。また、すべてがアクターであるわけではなく、たとえばパーティクルはそうではありません。
Bálint

@Bálint interesting, I have thought particles are actors too. They have to tick on update, they have to think (physics), they have a state. Is not it?
Victor Polevoy

13

私の理解では、この用語は、ゲームのストーリーを作るために作家を雇うことの副作用です。彼らは通常劇場またはスクリーンから来ているので、彼らは用語Actorとに慣れていPropます。 Actorsゲーム内で動き、実際の役割を果たすPropsものであること、木や建物などのことです。

大学でコーディングを始めた頃から、Unityのようなエンジンを使用することを許可される前に、独自のエンジンをコーディングする必要がありました。Actorは、変換、空のライフサイクル関数、Act()Unityのバージョンであると呼ばれる関数を持つ抽象基本クラスでしたUpdate()

メインのゲームループは基本的に次のとおりです。

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

ほとんどのエンジンはエンティティの概念を使用しているので、読んだことから、頭のActorようEntityに翻訳すれば大丈夫です。


+1基本クラスの名前が必要なことを示しているのが気に入っています。
クール

2
私の理解では、この用語は、ゲームのストーリーを作るために作家を雇うことの副作用です。彼らは通常、劇場やスクリーンから来ているので、俳優とプロップという用語に慣れています。 {{citation needed}}「俳優」という用語は、ゲームの作家を雇うことを考える前にソフトウェア設計で使用されるのに十分な一般的です(また、 UMLなど、ビジネス開発に使用されたもの)。辞書(MW)はこう言っています:Definition of actor: 1 : one that acts : doer; ここで演劇的なつながりを見ることはできません。

公平を期すために、私は自分の理解で言いました。あなたは正しいかもしれませんが、人々は少なくともその文脈で俳優と小道具のアイデアに慣れており、それはAskerに有用な説明を与えます。
ステファン

私も、俳優という用語は作家を雇うことから来るのではなく、ハリウッドを追いかけるというゲーム開発者の初期の欲求から来るのではないでしょうか。:)
ダッシュトムバング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.