インタラクティブゲーム制作
[プログラミングコース]
2009 年度資料ページ

今年度のページはこちら

ヤバげなバグ修正(for 新2,3年生)

サウンド再生処理の修正(04/05)
こちらのファイルを解凍し、中身をプロジェクトのFKUTフォルダに上書きコピーしてください。
(Audio.hとその他のcppが上書きされるようにコピーします)
長めの効果音を連続して再生した場合に、処理速度が低下したり最悪固まってしまう症状が報告されたので、修正しました。
サウンドを使っている人は全員このファイルで更新することをおすすめします。

現在受けている要望(from 新2年生)

ゲームパッドの入力対応(04/01)
こちらのファイルを解凍し、中身をプロジェクトのFKUTフォルダに上書きコピーしてください。
(SimpleWindow.hとcppが上書きされるようにコピーします)そしてプロジェクトのプロパティを開き、
「構成プロパティ→リンカ→全般→追加のライブラリディレクトリ」に「FKUT\dinput」と記入してください。これで対応します。
現在、私自身がいっぱいいっぱいなので完全無保証です。ある程度のトラブルは自力で解決してやる、という根性がない人はご遠慮ください。
とってつけの対応につき、プログラミングの作法的にもあまりよろしい状態ではないので注意してください。

単純にパッド1つの入力を取りたいだけなら、window.nowInput.〜の後ろにup, down, right, left, button[ボタン番号]とすれば、
ボタンが押されているならtrue、離されているならfalseが返ります。ボタン番号は0から始まります。
if(window.nowInput.up == true) とか if(window.nowInput.button[1] == true) などとします。
1つ前の状態からどう変化したかを知りたい場合は、 window.prevInput.〜で1フレーム前の入力状態が取れるので、
nowInputで取れる情報と合わせて条件判断してください。
これ以外の高度な使い方をしたい場合は、FKUT/Input.hの説明を読んでやってみてください。
window.input.setButtonSwap()のように記述して、設定をいじったり2つめ以降のパッド情報を取ったりできます。
(init()とupdate()はSimpleWindow内で済ませているのでいじる必要はありません)

プロジェクト演習II(1年生後期):授業資料
第 1 回:オリエンテーション (10/7)
第 2 回:はじめての3Dプログラミング・セットアップ編 (10/14)
FK システムトップページ
第 3 回:はじめての3Dプログラミング・3次元的お絵かき編 (10/21)
サンプルプロジェクト
第 4 回:はじめての3Dプログラミング・動かしちゃうぞ編 (10/28)
サンプルプロジェクト
第 5 回:はじめての3Dプログラミング・跳んじゃうぞ編 (11/4)
サンプルプロジェクト
追記済みプログラムソース
リンクを右クリックして「名前を付けて対象を保存」でダウンロードしてください。
ダウンロードしたファイルをプロジェクトのフォルダ(First_1104)に入れ、
Visual Studioでプロジェクトを開いて、ソリューションエクスプローラにドラッグ&ドロップし、
元のmain.cppは右クリックして「プロジェクトから除外」してください。
*main関数は複数存在しているとエラーになります。
第 6 回:はじめての3Dプログラミング・鳴らしちゃうぞ編 (11/11)
サンプルプロジェクト
OpenALインストーラ
第 7 回:企画づくり (11/18:三上先生のターン)
第 8 回:はじめての3Dプログラミング・当たってるよ編 (11/25)
サンプルプロジェクト
第 9 回:企画プレゼンテーション (12/2)
第 10 回:企画プレゼンテーション・続き (12/9)
発表資料提出先(クリックするとフォルダが開きます)
IE以外のブラウザを使っている場合は、以下のアドレスを「コンピュータ」を開いてアドレス欄にコピペして、
ネットワーク上のフォルダを開いてください→ \\163.215.193.96\share\2009\kikaku
第 11 回:はじめての3Dプログラミング・3Dもいいけど2次元もいいよね編 (1/6)
サンプルプロジェクト (↓の最新版を使ってください)
TextImage の利用方法解説ページ
背景に画像を表示するサンプル (1/15)
追加サンプル(2画面ウィンドウ・マウスでのモデル選択・球判定バグ修正・etc.) (2/17)
2画面ウィンドウで、テクスチャ表示を使っている画面に対してピック処理を行うと表示が乱れます。
2画面、テクスチャ、ピック処理、と3つ重ならなければ大丈夫ですので、扱う人は気を付けてください。

プロジェクト演習IV,VI(2,3年生後期):授業資料
第 1 回:オリエンテーション (10/7)
第 2 回:ユーティリティクラス (10/14)
サンプルプロジェクト(某チャロン的な何か)
DirectX SDK March 2008 *ビルドに必要な最低限のファイルのみ (350MB+)
第 3 回:ファイル入出力 (10/21)
サンプルプロジェクト
第 4,5 回:マルチスレッドとネットワーク (10/28,11/04)
サンプルプロジェクト:マルチスレッドサンプル
サンプルプロジェクト:ネットワークホスト&クライアントサンプル
第 6 回:サウンド (11/11)
サンプルプロジェクト
第 7 回:当たり判定・リベンジ (11/25)
各種判定クラスのテスト(12/2 up)
シチュエーションテスト(12/2 up)
第 8 回:小ネタ色々 (12/2)
第 9,10 回:エフェクト (12/9,1/6)
サンプルプロジェクト
追加サンプルプロジェクト
追加資料:行列を使った座標変換について

プロジェクト演習III,V(2,3年生前期)の授業資料
第 1 回:ゲームプログラミング事始め (5/15, 5/22 改訂)
第 2 回:触って遊べる 3DCG プログラム (5/22)
第 3 回:ゲームで使えるC++の基礎 (5/29)
補足資料:オブジェクト指向の考え方 (5/29)
第 4 回:ポインタとクラス化 (6/5)
補足資料:練習プログラムクラス化例 (ZIP圧縮したVisualC++のプロジェクト)
第 5 回:動的メモリ管理・当たり判定の基礎 (6/12)
補足資料:データの格納と参照(STL入門) *渡辺大地先生作成の、研究室勉強会用の資料です
第 6 回:ベクトルと行列の基礎 (6/19) *渡辺大地先生作成の、研究室勉強会用の資料です
第 7 回:三次元幾何要素表現と交差交線計算 (6/26) *渡辺大地先生作成の、研究室勉強会用の資料です
1回休み
第 8 回:状態を制する者はゲームを制す (7/10, 7/14改訂)
不名誉の1回休み
第 9 回:やっぱり2次元もいいよね! (7/24)

お役立ちソース(III以降履修者向け)
フレームレートコントローラ
衝突判定サンプル(6/19 改訂)
モーション再生サンプルを状態管理がしやすいように改良したもの(7/14)
2次元画像利用サンプル(7/24)
ボーン座標系取得サンプル(7/24)

参考資料
FK システムトップページ
FK ユーザーズマニュアル(PDF)
FK リファレンスマニュアル(HTML)
Microsoft Visual Studio 2008 Express Edition トップページ

Game Science Project 勉強会資料ページ

竹内 亮太 (s2rita@nifty.com)