More Related Content What's hot (20)
Unityでオニオンアーキテクチャ Unityでオニオンアーキテクチャ
torisoup
Unityでオニオンアーキテクチャをやってみたという話です
2019/02/21 Roppongi.unity #1 https://roppongiunity.connpass.com/event/119111/
【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例 【Unite Tokyo 2019】運用中超大規模タイトルにおけるUnityアップデート課題の解決手法と事例
UnityTechnologiesJapan002
2019/9/25-6に開催されたUnite Tokyo 2019の講演スライドです。
秋友 覚(株式会社コロプラ)
山本 康平(株式会社コロプラ)
松浦 章人(株式会社コロプラ)
こんな人におすすめ
・短期~中期(リリース1~2年目)運用タイトルに携わる開発者
・リリース前タイトルの開発に携わるエンジニア
・ビルドパイプラインを構築しているエンジニア
受講者が得られる知見
・移行に伴った必要作業の見積もりの一端
・大量ファイルのビルド環境構築の手法
・運用を長期化できた場合に準備すべきこと
Unityのイベント資料はこちらから:
https://www.slideshare.net/UnityTechnologiesJapan/clipboards
60fpsアクションを実現する秘訣を伝授 解析編 60fpsアクションを実現する秘訣を伝授 解析編
エピック・ゲームズ・ジャパン Epic Games Japan
講演動画:https://youtu.be/YXGmiWzHxeo
基礎編:https://www.slideshare.net/EpicGamesJapan/ue4-festeast2019-60fpsbasic
2019年10月6日に行われた「UNREAL FEST EAST 2019」における「60fpsアクションを実現する秘訣を伝授」の登壇資料です。
●公式サイト
https://unrealengine.jp/unrealfest/
===
発売中のタイトル「NARUTO TO BORUTO シノビストライカー」に開発中のプロジェクトの事例も加えて、60fpsアクションゲームを実現するためのポイントや、パフォーマンス・チューニングについて解説します。おまけとして「NARUTO TO BORUTO シノビストライカー」のグラフィック面の技術を紹介。
オンラインゲームの仕組みと工夫 オンラインゲームの仕組みと工夫
Yuta Imai
オンラインゲームの仕組みや工夫を調べてみたのを社内勉強会で発表した。ときのスライド。の公開用。
オンラインゲームの種別とそれぞれの仕組みについての話と、オープンソースになっているQuakeの仕組みの話、という2つの話が主なトピック
目grepのはなし 目grepのはなし
祥之 山根
身内の勉強会でバイナリを見る話をしたときの発表資料。内容は基本的にmurachueさんの目grep入門 +解説(http://www.slideshare.net/murachue/grep-8132856)を参考に作ってるので、ほぼ同じような内容です。
Similar to Component basedgameenginedesign (20)
猫でもわかるUnreal Engine4 猫でもわかるUnreal Engine4
pafuhana 1213
2014/11/1に行われた第2回 関西Unreal Engine4勉強会の
講演で使用したスライドです。
https://atnd.org/events/57368
pdfファイル
https://www.dropbox.com/s/44mf3o73lbbp3v2/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.pdf?dl=0
pptxファイル+動画ファイルhttps://www.dropbox.com/s/i757bzkeugdzvg0/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.ZIP?dl=0
質問などありましたら、以下の連絡先にお願いします。
twitter: @pafuhana1213
Component basedgameenginedesign 3. はじめに
• 今回の話は 1999 ~ 2003 年付近で議論さ
れていたものです
• 特に新しい話ではありません
• ゲームごとに最適な設計は異なるので、
今回の話が正しい設計ということではあ
りません
12. Entity
• Entity はユニークな ID とコンポーネント
のリストを持つ
→ ユニークな ID はコンポーネント管理クラ
スからコンポーネントを参照するときに
使う
class Entity
{
private:
int32_t id;
std::list<component*> componentList;
}
13. Entity の構築
• コンパイル時ではなく、実行時に Entity の
種類が決まる
auto pPlayer = new Entity();
pPlayer->RegisterComponent(new Human());
pPlayer->RegisterComponent(new Player());
14. Data Driven
• Entity の構築はコードに書かなくても良い
<Entity>
<Name>Player</Name>
<Component>Human</Component>
<Component>Player</Component>
</Entity>
{
“Name”:”Player”,
“Component”:[“Human”,”Player”]
}
28. 実装例
• 処理速度を上げるために、 Update と
Render はコンポーネントにしないパター
ン
→ コンポーネント化は設計論の一つなので
、ゲームごとに最適解は異なるclass Entity
{
public:
void Update(float time);
void Render();
void RegisterComponent(Component* pComponent);
void GetComponent(std::list<Component*> pComponentList);
}
32. まとめ
• Entity を継承ではなく、 has-a にしてコン
ポーネント化する設計もある
• ゲームタイトルごとにデザイン、対象プ
ラットフォーム、開発規模が違うので、
コンポーネント化が常に正しいとは限ら
ない
設計手法の一つとして考慮するのも面白い
と思います
33. 参考文献
• A Data Driven Game Object System(GDC 2002)
• Theory and Practice of Game Object Component Architecture
(GDC Canada 2009)
• Game Engine Architecture
• Game Programming Gems 4: A System for Managing Game
Entities
• Game Programming Gems 5: Component Based Object
Management
• Game Programming Gems 5: A Generic Component Library
• Game Programming Gems 6: Game Object Component System
• MSDN XNA Programming Guide “Application Model Overview”