推薦図書/必読書のためのスレッド in ゲ製作技術 4
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/02/15(日) 16:17:17ID:1D3XRObNhttp://pc11.2ch.net/test/read.cgi/gamedev/1206381315/
推薦図書/必読書のためのスレッド in ゲ製作技術2
http://pc11.2ch.net/test/read.cgi/gamedev/1136546780/
推薦図書/必読書のためのスレッド in ゲ製作技術
http://pc8.2ch.net/test/read.cgi/gamedev/1086023829/
■ゲーム製作に役立った本・雑誌
http://pc5.2ch.net/gamedev/kako/1005/10050/1005061185.html
推薦図書/必読書のためのスレッドinゲ製作技術まとめ
ttp://gamdev.org/w/?%5B%5B%BF%E4%C1%A6%BF%DE%BD%F1%2F%C9%AC%C6%C9%BD%F1%A4%CE%A4%BF%A4%E1%A4%CE%A5%B9%A5%EC%A5%C3%A5%C9in%A5%B2%C0%BD%BA%EE%B5%BB%BD%D1%5D%5D
0701名前は開発中のものです。
2009/07/30(木) 14:37:25ID:NXWavbDM”基本的な事”から今度は”実践に生かせる”ときたか
お前様がどんな企業のどんな部署に配属されるか知らないのに
”実践に”なんて分かるか、禿
とりあえず、自己啓発系の本か>>2でも読んでろ
0702名前は開発中のものです。
2009/07/30(木) 20:16:32ID:PhHgDYJz個人的には、デバック周りの本と、subversion(今後なら、mercurial当りかな?)
とかのバージョン管理系は入る前に読んで。と思った。
あと、基本的なPC知識(OSが何をやって、メモリとは?バスとは?GPUとは?とか)は
ちゃんとおさらいして欲しい。
あとはあんまOpenGLは知らんでも良いとおもうな。
概念的な所とかはともかく、実際にはどっかのライブラリーか
自社ライブラリーを叩くのが新人で、
根本を弄くってなんとかするのはもっと経験積んだ人の仕事になりがちだし。
それよりかは、その辺のコード(非ゲームで十分)を沢山読んでおいて欲しい。
それと、数学が苦手は言訳にならないよ。
チャート式でもいいから買ってきて、最低限高校Lvはモノにしておくこと。
ちゃんとしたベクトルとか、その他本格的な数学は一人じゃ歯が経たない事はあっても、
高校Lvの数学は独学で十分なんとかなるんだし。
0703名前は開発中のものです。
2009/07/31(金) 00:57:26ID:Et80HlK+0704名前は開発中のものです。
2009/07/31(金) 09:10:59ID:Am5sq6bL0705名前は開発中のものです。
2009/07/31(金) 09:51:07ID:BeoHjFw7本から得た基礎知識に実務経験を積んで実践的なものを得ていくんだろ。
EffectiveC++だってGemsだってそれ単体で実践的な何かが書いてあるわけじゃない。
0706名前は開発中のものです。
2009/08/12(水) 11:25:16ID:YBiXdQB70707名前は開発中のものです。
2009/08/12(水) 12:47:11ID:3tdXe5WR0708名前は開発中のものです。
2009/08/12(水) 15:55:15ID:YBiXdQB70709名前は開発中のものです。
2009/08/12(水) 20:46:37ID:t/TOyu7Iモーション付き3DモデルをXファイルで読み込んで、動かすまでを解説してある。
DirectXでモデルを読み込む方法を知ることが出来る、
半分くらいがXファイル読み込みとモデル再生で、格闘部分は少ない。
全体的に説明もさらっと流して あまり詳しくない。
ページ数326、CD付き
0710名前は開発中のものです。
2009/08/12(水) 20:56:10ID:YBiXdQB7その本読んだら
Xファイルの読み込みが独自だったんですけど
これが一般的な方法なんでしょうか?
skinnedmeshのサンプルではライブラリで
読み込んでやってるみたいなんですが
0711名前は開発中のものです。
2009/08/12(水) 21:33:49ID:gyYxJrA3なんでわざわざパーサーからつくらんとあかんのよ。
0712名前は開発中のものです。
2009/08/14(金) 10:48:33ID:jvLkj7aF書かれている「クラス定義をヘッダに書く慣習がある理由は
複数のcppから見るからにほかならず単一のcppからしか見ない
場合はその理由は無くなる」の意味が良く分からないんですが
誰か教えてくれませんか?
ここでいう「クラス定義をヘッダに書く」ってのはクラスのメンバ
関数の定義までヘッダに書くって意味ですよね?
そうすると複数のcppから見るのに都合のいいことがあるんでしょうか?
0713名前は開発中のものです。
2009/08/14(金) 11:27:01ID:hfqlofkbテンプレートとインライン展開以外でヘッダーファイルに定義を書かなければならないor
書いた方がいい理由は存在しない。
”ところで、cpp内にクラス定義を書くことに抵抗を感じるかもしれない”と書かれているので、
セガでは何でもかんでもヘッダーに書くのがデフォルトなのかもしれないが、いい習慣ではない。
0714名前は開発中のものです。
2009/08/14(金) 12:46:30ID:VU+zOlln>関数の定義までヘッダに書くって意味ですよね?
の部分が間違ってる。
クラス定義っていうのは構造体の定義と同様に、
クラスに含まれるメンバとメンバ関数の宣言が書かれる部分のこと。
C++ではよく定義は宣言を兼ねるけど、この場合メンバ関数の定義とは関係ない。
クラス定義がヘッダに無かったら他のcppファイルからは
そのクラスをvoidポインタとしてくらいしか扱えないわけで、都合が良い悪い以前の問題だよね。
ローカルに使われるクラスの定義は別のファイルに分ける必要が無い、
っていうのはそんなに珍しい話じゃないんじゃないかね?
0715712
2009/08/14(金) 13:42:41ID:k2fwC7uCありがとうこざいます
0716名前は開発中のものです。
2009/08/14(金) 21:21:15ID:t2stfLyPそこはSEGAだろう。
JK
0717名前は開発中のものです。
2009/08/15(土) 09:02:28ID:G5SdUnql変じゃないですか?
たとえばa.cppとb.cppがあって、それぞれにclass Aがあったとしても
別なクラス扱いで、a.cpp内のclass Aとb.cpp内のclass Aがまったく
違ったものでも普通にコンパイルできますよね?
でも「ヘッダにクラス定義を書いて複数のcppから読み込む。
ヘッダのメンバ関数は他のcppで定義」ってやりかただと
クラスは別物扱いのはずなのにその中のメンバ関数は
同じもの扱い? になってませんか?
それ以前に以下のようなプログラムが普通にコンパイルされるのは
明らかにおかしい気がするんですが…
0718717
2009/08/15(土) 09:03:18ID:G5SdUnql#include <iostream>
using namespace std;
class A{
void func(int a);
};
A fun();
int main(){
A ob;
ob = fun();
return 0;
}
b.cpp
class A{
public:
void ahya(int b);
int a;
int cici(int b);
};
A fun(){
A ob;
ob.a = 1;
return ob;
}
これってmain()内のobには何が入ってるんでしょうか?
0719名前は開発中のものです。
2009/08/15(土) 09:09:48ID:FLgf6yWy0720717
2009/08/15(土) 11:37:30ID:G5SdUnql定義はb.cppに書いてありますが、Aっていう型は
a.cppとb.cppでまったく別なものなのに動くのは
おかしくないですか?
0721名前は開発中のものです。
2009/08/15(土) 11:58:42ID:xmBegnxf0722名前は開発中のものです。
2009/08/15(土) 12:33:15ID:bniN4FJh>>718はコンパイル・リンク時の検査を通過しているが非合法。
クラスや構造体の大きさが違うとスタック異常が起こることもある。
要するにC, C++では
グローバルな変数や関数やクラスの宣言を
プログラマの責任で一致させる必要がある。
それを守らなければ暴走しても知らん、という方針なんだよ。
0723暴走サンプル
2009/08/15(土) 12:35:41ID:bniN4FJh#include <stdio.h>
struct A {
int i;
};
extern struct A test();
int main() {
struct A a = test();
printf("%d\n", a.i);
return 0;
}
------ test.c --------
struct A {
int i;
int j;
};
struct A test() {
struct A a;
a.i = 0;
a.j = 1;
return a;
}
0724名前は開発中のものです。
2009/08/15(土) 12:44:16ID:MWM1GoRZ0725名前は開発中のものです。
2009/08/15(土) 21:07:36ID:/T5o3l5tつ 『無名ネームスペース』
0726名前は開発中のものです。
2009/08/15(土) 21:16:13ID:FLgf6yWy紛らわしいコトしないでシンプルに行こうyo
0727名前は開発中のものです。
2009/08/21(金) 10:13:19ID:FnN6vuydセガの人の本を読むだけで可能なんでしょうか?
0728名前は開発中のものです。
2009/08/21(金) 12:38:51ID:JJqXCuQc消極的な人には無理でしょう
0729名前は開発中のものです。
2009/08/21(金) 16:57:04ID:xHxao0np0730名前は開発中のものです。
2009/08/21(金) 18:02:32ID:F+GgPSDy>セガの人の本を読むだけで可能なんでしょうか?
ひらしょう本を理解すれば3Dゲームを作れるだろう、
ただ、この本はゲームプログラマーの為の基礎を身に付ける為の本だから
余分な事も多いし、不足する部分も多い。ひとつの基準として良いと思う。
本を読むときに、あなたの技術レベルに似合った本を選ばなければ無意味になる
難しすぎても簡単すぎてもよくない。だから、あなたの技術レベルを知らないから最適な本を推薦できない。
0731名前は開発中のものです。
2009/08/22(土) 08:43:24ID:mYYGbF+u0732名前は開発中のものです。
2009/08/22(土) 10:29:57ID:uAcmRt2C0733名前は開発中のものです。
2009/08/22(土) 11:45:46ID:jlkKrjDW3Dやるなら
英語、数学、物理 を必要とする。
特に数学が主要部分を占めるから高等数学まで必要になる。
もし学生諸君であれば、英語、数学、物理を力いっぱい勉強しなさい。
0734名前は開発中のものです。
2009/08/22(土) 19:34:30ID:UJPlGrDF簡単すぎワラタ
0735名前は開発中のものです。
2009/08/22(土) 19:41:07ID:PziF5/tU0736名前は開発中のものです。
2009/08/22(土) 20:32:38ID:qTaZcYT6大学で研究するレベルがほしいけどな。
いずれにしろ一番難儀なのが英会話。
普通にビジネスレベルの英会話を習得するのが一番苦労する。
0737名前は開発中のものです。
2009/08/22(土) 23:40:38ID:GwXOe4M4ってか、使用目的を教えもしないで公式だけ覚えても無意味だよな
0738名前は開発中のものです。
2009/08/22(土) 23:48:15ID:C3PmLLaq数学をツールとして使うだけだから厳密な証明なんか出来る必要無いし。
0739名前は開発中のものです。
2009/08/23(日) 13:26:48ID:dcZWL0fwまだ数学の方が楽に感じるわ・・・
0740名前は開発中のものです。
2009/08/23(日) 14:49:09ID:YDjKOuOO0741名前は開発中のものです。
2009/08/23(日) 16:37:17ID:j81uImd1一番やばいのはネイティブの発音を聞けて
通じるように喋れるかどうか。
0742名前は開発中のものです。
2009/08/23(日) 17:12:00ID:Tunz/wRV>使用目的を教えもしないで公式だけ覚えても無意味だよな
昔の数学の偉い人は数学に実利を求めた弟子を破門にしたそうな
そういう人たちは、ひたすら公式見つけたり、新しい概念生み出したりして、数学の世界を探求するのが好きなだけなんだよな
そこが原点としてあるわけだから、実利的な教え方になってないんじゃないかと
0743名前は開発中のものです。
2009/08/23(日) 17:32:57ID:xcieHNUS0744名前は開発中のものです。
2009/08/23(日) 17:37:26ID:j81uImd1大半の人間に微分積分三角関数なんていらねえよ。
0745名前は開発中のものです。
2009/08/23(日) 18:19:04ID:iYL9j5nG0746名前は開発中のものです。
2009/08/23(日) 18:30:29ID:j81uImd10747名前は開発中のものです。
2009/08/23(日) 18:38:24ID:xcieHNUS0748名前は開発中のものです。
2009/08/23(日) 18:45:26ID:nBAQZJhY教えなければいけない量に対して時間が少なすぎる。
受験に関係ないことを教えてるとPTAからクレームが来る。
高校教師でも数学の実利や面白さを教えられる優秀な人はいるんだけど
数が少ないのはこうした背景がある。
0749名前は開発中のものです。
2009/08/23(日) 18:49:34ID:R/IHYMqdシリアスサムみたいなFPSのゲームを一人で作りたいなって思ってるんですが
セガの人の本を読むだけで可能なんでしょうか?
0750名前は開発中のものです。
2009/08/23(日) 19:17:48ID:j81uImd1数学者が増えるわけでもないし
まじめに数学をやろうつーやつなんてほとんど居ないだろ。
0751名前は開発中のものです。
2009/08/23(日) 20:12:59ID:U3nM4D/V0752名前は開発中のものです。
2009/08/23(日) 21:48:37ID:j81uImd1高尚な世界に住んでる人はやっぱ違うな。
0753名前は開発中のものです。
2009/08/23(日) 22:05:36ID:TwI5YTSEあなたの技術レベルを示しなさい。
セガ本を読んでから書き込みしみなさい。
この本で3Dゲームの完成までを丁寧に書いてある
しかし、読者の対象として大学入試レベルの数学と物理、
そしてC++言語の経験者を要求する。
別途勉強すればよい。
別の方法で3Dゲームを作るには
3Dライブラリを使う事です。2Dゲームと同様の技術で3Dゲームが出来る。
手軽ですが、ライブラリの範囲内でしか作る事ができないだろう。
ここで、ライブラリ以上のものを作ろうとすると 基礎数学が必要になり
セガ本などを読まなければならない。
ここで初級の3Dライブラリを紹介しておく
DarkGDK, Easy3D/C++ など
新規に新しいものを作るには、大学で学ぶ数学の考え方が必要になる
論理を組み立てて、証明して、論文にする。
0754名前は開発中のものです。
2009/08/23(日) 22:23:34ID:iimlVNwcセガ本だけでも作れるかも。
普通はこれら全部をひとりでこなすのは無理だから
絵を描く人,サウンドを作る人,プログラムを書く人
というようにチームを編成する。
0755名前は開発中のものです。
2009/08/24(月) 09:11:17ID:HajoB1Pv0756名前は開発中のものです。
2009/08/24(月) 17:53:44ID:Przaadqt2Dゲームと同様の技術
というのは例えばどういう技術ですか?
具体的に教えて頂けると、そこの部分を集中して学習したいです。
0757名前は開発中のものです。
2009/08/24(月) 18:51:33ID:HajoB1Pv0758名前は開発中のものです。
2009/08/24(月) 23:09:48ID:kZJIFzmK0759名前は開発中のものです。
2009/08/25(火) 04:56:34ID:PiLWQQgmただ、ブログの隆盛で分散してしまった感はある。
0760名前は開発中のものです。
2009/08/25(火) 08:55:43ID:ClRPI9+V3Dの概念的なものから消失されているようなサイトってかなり消失してないか?
ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。
0761名前は開発中のものです。
2009/08/25(火) 15:36:58ID:O4HkHgHG具体的な方がわかりやすいから、サンプルで示す。
http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0460zip.html
2D.dba 3D.dba をテキストで開くと
ソースコードが見える。
.exeファイル
矢印キーで移動する。
3Dであっても単純なコードになる、
だから 2Dのゲームを作れるのなら、3Dもかんたんにできる。
0762名前は開発中のものです。
2009/08/25(火) 15:47:49ID:YcewJeTt> ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。
Mesa + OpenGLを利用する3Dエンジン = ソフトウェアレンダリングしてる3Dエンジン
だと思うけどな。Mesaでは何が駄目なん?
0763名前は開発中のものです。
2009/08/25(火) 18:42:12ID:FsvPbbFr学習用途には適さないかな
0764名前は開発中のものです。
2009/08/25(火) 18:42:52ID:FsvPbbFr最初はやっぱり簡単でも良いから解説が欲しい
0765名前は開発中のものです。
2009/08/25(火) 19:55:37ID:PlDmfvEq0766名前は開発中のものです。
2009/08/25(火) 23:59:56ID:ClRPI9+VていうかD3DXならヘッダ見ればいいだろ。
0767名前は開発中のものです。
2009/08/26(水) 00:07:37ID:/c4HqP6ZなんかD3DXを自分で実装できないとダメみたいな空気がただよっているので
しかたなく勉強しようと思って・・
0768名前は開発中のものです。
2009/08/26(水) 00:09:28ID:560ZEaiR0769名前は開発中のものです。
2009/08/26(水) 00:23:47ID:SECO3fLWそのへんに転がってるの3Dエンジンのソースでも見れば?
0770名前は開発中のものです。
2009/08/26(水) 01:35:37ID:Dty72iqf他人が作ったライブラリを的確に使える技術のほうが会社では重宝するよ。
8割の人間が用意されたライブラリを使ってゲームを作るのが仕事で、
ライブラリをつくるのはほんの一部の人間の仕事だし。
0771名前は開発中のものです。
2009/08/26(水) 04:09:07ID:7Qo8yLie> 他人が作ったライブラリを的確に使える技術のほうが会社では重宝するよ。
他人が作ったライブラリを的確に使える技術を養うためには
自分でライブラリを作った経験があったほうがいいだろうけどな・・。
0772名前は開発中のものです。
2009/08/26(水) 10:27:27ID:Dty72iqfそりゃもちろんそうだけど。
それを新人に求めるのは酷だろう。
DirectXあたりで3Dゲーム1本作れればとりあえず十分だよ。
その後伸びるかどうかは本人次第だし駄目ならそれまでってこった。
門前払いでチャンスも与えないっていうのはやっぱ避けたいしな。
0773名前は開発中のものです。
2009/08/26(水) 12:51:16ID:6uSz3LMP結局ライブラリの中身も理解しないといけないのが鬱
0774名前は開発中のものです。
2009/08/26(水) 14:56:18ID:pyO4A0On0775名前は開発中のものです。
2009/08/26(水) 18:17:59ID:hZDebDg30776名前は開発中のものです。
2009/08/26(水) 21:37:43ID:Dty72iqf色々なジャンルが存在するから数学と物理ができりゃいいってのは
グラフィックや3D系に特化する場合の話だけどな。
数学物理が大学院レベルで3Dプログラム余裕ですしって
やつがMMORPGのサーバーを組めるわけじゃない。
0777名前は開発中のものです。
2009/08/26(水) 23:22:30ID:bJ5HhYokGPUに関する書籍を探しています。
ゲーム・3Dのプログラミングにかかわる書籍は多数ありますが、
GPUをはじめとするハードウェアの仕組みを解説した本は見かけません。
基礎的な仕組みからしっかり解説した本があれば理想的です。
洋書和書問いません。お勧めがあれば教えてください。
0778名前は開発中のものです。
2009/08/27(木) 01:31:22ID:dAC+eNdw0779名前は開発中のものです。
2009/08/27(木) 08:33:52ID:vS5/hD0D> ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。
もうそのレイヤーが時代遅れという説
最近組み込みの雑誌かなんかでそういうの見た気もするが。
0780名前は開発中のものです。
2009/08/27(木) 09:55:45ID:yIyLlncc確かに「ライブラリを使うだけ」の人間は必要だが、
「ライブラリを作れる人」はもっと必要だよ。
フルスクラッチからOpenGLパイプラインを作れる人は
仕事にあぶれることはないよ。
0781名前は開発中のものです。
2009/08/27(木) 10:39:13ID:vS5/hD0DOpenGLってあんたそれレイヤー全然上。
ソフトウェアレンダリングってのは、ポリゴンを自前でクリッピングしてアセンブリャーでラスタライズしてって領域の話だぞ。
あと「フルスクラッチから」とか気持ち悪い言葉やめてほしい、俺的に。
0782名前は開発中のものです。
2009/08/27(木) 10:41:24ID:vS5/hD0D昔アーケード基盤設計してた連中みたいに。
0783名前は開発中のものです。
2009/08/27(木) 17:50:43ID:QKZx/rS10784名前は開発中のものです。
2009/08/28(金) 03:14:36ID:BCv73LP8読んだけど翻訳が分かりにくくて理解できなかった
0785名前は開発中のものです。
2009/08/29(土) 16:10:55ID:hFJ/+Aiy0786名前は開発中のものです。
2009/08/29(土) 17:17:23ID:P9iaH9Pe0787名前は開発中のものです。
2009/08/29(土) 18:09:49ID:ZlIyMtQS0788名前は開発中のものです。
2009/08/29(土) 18:23:17ID:DRNIUSbQboost::shared_ptr を車輪の再発明しても仕方ないんじゃ..
0789名前は開発中のものです。
2009/08/29(土) 18:42:32ID:ZlIyMtQS0790名前は開発中のものです。
2009/08/29(土) 19:44:17ID:vUkK9z1wじきにstr::shared_ptrになるからね。
気になるならどれかの実装のソース読めば良い。
0791名前は開発中のものです。
2009/08/29(土) 20:19:18ID:KU6O6Ntdスマートポインタの話それだけなら。
0792名前は開発中のものです。
2009/08/29(土) 21:56:25ID:an/Ykmat0793名前は開発中のものです。
2009/08/29(土) 23:20:51ID:jxw4J9DF0794名前は開発中のものです。
2009/08/30(日) 01:10:53ID:gOB5Vx9W0795名無しさん@そうだ選挙に行こう
2009/08/30(日) 07:11:04ID:5URTaSOh巻末にauto_ptrの実装が2例載ってるのはMoreのほうだな
本当に載ってるだけだから、ソースが見たいなら手持ちのコンパイラに付属のヘッダファイルを見た方が早い
0796名無しさん@そうだ選挙に行こう
2009/08/30(日) 08:36:48ID:Vp+tSpyX一般も糸瓜もない。俺はポインターに苦労し取らんから、あんまり使わないけどな。
0797名無しさん@そうだ選挙に行こう
2009/08/30(日) 09:25:28ID:gOB5Vx9W0798名無しさん@そうだ選挙に行こう
2009/08/30(日) 10:54:56ID:5xkEFmOu制約された環境で作業をしているなら
http://www.research.att.com/~bs/Performance-TR.pdf
の内容は把握しておくべき。
なんでこれ和訳されないのかねえ。
RAIIは便利なのはもちろん、例外安全性のためにもC++に不可欠だと思うけどね。
auto_ptrは問題外として、shared_ptrは参照カウントのコストが確かに存在するし、
将来的にはコンテナに入れない限りはunique_ptrだな。
0799名無しさん@そうだ選挙に行こう
2009/08/30(日) 12:21:06ID:vZOSwWOe797じゃないけど、面白そうなレポ サンクス。
これから、じっくり読んでみる。
0800名無しさん@そうだ選挙に行こう
2009/08/30(日) 12:46:52ID:RMLe3lISそれにパフォーマンスが問題になったことは一度も無いです。
boost::shared_ptrは遅すぎるので車輪を再発明する必要があるけど、
開発効率は上がると思う。
ゲーム(組み込み)向けのテンプレートライブラリ作るときに参考になると思う。(798と若干内容ダブってるかも)
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html
書籍なら↓もありますね。
Effective STL
Windows プロフェッショナル ゲームプログラミング
■ このスレッドは過去ログ倉庫に格納されています