プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作 第4回 真・ゲームプログラマーになる前に覚えておきたい技術
今日の内容 これさえ出来れば優秀なゲームプログラマになれること間違いなし!の極意 間違いないっす、やばいっす
それは… 自分で問題を発見して 解決するための技術 ggrks
半分冗談で、半分本気です 何故ならこの授業の目的は「自律思考可動型電算遊戯構築者育成」だから 全部誰かから教わったことだけでゲームが作れると思ったら大間違いである! でも調べろって言われたって、どう調べればいいのか分からないんだよ! それを今日は伝授します
知識・技術のレイヤーを考える まず、作ろうとしているものにどんな技術が必要かを見定める それを構築するには何を使えばいいのか ライブラリの選定、APIリファレンス参照 どのように組めばいいのか サンプルコード、デザインパターン、設計論 どのように書けばいいのか 言語の文法、概念など
世に出回っている知識の傾向 それを構築するには何を使えばいいのか どのように組めばいいのか どのように書けばいいのか Webや本でもよく転がっている 数には困らないが、質はピンキリ どのように組めばいいのか 一番分かりづらく、伝えにくい部分 授業で重視したいのはここ どのように書けばいいのか 一番の根っこの部分 ここは独学独習を強く推奨
今回のネタ 私のブックマークからゲーム制作技術に関するサイトをピックアップして紹介 一気に全部を理解しようとしなくていい いわゆるRPGで「全部の宝箱を開けないと気が済まない人」は注意してください
C++の文法・概念編 「ロベールのC++教室」 基本的な文法や概念はここでだいたい揃う 1部の内容は必須 2部も網羅しておきたい 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プログラミング講座」 「VC++小手先のテクニック集」 http://toruweb.web.fc2.com/index.html DirectInputはここで学びました 「VC++小手先のテクニック集」 http://www.alpha-net.ne.jp/users2/uk413/vc/index.html Windowsならでは細かい処理や設定など 「猫でもわかるプログラミング」もWindows固有の内容には強いです
OpenGL 「床井研究室」 「WisdomSoft」 http://marina.sys.wakayama-u.ac.jp/~tokoi/ うちの研究室でもお世話になっている人が多い、OpenGLを使ったテクニックと実装例が豊富な優良サイト 「WisdomSoft」 http://wisdom.sakura.ne.jp/ OpenGLだけでなく、Win32やDirectX、C++基礎までも淡々とまとまっていてgood.
アルゴリズム・ゲームデザイン 「地球にやさしいアルゴリズム」 「Gamers Resource」 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クラスの使い方を理解すること 分からなかったら質問すること。質問がない場合はみんな理解したモノとして進めます。 STLのmapクラスの使い方を理解すること いわゆる「連想配列」です。 「マルペケつくろーどっとコム」の以下の記事を一読しておくこと クラス構築編→ちょっと反則だけど最強に使える荒業タスククラスの実装 衝突判定編を3D衝突編まで