180 likes | 318 Views
プロジェクト演習 Ⅳ ・ Ⅵ インタラクティブゲーム制作. 第 4 回 真・ゲームプログラマーになる前に覚えておきたい技術. 今日の内容. これさえ出来れば優秀なゲームプログラマになれること間違いなし!の極意 間違いない っす、やばいっす. それは …. 自分で問題を発見して 解決するための技術 ggrks. 半分冗談で、半分本気です. 何故ならこの授業の目的は「自律思考可動型電算遊戯構築者育成」だから 全部誰かから教わったことだけでゲームが作れると思ったら大間違いである! でも調べ ろって 言われたって、どう調べればいいのか分からないんだよ!
E N D
プロジェクト演習Ⅳ・Ⅵインタラクティブゲーム制作プロジェクト演習Ⅳ・Ⅵインタラクティブゲーム制作 第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/ • タイトルの通りの危険性。なんで一緒にするんだよ。。。 • OggVorbisの実装時にはお世話になった
もう一度注意 • 「RPGで全部の宝箱を開けないと気が済まない人」は気をつけること! • 最初から全部のアイテム、全部の魔法が使えるゲームはそうそうない • あったらあったでどういうゲームデザインか気になりますが • 最低限の言語基礎力があれば、後は必要に応じて参照すればどうとでもなる!
今日の課題 • 「ロベールのC++教室」の内容を2部まで理解すること(テンプレートは除く) • 分からなかったら質問すること。質問がない場合はみんな理解したモノとして進めます。 • STLのmapクラスの使い方を理解すること • いわゆる「連想配列」です。 • 「マルペケつくろーどっとコム」の以下の記事を一読しておくこと • クラス構築編→ちょっと反則だけど最強に使える荒業タスククラスの実装 • 衝突判定編を3D衝突編まで