スライド 1

プロジェクト演習Ⅳ・Ⅵ
インタラクティブゲーム制作
第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衝突編まで