ゲーム開発モデルの基礎.

Slides:



Advertisements
Similar presentations
OWL-Sを用いたWebアプリケーションの検査と生成
Advertisements

メタモデル記述を用いた成果物間の依存関係追跡手法
シーケンス図の生成のための実行履歴圧縮手法
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
多入力パルス波高分析システムの開発 環境計測 小栗 康平  京都府立大学 環境情報学科 環境計測 卒論発表会.
Windows HPC Server を使ってみる
コンピュータプラクティス I 再現性 水野嘉明
Chapter11-4(前半) 加藤健.
情報実験:ネットワークコンピューティング入門
2004年度 サマースクール in 稚内 JSFによるWebアプリケーション開発
Webアプリケーション開発の 基本的なポイント
プレゼンテーションソフトを活用しよう PowerPoint 2007の使いかた.
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Ad / Press Release Plan (Draft)
プログラムを「StiLL」で作成します。
.NETフレームワーク3.5インストールのお願い
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
パイプラインパフォーマンス管理 SAP Best Practices.
LMNtalからC言語への変換の設計と実装
電子社会設計論 第11回 Electronic social design theory
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Microsoft Office Project 2007
アプレット (Applet)について.
報告 (2006/9/6) 高橋 慧.
表紙.
稚内北星学園大学 情報メディア学部 助教授 安藤 友晴
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
Visual Studio LightSwitchの概要
Curlの仕組み.
CSP記述によるモデル設計と ツールによる検証
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
第8章 Web技術とセキュリティ   岡本 好未.
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
オペレーティングシステムJ/K (実時間処理システム)
XNA Framework 2.0 SESSION 01.
2017年度 情報技術マップ調査 ITディレクトリの構成とSI要素技術
その他の図 Chapter 7.
XNA Framework 2.0 SESSION 01.
表紙.
オーバレイ構築ツールキットOverlay Weaver
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
.NET Framework 3.0 概要 (旧称 : WinFX)
仕事: SystemVerilogを使いたい
実行時情報に基づく OSカーネルのコンフィグ最小化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
SOA基盤製品 「見る、聞く、体験する SOAノウハウツアー」
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
COM コンポーネント・オブジェクト・モデル.
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
1E17M053-9 奈良皐佑 1E17M070-7 師尾直希 1E17M078-6 渡邊惇
JSFによるWebアプリケーション開発 第3回
とにかくゲーム作ってみよう (0からのゲームプログラミング)
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
JAVAバイトコードにおける データ依存解析手法の提案と実装
.NET Framework 3.5 インストールに関する注意点
オペレーティングシステムⅡ 第10回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴
平成30年度 情報技術マップ調査 ITディレクトリの構成とSI要素技術
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
ゲームのタスクシステム 導入編 レベル2くまー By keychan.
WindowsグラフィックスとDirectX
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
第2回 開発環境とゲーム 05A1030 佐々木 和也.
オントロジーを利用した Webサービスの実行支援に関する研究
強制パススルー機構を用いた VMの安全な帯域外リモート管理
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
タイマを開始するには、[スライド ショー] メニューの [実行] をクリックします。
Presentation transcript:

ゲーム開発モデルの基礎

ゲーム開発モデルは、一般的なアプリケーション開発モデルとは異なる 独特なゲーム開発モデル ゲーム開発モデルは、一般的なアプリケーション開発モデルとは異なる 同じソフトウェアでも、使われ方や求められる内容が大きく異なる エンターテイメント性が強く「正常に動作するプログラム」というだけでは価値とされない プランナー、プロデューサー、デザイナーなど、多くの非開発者が関係する

ユーザーエクスペリエンス ゲーム業界にとっては「何をいまさら」というくらいユーザーエクスペリエンスの概念は常識 ゲーム開発から学ぶこと ユーザーエクスペリエンス ゲーム業界にとっては「何をいまさら」というくらいユーザーエクスペリエンスの概念は常識 業務分野でもXAMLによるUIデザインなど、コードからリソースを分離して分業開発しようという流れになっている WPFなどUXを重視する次世代プラットフォームの深部は、ゲームのデザインに似てきている

イベント駆動 3層モデル 高度な仮想化・抽象化 保守性・ライフサイクルの重視 データソース ビジネスロジック プレゼンテーション 業務アプリケーションの開発モデル イベント駆動 3層モデル データソース ビジネスロジック プレゼンテーション 高度な仮想化・抽象化 保守性・ライフサイクルの重視

ゲームループ(フレーム駆動) プレゼンテーションに特化した1層モデル パフォーマンス重視 部品化と分業化 実行時の不要な変換は避ける ゲームの開発モデル ゲームループ(フレーム駆動) プレゼンテーションに特化した1層モデル 実行時の不要な変換は避ける コンパイル時にデータはすべて変換される 読み込むデータはメモリイメージそのもの パフォーマンス重視 部品化と分業化

柔軟で複雑なプレゼンテーション ハードウェアに依存しないゲーム進行 部品化における責任の移譲 ミサイルのスピードが変化してはいけない ゲーム開発の課題 柔軟で複雑なプレゼンテーション ハードウェアに依存しないゲーム進行 ミサイルのスピードが変化してはいけない タイマを使うと精度によって速度が変わってしまう 部品化における責任の移譲 どのコードが・どこに描画するか ゲームデータの統合的な管理の必要性 ゲームデータの水平分散的な利用

データ更新と描画の繰り返し プレゼンテーション処理の統合 1秒間に30~60回実行 フレーム数や時間の追跡 複雑な処理のパイプライン化 ゲームループ データ更新と描画の繰り返し 1秒間に30~60回実行 フレーム数や時間の追跡 ゲームの進捗制御に必要 ハードウェアの性能に依存しない速度制御 ゲーム時間と実時間の分離 プレゼンテーション処理の統合 複雑な処理のパイプライン化

ゲーム起動 初期化処理                         ゲームループ データ更新 座標計算 あたり判定 通信 入力チェック サウンドの更新 描画 ゲーム終了 リソースの解放

Windowsにおけるゲームループの実装 メッセージループとは分離する 別スレッドでの実装 アイドル時間を利用した実装 メッセージの通知方法 メッセージの処理をバッファに記録 ゲームループからバッファを参照 メッセージループとゲームループは通信しない 必要な場合は同期オブジェクトなどを通す

ゲームループ メッセージループ 入力 バッファ ゲーム更新 入力 フレーム バッファ WM_PAINT 画面にフレームを描画 描画

ゲームで扱うリソース イメージ フォント サウンド ゲームデータ シナリオデータ ステージデータ キャラクターパラメータ Etc…

分業制・水平分散的開発 知的創造を妨げてはならない 絵はグラフィックデザイナーに サウンドはサウンドデザイナーに 声は声優に リソース管理の課題 分業制・水平分散的開発 絵はグラフィックデザイナーに サウンドはサウンドデザイナーに 声は声優に シナリオはシナリオライターに 知的創造を妨げてはならない 開発事情でデザインを制約しない

リソースはコンパイル時処理 実行時のリソース管理を統合 メタデータなど不要な情報を削除する コンパイル時にメモリイメージに変換する リソース管理方法 リソースはコンパイル時処理 メタデータなど不要な情報を削除する コンパイル時にメモリイメージに変換する 実行時はバッファにファイルを読み込むだけ 事前にリソースを処理できるため、仕様変更に強い 暗号化などセキュリティの導入 実行時のリソース管理を統合 リソースの読み込みや解放・管理は一元化する

                    コンパイル時 ファイル 変換機 パラメータ 生成された メモリイメージ              ゲーム実行時 リソース マネージャ ゲーム

ネットワーク・サービスとの結合 業務アプリケーションと同じような3層構造 Game as a Service? 変化する開発モデル ネットワーク・サービスとの結合 Game as a Service? Game + service? 業務アプリケーションと同じような3層構造 サービスとの接続 他のゲームインスタンスとの接続 リモート配置されたデータソース

マネージ・仮想環境上のゲーム 実行環境 Java Flash .NET Framework モバイル ブラウザ PC・専用コンソール プラットフォームの多様化 マネージ・仮想環境上のゲーム Java Flash .NET Framework 実行環境 モバイル ブラウザ PC・専用コンソール

業務アプリケーション開発者とゲーム開発者の交流が重要 まとめ 業務アプリケーション開発者とゲーム開発者の交流が重要 業務ではUXについて参考になることが多い ゲームではSOAやデータベース設計など、業務分野のノウハウを吸収するべき よりオープンなプラットフォーム化が必要 多様化するデバイスへの対応 教育や他業種との連携、参入障壁の排除