第 4 回:真・ゲームプログラマになる前に覚えておきたい技術

Download Report

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衝突編まで