Transcript 第 4 回:真・ゲームプログラマになる前に覚えておきたい技術
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作 第4回 真・ゲームプログラマーになる前に覚え ておきたい技術
今日の内容
• これさえ出来れば優秀なゲームプログラマに なれること間違いなし!の極意 • 間違いないっす、やばいっす
それは…
自分で問題を発見して 解決するための技術
ggrks
半分冗談で、半分本気です
• 何故ならこの授業の目的は「自律思考可動 型電算遊戯構築者育成」だから – 全部誰かから教わったことだけでゲームが作れ ると思ったら大間違いである! • でも調べろって言われたって、どう調べれば いいのか分からないんだよ! – それを今日は伝授します
知識・技術のレイヤーを考える
• まず、作ろうとしているものにどんな技術が必要 かを見定める • • • それを構築するには何を使えばいいのか – ライブラリの選定、APIリファレンス参照 どのように組めばいいのか – サンプルコード、デザインパターン、設計論 どのように書けばいいのか – 言語の文法、概念など
世に出回っている知識の傾向
• • • それを構築するには何を使えばいいのか – – Webや本でもよく転がっている 数には困らないが、質はピンキリ どのように組めばいいのか – – 一番分かりづらく、伝えにくい部分 授業で重視したいのはここ どのように書けばいいのか – – 一番の根っこの部分 ここは独学独習を強く推奨
今回のネタ
• 私のブックマークからゲーム制作技術に関す るサイトをピックアップして紹介 • 一気に全部を理解しようとしなくていい – いわゆるRPGで「全部の宝箱を開けないと気が済 まない人」は注意してください
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の実装時にはお世話になった
もう一度注意
• • • 「RPGで全部の宝箱を開けないと気が済まな い人」は気をつけること! 最初から全部のアイテム、全部の魔法が使 えるゲームはそうそうない – あったらあったでどういうゲームデザインか気に なりますが 最低限の言語基礎力があれば、後は必要に 応じて参照すればどうとでもなる!
今日の課題
• • • 「ロベールのC++教室」の内容を2部まで理解す ること(テンプレートは除く) – 分からなかったら質問すること。質問がない場合は みんな理解したモノとして進めます。 STLのmapクラスの使い方を理解すること – いわゆる「連想配列」です。 「マルペケつくろーどっとコム」の以下の記事を一 読しておくこと – クラス構築編→ちょっと反則だけど最強に使える荒 業タスククラスの実装 – 衝突判定編を3D衝突編まで