プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース 第1回 オリエンテーション
今日のお話 2年生向けガイダンス 3年生向けガイダンス 今後のスケジュール コードレビューの進め方
2年生が今期やるべきこと 前年度後期で作品を作ったり、 作りかけたり、挫折したりした 今期はより効率的に、大規模な プログラムを構築する手法を学ぶ
基礎演習でも言いましたが 「建築の基礎を知らなくても犬小屋は作れます。ですが家は作れません」 皆さんが最終的に作るのは「家」です。 今回の作品群は「犬小屋」の域を超えてるものも多いですが
昨年度の授業は 「出来ること重視」 こう書けばこんなことが起きるよ~ というエサで釣った授業でした。 しかし、それだけでは苦しくなってきたのを皆さん感じたことと思います。 今期からは「先を見越して地力を付ける」ことを重視します。 地味に感じる内容が多いかもしれません。
簡易コードレビュー すごい書き方しているコードを紹介 「もっと効率いい書き方あるなら先に教えろよ!」と思ったかもしれません 敢えて教えませんでした 初めて学ぶことに対して最初から効率を追求するのはナンセンスです 教えたところで身につきません まずは非効率的でも動くものを作り、 その上で効率化の手法を学ぶ
覚えて欲しい内容 C++の基礎 配列 関数 クラス化 ファイル分割 動的メモリ管理 teki1, teki2, teki3…とかやめましょう main()が7600行とか拷問です クラス化 使い回し、開発の分担、あらゆる面で大活躍 ファイル分割 クラス化とあわせて覚えたい 動的メモリ管理 その場でデータを読み込んで動作させるための方法
覚えたいであろう内容 位置関係や向きに関する判定 より高度な当たり判定 FKUTの解説と基本設計 エフェクト ベクトルと行列の基礎 提供ライブラリも拡張していきたいですね FKUTの解説と基本設計 C++の基礎を固めた上で触れます エフェクト 最後の方で扱います
前期の進め方 配付資料による講義と課題による学習 学期末時点での制作物および仕様書に よる評価 前年度の作品を改良するもよし 自分で小規模の実験作品を作るもよし オブジェクト指向プログラミングの 内容と重なる部分が多々あります 履修者はしっかりと、それ以外の人でも できるだけ選択科目としての履修を推奨
3年生が今期やるべきこと 作ること 他になんかある?
そのためには 仕様の確定 技術的課題の列挙、整理、クリア 開発スケジュールの管理 GW明けに確定してないと死亡フラグ 無理はともかく、無茶はするな
外部仕様 (機能仕様書 etc) いわゆるマニュアルに相当するもの UI(ユーザーインターフェース)主体 プログラムの知識が無い人にもわかる内容 UI(ユーザーインターフェース)主体 どのような画面モードがあるのか 画面上の項目の説明、操作方法 画像とか載せておくと良いかも プロデューシングの発表がベースになる …はずだよな?
内部仕様 (詳細仕様書、設計書 etc) プログラムの詳細設計書 プログラムの内部動作についてまとめる 開発者向けの内容 開発環境(条件)、クラス仕様、構成、アルゴリズム等の説明 プログラムの内部動作についてまとめる これとソースコードがあればプログラムの中身が全部わかる、というくらいに 必要に応じてコンポーネント図やフローチャート等も書く
敵はどこだ!? 内部仕様をまとめたら、解決するべき問題点を列挙する やればすぐ解決する問題 時間をかければ解決する問題 すぐやっちゃいましょう 時間をかければ解決する問題 早めに手を付けましょう 時間をかけても解決しない (でも判明すれば瞬殺できる)問題 早めに相談しましょう 本気でどうしようもない問題 どうしましょう
スケジューリング 使える作業時間と、解決するべき課題の所要時間を算出 半月単位でやるべきことをリストアップ くれぐれも学業に支障の無いように! 解決所要時間も甘く見積もりすぎないこと 半月単位でやるべきことをリストアップ 遅れが生じたり、問題が起きたら即相談 前倒しで予定を立てて、トラブルが起きたらリスケできる余裕を作る
前期の進め方 毎週の講座と設定した課題による評価 学期末時点での制作物および仕様書に よる評価 3年生チームは1回コードレビューを 受けることを強く推奨します XNAやDXライブラリでもいいですよ
コードレビューの進め方 事前に現時点でのプロジェクトと 内部仕様書を提出 3週に1回程度コードレビューの週を作り、 そこで私がずんばらりと斬ります なるべく早い方が幸せだと思います
スケジュール(予定) 4/21:本日 4/28:2年 5/12:3年CR 5/19:2年 5/26:3年CR 6/2:2年 6/9:3年CR 6/16: 6/23: 6/30: 7/7: 7/14: 7/21:
開発環境について 言語:C++ ライブラリ:FK ToolKit System 基盤API:OpenGL, OpenAL IDE(開発環境):Visual Studio 2008 2005はサポートを打ち切ります 2010は学内でインストールできるようになり次第サポートします