○○とゲームプログラミング Rev 3.0.0
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/02/01 20:56ID:UHX0VJ3UOOも含め、ゲームプログラムの制作に関わる様々なトピックを
語りましょう。
単なるC++でのクラスの書き方から、設計やパターン、制作手法
まで守備範囲広し。
過去スレ:
OOとゲームプログラミング Role2
http://pc2.2ch.net/test/read.cgi/gamedev/1067458051/
OOとゲームプログラミング
http://pc2.2ch.net/test/read.cgi/gamedev/1005144931/
0043名前は開発中のものです。
04/02/04 01:14ID:9rt5iKp5どちらにせよ、staticで敵の数なんて持ったら、>>41でいう 2.でハマルってことか。
なんでもかんでも、monostateするより、拡張に備えてsingletonにしとけってことですか?
0044とむ ◆0MTMwDpCZo
04/02/04 01:15ID:0ZdjPfCN確かに私は「食ってかかる」タイプですね。それが嫌な方は、最初から何も指摘しなければ
いいんじゃないでしょうか。
その点で>>23さんはいいと思います。最初は単に「レベルの低さがわかった」などと書いて
それっきりだったので、「またいつものか」くらいにしか思ってなかったんだけど、ちゃんと
その後自分ならどうするというのを書いたので、これだと議論になるというか、スレとして話に
なると思います。
004523
04/02/04 01:20ID:e4N0XV4Bうん。Singletonじゃなくてもいいけどね。
あとせっかくのSingletonも毎回インスタンスの取得してたら
グローバル依存とそう変わらないから、ポインタなり参照なりをメンバに保持するのが賢いやり方だと思う。
>>44
で、私の実装案へのご意見などは?
「それは駄目だろ」とか「これは納得」とかあるでしょう?
とりあえず今日は俺は寝る!
0046名前は開発中のものです。
04/02/04 01:24ID:wvKmvpXdそんなの七誌も含めてほとんどの人間がそうだろw
とむがコテハンだから目立ってるだけ
だから余分にたたかれるのも覚悟してるんだろうがな。
0047とむ ◆0MTMwDpCZo
04/02/04 01:24ID:0ZdjPfCNいや、うん、いいと思いますよ。
あなたの言う、「例えば関係しない2つの世界が必要になった時」などは全く念頭に
置いていなかったので。そういう拡張されたギャラクシアンを作る事を念頭におけば、
確かに基底クラスに数を持たせるというのは問題かも知れませんね。
私が書いた時は、単に手っ取り早く敵の数を表現したかっただけなので…。そのへんが
確かにつっこまれると自信がなかったので(笑)、「一番お手軽に」などと言い訳がましい
形容詞がついてたのです…。
0048名前は開発中のものです。
04/02/04 02:13ID:HuqSCz/v勉強になりそうだし。
0049とむ ◆0MTMwDpCZo
04/02/04 02:45ID:0ZdjPfCNちなみに前スレの930氏が出してたURL。置いてよしBBS。
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1075503745&rm=100
で、今さっき風呂入りながらぼけーっと考えてたんだけど、やっぱり自分でギャラクシアン
作れって言われても、CEnemyなるものを作ってそこに数を管理させたりしないよな、とか
思いました。確かに私の低レベルさを示してますね(笑)。
ちなみに、>>42のレスで気がついた人がいるかも知れないけど、敵の数をその基底クラス
に持たせるのは、Effective C++に書いてあったやり方。だからなんだと言われても困るけど。
0050名前は開発中のものです。
04/02/04 05:13ID:Skm93jRcできればそういうことはいちいち書かないでもらえると非常にありがたい
ついでにコテハン止めてくれればなお良い。
0051名前は開発中のものです。
04/02/04 05:22ID:ijYeRi9Y俺はキミみたいなののほうが鬱陶しい。
0052名前は開発中のものです。
04/02/04 05:46ID:P/UednrM0053名前は開発中のものです。
04/02/04 06:38ID:dSDQ2Dxn0054名前は開発中のものです。
04/02/04 07:07ID:4p8jZ5Cz0055名前は開発中のものです。
04/02/04 10:04ID:8XXIUaLnわけろよ。
わけておけばプッチン ゼリーも作りやすいだろ。
だいたいプッチンの部分なんて容器だけで中身と大してかかわりすくねーじゃねーか。
0056名前は開発中のものです。
04/02/04 11:45ID:n3AIZr5Vそんなことはない。
中身によってはプッチンの大きさを変えないと十分に空気が入らず、
「ママー!プリンがプッチンできないー」と泣き叫ぶ子供が多数発生する。
0057名前は開発中のものです。
04/02/04 11:52ID:1wbSOOML俺は上を目指したいんだよ。
分かってて静観してる奴、おまえらが発言してくれないと
俺はこいつらと同じ人間だと思われ、こいつらのざれごとに もまれなきゃならんわけよ
で、俺が反論したりコテ叩きだしたら 俺が荒らし認定だ。
やってられんわけよ。上の議論のアンチパターンみたく
なんか うまく開き直りを処置する方法は ないもんかね?
放置するのも手だが、それじゃ あんたらのサインは読み取れないわけよ。
0058名前は開発中のものです。
04/02/04 11:53ID:8XXIUaLn大きさ変えりゃ解決できるんだからそこまで密接なもんじゃねーだろ。
0059名前は開発中のものです。
04/02/04 12:25ID:Osc4W8uZ0060名前は開発中のものです。
04/02/04 12:32ID:8XXIUaLnプッチンの開発者が聞いたら号泣ものだな。
0061名前は開発中のものです。
04/02/04 12:55ID:P/UednrM>>57
なんつーか…まずは人を見下したり馬鹿にするのをやめるべぎだと思うぞ。
2chだって紳士のいるところには紳士が集まるもんだ。まぁこの板は荒し多すぎだけどな。
ところで君は上を目指すと言うが、その言葉に見合う努力はしているか?
まずは人が推薦するような本を20冊は読もうな。
でもってその本の内容を理解したら、こんな所で燻ってる必要は無いぞ。
まともな奴がいる所を探して、そこで議論しような。
0062名前は開発中のものです。
04/02/04 13:10ID:n3AIZr5V0063名前は開発中のものです。
04/02/04 15:09ID:ZFrY/+5fあんた誰?
0064名前は開発中のものです。
04/02/04 19:13ID:A3V5KUXY冷静に考えてみれば、三十路になるまで、処女を食ったことがなかったのだ。
0065名前は開発中のものです。
04/02/04 20:34ID:+NKa3+S4三十路になるまでセクースをしたことが無い奴が大半のこの板でする話ではないな。
0066名前は開発中のものです。
04/02/04 21:54ID:1wbSOOML迷惑かけたな
006723
04/02/04 23:44ID:ctv5a5KDあんたが負けず嫌いだという事が良くわかった。>>39を読んであらかじめ覚悟していたから
何とも思わなかったが、前フリが無かったら今ごろ俺ケンカごしで書き込みしてたな。
ちなみにEffective C++はC++の本であってゲームプログラミングの本じゃない。
ゲームプログラミングの本ではない本のサンプルを実践的なゲームプログラミングの話をしている時に
さも正しいかのように持ち出すのはおかしいと思うよ。
「別に正しい例だと言っていない」っていうんだったらわざわざそんな事描く必要性まったくないよ。
まあスレにまともなネタ振れる人間がいないみたいだから、
あんたがネタ振り絞る事は「俺は」否定しない。てか頑張れ。
言い訳がましいレスさえつけなければ悪くないと思う。
>>48
俺の例の話ならGoF本読んで考えて下さい。
006823
04/02/04 23:52ID:ctv5a5KDamazonにて購入
・ソフトウェア工学とコンピュータゲーム
今日届いたので当然まだ読んでない。
何か面白いトピックでも見つけたら俺もネタ振りするかも。
0069名前は開発中のものです。
04/02/05 00:01ID:a8k7orr7結城先生のデザパタ本読んだ後、改めてGof本読もうかにゃー。
0070名前は開発中のものです。
04/02/05 00:20ID:q4thyY1D0071名前は開発中のものです。
04/02/05 00:37ID:OJCjcyTjhttp://www.amazon.co.jp/exec/obidos/ASIN/4797311126/
だよな。買う価値無しってほど廃れちゃいないと思うがなぁ。
0072名前は開発中のものです。
04/02/05 01:37ID:q4thyY1Dその本って原著がWindows95が発売される以前に書かれただけあって、内容が古いなー
と思う箇所が多々ある気がするのは俺の気のせい?
それにSmalltalkとの比較とかも沢山あるけど、そんなもん大半の読者にとって必要無いだろ。
昔ならともかく、今はGoFのデザインパターンに関して噛み砕いて説明した書籍やサイトが沢山
あるのに、わざわざその本を\5000も出して買う価値があるとは俺は思えない。
てか、その金で美味い飯でも食ったほうが絶対幸せになれる。
0073名前は開発中のものです。
04/02/05 02:53ID:N9nT9fCEUML使ってゲームの設計やるような奴ってどれぐらいいるのかなぁ。
みんな普通に使ってるってんなら俺も本腰入れて勉強するから
実践投入の実例があれば教えれ。
0074名前は開発中のものです。
04/02/05 06:10ID:2sw8AtKkお前はすでにケンカごしすぎるぞ。
とむだってEffective C++に書いてあるから正しいとは書いてないだろ。
そこに書いてあったと言ってるだけ。
自分の非を認めてる奴にそこまで噛みつく必要があるのか?
0075名前は開発中のものです。
04/02/05 10:42ID:VgMwCgpG>ちなみにEffective C++はC++の本であってゲームプログラミングの本じゃない。
>さも正しいかのように持ち出すのはおかしいと思うよ。
んー、なんでもかんでも否定にとるのはよくないぞ。バイアスかかりすぎ。
あれはとむ君一流のジョークだと解釈してあげないと。
Effective C++でとむが挙げた話が出てるところだってそういう文脈じゃ
なかったっけ?>軍との契約云々
0076名前は開発中のものです。
04/02/05 11:54ID:zhBT9wz30077名前は開発中のものです。
04/02/05 12:14ID:OJCjcyTj> GoFのデザインパターンに関して噛み砕いて説明した書籍やサイトが沢山ある
そういう事なら納得だよ。てっきりデザインパターン自体に価値が無いのかと。
0078名前は開発中のものです。
04/02/05 12:55ID:PbyDwS46そう、あれじゃ軍との契約は得られないが、話として分かりやすければそれでいいみたいな流れで書いてあった。
要は、そこにつっこみを入れてたら話が進まないだろってことだ。
0079名前は開発中のものです。
04/02/05 19:05ID:x3lzpvy3GoFとかEffectiveC++とかの知識は本当に必要になる。
マジで
0080名前は開発中のものです。
04/02/05 20:33ID:WB3P9AFBC++で作らせてほすぃ・・・。
0081名前は開発中のものです。
04/02/05 20:47ID:YortWucK0082名前は開発中のものです。
04/02/05 21:07ID:WB3P9AFBそんなこと言う人(ry
0083名前は開発中のものです。
04/02/05 23:58ID:OJCjcyTjできるけど気が引ける
0084名前は開発中のものです。
04/02/06 00:14ID:9XAoGs7Z例のタスクシステムとか言ってるやつじゃないの
0085名前は開発中のものです。
04/02/06 00:29ID:1lUd5tFPいや、そりゃ違う話だよ。
まぜるな、また、変な議論はじまるから。
0086名前は開発中のものです。
04/02/06 01:12ID:hCLlGrWBFILE*と高レベル入出力まわりか
あとは関数ポインタ使ってクラスの真似事も無理やりできなくはない
0087名前は開発中のものです。
04/02/06 03:10ID:cGSLd7pRC#だとかD言語だとかが出てるこのご時世に、
なぜC++にこだわる?
0088とむ ◆0MTMwDpCZo
04/02/06 03:16ID:zY+xNQsK0089名前は開発中のものです。
04/02/06 03:51ID:ficRKwSJ0090名前は開発中のものです。
04/02/06 04:54ID:Ck70IGCkそれにOOだけにこだわるならsmalltalkでもやりなさいな。
つーかさ、このスレって毎日…。
009187
04/02/06 05:10ID:cGSLd7pRただ、煽りなんだが、87の所感は正直なんだ。
現実的な問題として、89氏が指摘してるように
「最大市場でそれ動くのかよ?」という壁にぶつかる。
コンシューマは当分、C++での辛抱は続くな。枯れてるぶん、無難か?
009290
04/02/06 05:22ID:Ck70IGCk同じ厨が沸き沸きしてるな。と思ってたわけだが。
コンシューマっつても色々あるけど、C++まともにサポートしてる環境ってどれだけある?
俺はPSとPS2しかやったこと無いんで詳しくないんだが。
0093名前は開発中のものです。
04/02/06 07:56ID:udrmR0AZ激 し く 同 意
C/C++しか選択肢がない環境に耐えられん
0094名前は開発中のものです。
04/02/06 10:41ID:9rUN+ZCnC++はまだ枯れてないような気がする。テンプレート周りとか。
0095名前は開発中のものです。
04/02/06 10:44ID:9rUN+ZCn>例のタスクシステムとか言ってるやつじゃないの
あれは、プロセス、タスク、スレッドとかそういう方向性の話題ですな。
OOとは直交してるんじゃない?だから、OOでタスクシステムを実装とか
いう話が出てくるわけだし。
0096名前は開発中のものです。
04/02/06 11:55ID:munvQzlF0097名前は開発中のものです。
04/02/06 13:45ID:2kOy7/ExC++はOOもできるPLだからね。
C#のテンプレート仕様は見えてこないし、
Javaのgenericsは必要以上にシンプルになっちまったし、
Dのテンプレートもあと一歩大事な所をサポートしていないし。
まあC++を語る前にModern C++ Designを読んで理解してみろって事だ。
0098名前は開発中のものです。
04/02/06 15:28ID:9rUN+ZCn強い型付けの言語は大変だってことで(それしか選択肢が無いからしょうがないんだが)。
0099名前は開発中のものです。
04/02/06 15:29ID:B3yi/0MJ0100名前は開発中のものです。
04/02/06 16:04ID:9rUN+ZCnなくなってくる)と思うけど。
まぁ、メモリ量が限られているプラットホームでは怖くて使う気にはな
れんが(コレも偏見かもしれん)。
0101名前は開発中のものです。
04/02/06 16:15ID:munvQzlFPCなら再起動してもらえばいいけどな・・・。
専用ハードなら自前でGC以上の機能実装くらいしてるべ?
同等機能じゃなくて、GCなくてもまったく問題ないアプリというか。
GCないと困るのは設計ヘボすぎだろう。ないと困る言語使用はしゃーないとしても。
0102名前は開発中のものです。
04/02/06 19:10ID:Qf4EMgr1仮にGCが必要だとしても
自分で実装するぐらいの人間じゃないとね
0103名前は開発中のものです。
04/02/06 20:07ID:2kOy7/Exもちろん直交してる。「C++なんて」っていう奴がOOと直交した他の概念を
知らなさ過ぎるという話。
C++テンプレートはもはやgenericの概念を超えた新しいステージに到達している。
これを利用できない環境へはもはや全面移行できないだろ。
0104名前は開発中のものです。
04/02/06 21:10ID:rZjCrBpy現状C++マンセーでOK?
先を見るならC#, Dあたりかな。
0105名前は開発中のものです。
04/02/06 21:28ID:91D2MlSNOOを極めるならSmalltalkとかへ
実用性を求めるならC++へ
0106名前は開発中のものです。
04/02/07 04:47ID:auC1MQXA別にここはスローガンを考える場所じゃないんだから
まともに中身話あおうや
0107名前は開発中のものです。
04/02/07 05:02ID:SE+Ndv37人によっては必死に見えるんだな。
0108名前は開発中のものです。
04/02/07 05:22ID:zYOhzQwHJavaなのにクラス使えない環境でOOを語るなということですか、そうですか。
すみませんでした。
0109とむ ◆0MTMwDpCZo
04/02/07 08:04ID:jNMJZ69v具体的にどういうJavaなのか見当がつかない…
0110名前は開発中のものです。
04/02/07 09:41ID:r/NTeXJu俺も良く知らんけど。
0111名前は開発中のものです。
04/02/07 10:15ID:lQqanSTJクラス使えなくてもOOはできるよな。
0112名前は開発中のものです。
04/02/07 10:16ID:WAwZesj40113名前は開発中のものです。
04/02/07 11:02ID:YKsHJP0FC++がいいとか、Javaがいいとか、そんな瑣末なこと
どっちでも大して変わらないよ。
0114名前は開発中のものです。
04/02/07 11:39ID:WraacF3/i503時代(10k制約)に研修で作ったけど>>110の言うとおり。
クラス定義を1つ追加しただけで何百バイトか食うから、
全部1つのクラスに納めてた。
でも今って100kくらいいけるんだよね?
>>113
それ業務PG時代にコボラからよく聞いたセリフだな。
// 多分、それらは「ほげ」と同じくらいパワフルなんだろうけど、
// どういうわけかふわふわしたおまけがいろいろついているんだ
0115名前は開発中のものです。
04/02/07 11:43ID:owOqNjeA俺も派遣で昨年まで開発してたよ>携帯ゲーム
中間コード30k制限ですた。。。
複数あったクラスは最終的に1つに。。。
0116名前は開発中のものです。
04/02/07 11:49ID:6BKQNL1Eそのくせポインタとか使えないからな。
かなり性質悪い。
0117名前は開発中のものです。
04/02/07 13:00ID:XhQQhGqKまったくだな。
Dならまだ分かるにしても(GC切れるし)、ゲーム用言語としてはあり得ない。
C#ならマルチプラットフォーム環境が整備されているだけJavaの方が遙かにマシだ。
0118名前は開発中のものです。
04/02/07 13:06ID:r/NTeXJu0119名前は開発中のものです。
04/02/07 13:46ID:XhQQhGqKこれからも、ある程度出来上がってきたら新バージョンが出て追いつけずの繰り返しになるだろう。
しかもGUIはWineを使ってるから、パフォーマンスは圧倒的に悪い。
ゲームなんて話にならない。
Windows専用言語だな。
0120名前は開発中のものです。
04/02/07 13:56ID:r/NTeXJuところで、GCについて一家言あるみたいだけど、どういう苦労しました?
0121名前は開発中のものです。
04/02/07 14:10ID:XhQQhGqKグラフィックは遅いけどWindows以外のC#よりは遙かに速いし、OpenGLを直接
触れるライブラリもあるし、いずれ標準に組み込まれるそうだ。
とは言っても、C#よりはマシなだけで激しい動きのあるゲームには向いてないね。
2行目は俺に書いてんの?
GCがある環境ならオブジェクトの廃棄を出来るだけ行わず、プーリングすると
言うのが定説だったと思う。
負荷にかかわらず、確実にGCを起こしてしまう命令があればいいのにね。
0122名前は開発中のものです。
04/02/07 14:16ID:cL0eBAjGjavaのSystem.gc()って、負荷次第で無視されるんだっけ?
0123名前は開発中のものです。
04/02/07 14:17ID:r/NTeXJuC#はWindows上ではDirectXが使えるので決行マシかもしれん(いろいろ問題あるらしいが)。
まぁ、実際のところゲームでマルチプラットフォーム性なんてだれも求めてないんだよね。
かろうじてWin/Mac互換の需要があるくらいか?
0124名前は開発中のものです。
04/02/07 14:45ID:WAwZesj4かなり重要なんだがな。趣味ならしらんが。
まあ、そもそもC#は駄目すぎだが。
C#なんて勉強する時間あるぐらいなら、他に有益なことたくさんあるだろ。
0125名前は開発中のものです。
04/02/07 14:50ID:XhQQhGqK無視と言うよりも、いつ起こるか保証されないんだよ。
先送りされる可能性がある。
>>123
Windows専用ならC++やD言語の方がいいんだよね。
ツールの類ならDelphiやC++Builderでもいいんだし。
そっちの方が速いし、DirectXだって使える。
だからゲームとしては問題外。
マルチプラットフォームを考えても問題外。
0126名前は開発中のものです。
04/02/07 15:11ID:auC1MQXAどういうときに先送りにされるんですか?
0127とむ ◆0MTMwDpCZo
04/02/07 15:47ID:jNMJZ69vいいや、明日やろうっと、明日明日」
という感じじゃないでしょうか。少なくとも私個人はそうです。
0128名前は開発中のものです。
04/02/07 15:55ID:xFHMm5Bmこんなのあったよ。
http://java.sun.com/docs/hotspot/gc1.4.2/index.htm
というか、バージョンや実装によっても違うらしいよ(調べたこと無い)。
0129名前は開発中のものです。
04/02/07 16:22ID:V9eb5XAy事実上、市場はPS2かGBAだけだし。間違いなく3年はこの状態、続くだろ。
マルチってなに?
0130名前は開発中のものです。
04/02/07 16:28ID:SE+Ndv370131名前は開発中のものです。
04/02/07 16:48ID:zR3V6VxB結局優れたひとつのプラットフォームで良いじゃんってことにならない?
複数のハードを作るコスト、複数のラッパを作るコスト
無駄だよなって思う。
0132名前は開発中のものです。
04/02/07 17:01ID:xFHMm5Bm話がループする、と。
0133名前は開発中のものです。
04/02/07 19:28ID:owOqNjeAなぜC++で組まないんでしょうか?
0134とむ ◆0MTMwDpCZo
04/02/07 19:56ID:jNMJZ69v想像するに、古参開発メンバーがまだC++に移行しきれてない、というのが
挙げられますが。
0135名前は開発中のものです。
04/02/07 21:51ID:KSnlgV93どのハード、あるいは流通形態が「優れている」かを誰が判定するの?
それは誰にも分からないから、各人が作った製品を市場に並べて、そこで
淘汰させるのが自由主義経済。頭の良い官僚が唯一絶対の規格を決めて、
国民全部従おうというのが計画経済(社会主義経済)なわけだが。
0136名前は開発中のものです。
04/02/07 21:59ID:xFHMm5Bmんでその弊害が>>132な。
0137名前は開発中のものです。
04/02/07 22:02ID:zR3V6VxBいや、そらもちろんそうなんだが理想論の話だから。
マルチプラットフォームのライブラリというか、
要するにひとつの統一開発環境を前提とするのなら
当然大部分は最大公約数的な機能中心に絞られるわけだから、
ライブラリの要件を満たすだけの機能、性能があればいいわけで。
結局何が言いたいかというと、各ハードウェアの旨みを消している部分も少なからずあるから、
マルチプラットフォームな展開はそれほど重要視するべきプライオリティを
持ってないような気がするということです。
0138名前は開発中のものです。
04/02/07 22:10ID:544SV5PK0139名前は開発中のものです。
04/02/07 22:13ID:xFHMm5BmそれがDirectXだという見方もあるな。実際に理想だったのかは見たとおり。
0140名前は開発中のものです。
04/02/07 22:17ID:CLQE2Fb+つか、もう、いい加減、とりあえずCDROM突っ込んだら
PS2だろうがGCだろうがXBOXだろうがとりあえず画質悪くても動けよ!
って感じするな。
音楽CDやDVDは規格が統一されてんのにな。
ハードウェア会社の都合でなんで俺等が苦労してんだよホント。
0141名前は開発中のものです。
04/02/07 22:18ID:xFHMm5Bm■ このスレッドは過去ログ倉庫に格納されています