第 1 回:(一応)オリエンテーション(的な話)

プロジェクト演習Ⅳ・Ⅵ
インタラクティブゲーム制作
第1回
オリエンテーション
授業方針
• 基本的には前期と一緒
– 皆さんの声を拾い上げて、特定のテーマに
沿った講義と実習を行う
• 制作が具体化、詰めの段階に来ている
– 2年生はチームの企画がさすがに固まる頃
– 3年生は「リベンジ」に向けて
• より突っ込んだ内容を取り扱う
やった内容・積み残した内容
• 3DCG基礎
• C++基礎
– ポインタとクラス
– 動的メモリ管理
• マテリアルとエフェクト
• ベクトル演算の基礎
• 行列演算の基礎
– 交差交線計算
– モデル座標系変換
• カメラコントロール
• 状態遷移管理
•
•
•
•
•
•
•
•
•
当たり判定上級編
乱数とか
エフェクトとか
サウンドとか
ネットワークとか
コマンド入力とか
仕様書とか
スケジュールとか
仕上げの注意とか
• マルチスレッド
• ネットワーク
そろそろ仕様をまとめよう
• 仕様は3段階のレイヤーで考える
– 外部仕様
• マニュアルに書いてあるレベル
– 内部仕様
• 画面の枚数、モードの数
• モーションの細かなフレーム設定など
– 詳細設計
• どういうクラスが必要か
• どういう処理が必要か
外部仕様の要素
• プレイヤーが見ることになる「画面」の
列挙
• 「画面」ごとの操作方法
• 「画面」ごとに表示する内容
• ゲームのルール
• 基本テクニック
• (とりあえず想定できる)応用テクニック
内部仕様の要素
• 「画面」の要素を更に分割する
• 細かなメニューの内容、動作もフォロー
• 必要な「素材」の確定
– 素材の運用に必要な「スペック」の確定
• 画面内に存在するオブジェクトの列挙
– そのオブジェクトが持ちうる状態の列挙
– 状態遷移の管理、遷移条件の図式化など
詳細設計の要素
• 内部仕様を実現するために必要なクラス
構成、機能を検討
• オブジェクト指向を掴んでいると有利
– ただし、それが全てではない
• 現状で実現できること、できないことを
切り分けて整理
– 現状でできることを甘く見積もりすぎない!
– できないことを相談もしないうちからあきら
めない!
ユーティリティクラスの重要性
• 詳細設計を詰める上で必要な機能を
リストアップ
– FKやFKUTを使ってできること
– 組み合わせて便利に使えるもの
– 新たに自分たちで作り出すもの
• 出来るだけクラスとして構成し、自分や
他の人が再利用できるようにしよう
– いいクラス作ってくれたらFKUTに採用させ
てもらいたいなぁ~とか
とりあえず今日は
• 卒研選抜があるため早めに切り上げさせ
てください
• その代わりといっちゃあなんだが、来週
の授業資料を先行公開しておきます
– あらかじめ予習するなり、やっちゃうなりす
るとよいでしょう