プロジェクト演習 インタラクティブゲーム制作 プログラミング

プロジェクト演習III,V
<インタラクティブ・ゲーム制作>
プログラミングコース
第11回
3年生へのアドバイス
2年生へのプレゼント
今日の内容
• 3年生へ
– TGS直前でのアドバイス
• 2年生へ
– プレゼント
TGS直前でのアドバイス
• ε(
v ゚ω゚)<僕が山積みだよ!
– 口うるさく言うが、ε(
v ゚ω゚)を
リスト化すること
– 文字情報にして整理されているものは、
とにかくこれを潰せばいい!と認識できる
– 文字情報にせず、あれもしないとこれも
しないと……と思い悩む状況は確実に病む!
– ε(
v ゚ω゚)<僕をおうちに帰すと
思って楽しくやろうね!
• うるせーバカ!
皆さんはTGSでの出し物を
作っています!
• プレイヤーがどう思うかが第一です
– 自分たちのこだわりは捨てねばならない時も
あるので、その覚悟は持とう
• 出展までに色々言われることでしょう
– こんなんゲームじゃねぇだの、プレイヤーは
そっぽを向くだの
– ですが、この段階になるとそういった意見を
拾い上げた方が遊んでもらいやすくなります
– 全部は直しきれないので、優先順位を見誤ら
ないように!
ε(
v ゚ω゚)の優先順位
• 正直今まで企画発表してきたことが100%
出来ているところはないだろう
• これから先はそれを100%にするよりも
重要度が高くなる項目が出てくる
それが、ユーザビリティ
(ゲームバランスとか以前の問題)
ユーザビリティを高めるには
• プレイヤーに親切であること
• Q「人間余裕の無い時に他人に親切にでき
るものでしょうか?」
• A「まず無理でしょうね」
• 余裕のあるうちに操作周りの不親切さを
解消しておこう!
1人でも多くのプレイヤーに
少しでも楽しい体験を
• 開発は会場でもできる!
– …Unrealだと厳しいか?
• 修正→筐体へ反映、の流れをミスせずに
迅速にできるようになっておくこと!
– 昨年度はメモリリークなどのバグが発覚して
修正必須に追い込まれたところもあるので
バッカお前…俺がついてるだろ!
• 自力で何かを成し遂げるというのは、
如何に周囲の人たちの力を借りられるか、
でもあるのだぜ!
– 基本的に8月中もオンライン・オフライン
問わず質問・相談受け付けます
その他の格言
• 「転ばぬ先のバックアップ」
– 対になる格言として
「バックアップ、したい時にはデータ無し」
• 「一番いけないのはお腹が空いている
ことと一人でいることだから」
– みんなで集まってわいわいとやりましょう
– ちゃんとメシは喰って、寝るんだぞ
2年生へのプレゼント
• それは……
\夏休みの~/
\宿題です/
これまでの授業で出た課題(1)
• スタックとヒープの違い、
扱い方について述べよ
– 書式は自由
• プラグちゃんの機体がキー操作などに
よって動的に増減する処理を実現せよ
• マップデータに応じてステージを
構成する処理を実現せよ
これまでの授業で出た課題(2)
• 一定距離内に一定の角度で近づいた場合、
プレイヤーモデル(キー操作可能なモデル)
を追跡してくる動きを実現せよ
• 上下左右キーによる移動方向がカメラの
向きと連動する処理を実現せよ
– 外積が必要
以下のPDFに含まれている問題
• ベクトルと行列の基礎
• 三次元幾何要素表現と交差交線計算
• データの格納と参照 (STL 入門)
• モデル座標系と行列による変換
今回新たに提示する課題
• 現時点でのプロトタイプ、またはゲームフ
レームワークを制作し、提出せよ
– 出来るだけオブジェクト指向に設計すること
• 継承は使ってもいいし、使わなくてもいい
– FK以外の開発環境でも可
– プロジェクトに加えて、操作説明や(フレーム
ワークの場合は)開発の進め方をドキュメントに
まとめて添付すること
– 複数人で協力しても可
• その場合は協力した人は同じ物を提出してよい
• 協力したメンバー一覧をドキュメントに記述する
課題に取り組むに
あたってのルール
• 出来る範囲でいいです
– 全部はさすがに厳しかろう
• 質問大歓迎
– 授業回数少ないのでむしろしないときつい
• 提出期限は 8/17(金) 23:59
– Assitによる提出
• 追加資料やサンプルを足していきます
– プロ演のサイトは外部からでもアクセス可!
外部参考資料
• 以降のスライドに自学自習する際に
有用なサイトへのリンクを列挙します
• 課題と、後期以降の授業についていく
ためにも積極的に利用してください
C++の文法・概念編
• 「ロベールのC++教室」
– http://www7b.biglobe.ne.jp/robe/cpphtml/
– 基本的な文法や概念はここでだいたい揃う
– 1部の内容は必須
– 2部も網羅しておきたい
• テンプレートに関しては後回しでもよい
• 4部でSTLの使い方だけ触れているのでそちらを
STLの使い方
• 「C++ STL」でググれ!
– いつもvector配列をメインに使っているが、
それ以外にも便利なものが色々ある
– 私も使い方をど忘れしたときはよく調べます
– うちの研究室の資料もどうぞ
• http://www.teu.ac.jp/aqua/GS/text/PDF/Container.pdf
その他言語の基本系
• 「C++クラス設計に関するノート」
– http://www.ogis-ri.co.jp/otc/hiroba/technical/CppDesignNote/
– 文法について理解できたら是非
• ロベールが合わなかった人向け
– 「目指せプログラマー!」
• http://www5c.biglobe.ne.jp/~ecb/cpp/cpp00.html
– 「猫でもわかるプログラミング」
• http://homepage2.nifty.com/c_lang/
今日の大本命
• 「マルペケつくろーどっとコム」
– http://marupeke296.com/
– このサイトがあれば私は要らない!かも
– C++文法の基礎知識は”前提”になっている
– 要素技術と、そのサンプル、設計論にまで踏
み込んでいるので非常に有用
– 著者のレベルアップにより、内容がどんどん
高度で複雑になっているので注意
要素技術のフォローアップ
• アニメーションの原理、3次元回転概論
– 「TMPSwiki」
• http://www.tmps.org/index.php?TMPSwiki
• 「3D空間における回転の表現形式」は必読!
• ネットワーク通信
– 「Geekなぺーじ –winsockプログラミング」
• http://www.geekpage.jp/programming/winsock/
• 私が通信処理を学んだのはここ
Windows API系
• 「ToruのDirectXプログラミング講座」
– http://toruweb.web.fc2.com/index.html
– DirectInputはここで学びました
• 「VC++小手先のテクニック集」
– http://www.alpha-net.ne.jp/users2/uk413/vc/index.html
– Windowsならでは細かい処理や設定など
• 「猫でもわかるプログラミング」も
Windows固有の内容には強いです
OpenGL
• 「床井研究室」
– http://marina.sys.wakayama-u.ac.jp/~tokoi/
– うちの研究室でもお世話になっている人が多
い、OpenGLを使ったテクニックと実装例が
豊富な優良サイト
• 「WisdomSoft」
– http://wisdom.sakura.ne.jp/
– OpenGLだけでなく、Win32やDirectX、
C++基礎までも淡々とまとまっていてgood.
アルゴリズム・ゲームデザイン
• 「地球にやさしいアルゴリズム」
–
http://itpro.nikkeibp.co.jp/article/COLUMN/20070109/258278/?ST=develop
– 言語の文法は分かるけど、使いこなしがイマ
イチ…という人のトレーニングにおすすめ
• 「Gamers Resource」
– http://iwatam-server.sakura.ne.jp/game/index.html
– ゲームデザインについての考察。プログラ
マーもたまには読んでおくと良いやも
場合によっては毒
• 「BM98’S ROOMつう」
– http://www.sun-inet.or.jp/~yaneurao/
– 毒にも薬にもなるサイト。閲覧時は要注意
• 「エロゲプレイ日記」
– http://drednote.blog92.fc2.com/
– タイトルの通りの危険性。なんで一緒にする
んだよ。。。
– Ogg Vorbisの実装時にはお世話になった