トップページgamedev
462コメント164KB

○○とゲームプログラミング Rev 3.0.0

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/02/01 20:56ID:UHX0VJ3U
 「OOとゲームプログラミング」から派生したスレです。
 OOも含め、ゲームプログラムの制作に関わる様々なトピックを
語りましょう。

 単なるC++でのクラスの書き方から、設計やパターン、制作手法
まで守備範囲広し。

過去スレ:
OOとゲームプログラミング Role2
http://pc2.2ch.net/test/read.cgi/gamedev/1067458051/

OOとゲームプログラミング
http://pc2.2ch.net/test/read.cgi/gamedev/1005144931/
0358名前は開発中のものです。04/03/29 22:30ID:htU9rKwG
>>353
ちょっとはSTLのコードを読んでからモノをいおう。

>>354
文脈考えてね。「型ごとにlistクラス」つくんのかよって言われたから、
テンプレートつかってlistコンテナをこうやって組むんだよって
サンプルを書いたんだろうが。

>>354

>独自のアロケーターを内蔵している

newオペレーターオーバーライドだろ。
そんなの実装するの当たり前じゃん。
その他、find,sort等色々なメソッドも実装するよって、こんなとこに
一々書いてられるかボケ。

あのさ、おまえら人が掲示板で具体的に説明するために
ちょろっと書いた(コピペですらないよ)サンプルコードに
いちいちうるさいんだよ。

>>357
きみとなら仕事を一緒にやっていけそうだ。

0359名前は開発中のものです。04/03/29 22:39ID:I5CAVnSY
>その他、find,sort等色々なメソッドも実装するよって、こんなとこに
つまり結局はSTL同様、複雑になるわけなんだけど、
その車輪の再発名でSTLには無いオーバーヘッドを回避する方策は?
0360名前は開発中のものです。04/03/29 22:55ID:izxLwDgd
>newオペレーターオーバーライドだろ。
先生!、オーバーロードとオーバーライドの区別はついてますか?
0361名前は開発中のものです。04/03/29 23:16ID:htU9rKwG
>>359

>>341
をよめ。何回もナンカイモナンカイモオナジゴトヲイワセルナ。

>>360
タマニツカネーンダヨ。っていうか、まぁ英文C++本でも"overload"になっているがだな、
"override"のほうが現象を的確に表している。"overload"は不正確だ。
英語が堪能なオレにとってはどうしても自然な方を使ってしまうんだな。
0362名前は開発中のものです。04/03/29 23:20ID:htU9rKwG
おっと、ちょっと待て。
オレのいっているオーバーヘッドは、メモリ帯域の無駄の話じゃない。
データ構造間の汎用性を持たせたことによるメソッドのオーバーヘッドの話。

0363名前は開発中のものです。04/03/29 23:26ID:I5CAVnSY
>>361
つまり、
>かといって何かいい手があるかというと”?”ですけど
何も解決しないまま、車輪の再発明だけ行うわけなのか。
それが潔いと思えるようになるのは、一生かけても難しい。
0364名前は開発中のものです。04/03/29 23:29ID:izxLwDgd
>"override"のほうが現象を的確に表している。"overload"は不正確だ。
>英語が堪能なオレにとってはどうしても自然な方を使ってしまうんだな。
先生!、かなり苦しいです。
0365名前は開発中のものです。04/03/29 23:33ID:BJ/4An5b
馬鹿だなあお前ら、
ゲームでは再利用可能なコンテナが確かに必要だが、
STLの設計はゲームに最適ではないだけの話じゃないか

ゲーム向け俺コンテナを持ち寄って
boostに寄贈ぐらいすればこのスレも役に立ったといえるな
0366名前は開発中のものです。04/03/30 00:03ID:fcRSAwJm
>>363
潔いの話題違い。
メモリバンド幅の話と、メソッドのオーバーヘッドの話がごっちゃになってるよ。
>>364
あのな、overloadとoverrideを辞書で調べてみ。
http://www.infoseek.co.jp

>>365
>馬鹿だなあお前ら、
>ゲームでは再利用可能なコンテナが確かに必要だが、
>STLの設計はゲームに最適ではないだけの話じゃないか

まぁ、そういうことだな。

0367名前は開発中のものです。04/03/30 00:21ID:F14WhfVI
pc2が消える前の、生産性とかメンテナンス性とか、そんな話はどうなりましたか?
0368名前は開発中のものです。04/03/30 00:25ID:rluXyNAm
結局のところ、「メソッドのオーバーヘッド」に関しても、
何の解決方法も示めさず、言い訳で逃げ回り、
用語の誤用に関しても、素直に間違いを認めずまた言い訳。

データの汎用性のオーバーヘッドを問題にしても、
型ごとに書くのかと聞かれるとその時だけサンプルはテンプレート。
複雑さを問題にしても、機能の面を指摘されると、
STL同様の機能を実装するという。

既存のものに対して、利点は特にないけれど、とにかく自分で実装。
滅茶苦茶で突っ込みきれない。
0369名前は開発中のものです。04/03/30 00:33ID:+WlTCBa0
例外投げてるの、みんな・・・。
0370名前は開発中のものです。04/03/30 00:48ID:fcRSAwJm
>>368

>結局のところ、「メソッドのオーバーヘッド」に関しても、
何の解決方法も示めさず、

メモリー最配置の時に発生するメモリバンドの無駄はどうにもならないが、
「メソッドのオーバーヘッド」に関しては、
「STLはvector, list, setなどのデータ構造間の汎用性を追求している
がための複雑さとオーバーへッドがある。」って問題提起し、
ゲーム用に贅肉を削ぎ落としたバランスの取れたコンテナをちょろっと
書けばメソッドのオーバーヘッドは軽減できるっていってんだよ。


>用語の誤用に関しても、素直に間違いを認めずまた言い訳。

Override 誤用じゃないよ。適切な英語だ。

>利点は特にないけれど

あるよ。ゲームにとっては重要な利点だよ。
シロートとは付きあいきれん。

0371名前は開発中のものです。04/03/30 00:51ID:fcRSAwJm
>>369

try catch例外うざい。
マクロで↓みたいな例外処理いれてる。
DBG_ASSERT( bool bEval, TCHAR* szMessage, UINT uErrorType );
0372名前は開発中のものです。04/03/30 00:51ID:F14WhfVI
> STLはvector, list, setなどのデータ構造間の汎用性を追求しているがための複雑さとオーバーへッド

それは興味深いですね。具体例をいただけますか?
0373名前は開発中のものです。04/03/30 00:54ID:tIdFGMag
アロケータ書いてでもSTL使えってやつは
テストプログラムとかツールとかじゃなくて
本当に商品でSTL使ってるのか?
どこ製のSTL?
0374名前は開発中のものです。04/03/30 01:00ID:F14WhfVI
>>373
STLport。設定マクロをたくさん提供してくれるのでいいと思います。
例外発生時の挙動や、メモリ管理の設定もいろいろカスタマイズできます。
0375名前は開発中のものです。04/03/30 01:00ID:sI1+31eE
>>用語の誤用に関しても、素直に間違いを認めずまた言い訳。
>Override 誤用じゃないよ。適切な英語だ。
え?この場合オーバーライドがC++的にも正しくね?

で、オレは最適でないのは承知の上で楽だから使ってるよ(別にキモイとかどうでもいいし)。
クリティカルな部分だけ特別に最適なのを作る(ちうのは普通の最適化戦略だが)。

なので、別に愚痴りたくは無いかな。
愚痴りたいのは、STL使わせてもバグ埋め込むし、かといって普通にリスト構造とか作ら
せてバグを埋め込んでしまう新人君(に使わせるためのSTL)。

Effective STLシリーズを読まなきゃ使い物にならないのが一番大きいオーバーヘッドだw
0376名前は開発中のものです。04/03/30 01:06ID:X6VmrFA0
ところで、STL(テンプレート)で書かれたコードのうまいデバッグ方法教えてくれ。
トレースとか非常にうざいんだけど、何か良い方法ある?
0377名前は開発中のものです。04/03/30 01:08ID:JHyHUQlW
>>用語の誤用に関しても、素直に間違いを認めずまた言い訳。
>Override 誤用じゃないよ。適切な英語だ。
まぁ、君の意見は正しいと思うよ。君の世界の中ではね・・・
コウヤッテSTL厨が出来上がっていくわけか。
アセンブラ厨の言ってた事とかわらんなぁ。
何かと言うと「俺が正しい」「俺は間違ってはいない」
ヤレヤレ棚
0378名前は開発中のものです。04/03/30 01:15ID:OjGk+Cgx
なんか、もう寝たほうがいいと思うよ。
0379名前は開発中のものです。04/03/30 01:20ID:fcRSAwJm
>>372

なんで書き込む前に自分で調べないかな?これで最後ね。時間のムダだし。
例えば、vectorの[]オペレータ一つとっても

vector <int> vInt;
...
int& r = vInt[idx];

とやるだけで、このようにコードが実行される(読みにくいけど長すぎるので)。
まぁ自分で調べりゃ済む事だし。

reference operator[](size_type _Pos) { // subscript mutable sequence 
return (*(begin() + _Pos));}
iterator begin(){ // return iterator for beginning of mutable sequence
return (iterator(_Myfirst));}
iterator(pointer _Ptr) : const_iterator(_Ptr) { // construct with pointer _Ptr }
const_iterator(_Tptr _Ptr) { // construct with pointer _Ptr
_Myptr = _Ptr; }
0380名前は開発中のものです。04/03/30 01:20ID:fcRSAwJm
iterator(pointer _Ptr): const_iterator(_Ptr) { // construct with pointer _Ptr }
iterator begin() { // return iterator for beginning of mutable sequence
return (iterator(_Myfirst)); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos));}
iterator operator+(difference_type _Off) const { // return this + integer
iterator _Tmp = *this; return (_Tmp += _Off); }
iterator& operator+=(difference_type _Off) { // increment by integer
this->_Myptr += _Off; return (*this); }
reference operator*() const { // return designated object
return ((reference)**(const_iterator *)this); }
const_reference operator*() const { // return designated object
return (*_Myptr); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos)); }
0381名前は開発中のものです。04/03/30 01:20ID:fcRSAwJm
iterator begin() { // return iterator for beginning of mutable sequence
return (iterator(_Myfirst)); }
iterator(pointer _Ptr): const_iterator(_Ptr) { // construct with pointer _Ptr }
const_iterator(_Tptr _Ptr) { // construct with pointer _Ptr
_Myptr = _Ptr; }
iterator(pointer _Ptr) : const_iterator(_Ptr) { // construct with pointer _Ptr }
iterator begin() { // return iterator for beginning of mutable sequence
return (iterator(_Myfirst)); }
reference operator[](size_type _Pos) { // subscript mutable sequence
return (*(begin() + _Pos)); }
iterator operator+(difference_type _Off) const { // return this + integer
iterator _Tmp = *this; return (_Tmp += _Off); }
iterator& operator+=(difference_type _Off) { // increment by integer
this->_Myptr += _Off; return (*this); }
reference operator*() const { // return designated object
return ((reference)**(const_iterator *)this); }
const_reference operator*() const { // return designated object
return (*_Myptr); }

以上。
0382名前は開発中のものです。04/03/30 01:27ID:OjGk+Cgx
実際にどういうアセンブラに落ちるか確かめてみた?
0383名前は開発中のものです。04/03/30 01:28ID:fcRSAwJm
>>375

>で、オレは最適でないのは承知の上で楽だから使ってるよ(別にキモイとかどうでもいいし)。
>クリティカルな部分だけ特別に最適なのを作る(ちうのは普通の最適化戦略だが)。

だね。オレもそう。STLの問題点がわかってりゃ適材適所で使いこなせるってことだな。
0384名前は開発中のものです。04/03/30 01:32ID:NFwNOG+I
みんな最適化で殺ぎ落とされる部分じゃん
マルチスレッドで使うとロックコードが入るだけ。
0385名前は開発中のものです。04/03/30 01:35ID:OjGk+Cgx
全部インラインになって最適化されるとかなり効率的なコードになるってのが
templateの利点のひとつだしね(メタプログラミングというのか?)

STLなんかも、もろコンパイラの最適化前提。
0386名前は開発中のものです。04/03/30 01:37ID:fcRSAwJm
>>382

自分で調べてみなって。上のCコードどおり最悪なことになっているから。
ちなみに普通の配列だったら4stateくらいで済む話です。
0387名前は開発中のものです。04/03/30 01:39ID:OjGk+Cgx
>>386
いや、調べてみていってるんだが。
最適化を掛けなきゃすごいことになったが、掛ければ配列と変わらなかったけど。
ちなみにgccの-O2で確認。
0388名前は開発中のものです。04/03/30 01:42ID:F14WhfVI
>>379
おつかれさまでした。
ちなみに、STLportのHEADでは、

reference operator[](size_type __n) { return *(begin() + __n); }
iterator begin() { return this->_M_start; }
_Tp* _M_start;

以上(@stlport/stl/_vector.h)でした。
そういうことなので、貼っていただいたモノはSTLのオーバーヘッドの具体例とはいえませんね。
おそらく、「中途半端な理解による誤解」でしょう。
STLportの使用をお勧めしますよ。
0389名前は開発中のものです。04/03/30 02:45ID:fcRSAwJm
連続投稿とかいわれてかきこめねーよ。

>>385
>全部インラインになって最適化されるとかなり効率的なコードになるってのが
>templateの利点のひとつだしね(メタプログラミングというのか?)

templateの利点?実行コードの話だよね?
効率的なコードになるのはinlineの利点であって、templateとは関係ないが。
templateはむしろ、複数の実体が生まれるっていう副作用以外、コード効率への影響はない。

>>387
>掛ければ配列と変わらなかったけど。
それはありえないね。

>>388
それじゃまだ甘い。まず+オペレーター部分が抜けてるでしょ?
そして+オペレーターから更に続くわな。
その字面通りだったら、char型でもない限り、まともにアドレスとれないよ。
トレースしてみ、ほかにも呼ばれるものがいっぱいあるよ。
字面ほど単純じゃないのがSTL。

0390名前は開発中のものです。04/03/30 02:52ID:JHyHUQlW
>>掛ければ配列と変わらなかったけど。
>それはありえないね。
・・・こいつには何を言っても無駄かと。
久々に真性のヴァカを見たよ。
0391名前は開発中のものです。04/03/30 03:09ID:F14WhfVI
>>389
あーすいません。抜けてましたね。
typedef valute_type* iterator;
typedef valute_type& reference;
ということで、続く + も * も、共に組み込み演算子ですよ。
0392名前は開発中のものです。04/03/30 03:22ID:TrwYR1M1
>その字面通りだったら、char型でもない限り、まともにアドレスとれないよ。

えっと、Cの基本が全く分かってない人ですか?
0393名前は開発中のものです。04/03/30 06:37ID:NUfc9Rms
; 14 : int& r = vInt[idx];

00000a1 00 00 00 00 mov eax, DWORD PTR ?idx@@3HA ; idx
000058b 0d 04 00 00
00 mov ecx, DWORD PTR ?vInt@@3V?$vector@HV?$allocator@H@std@@@std@@A+4
0000b8d 04 81 lea eax, DWORD PTR [ecx+eax*4]

; 15 :
0394名前は開発中のものです。04/03/30 07:04ID:SghGZQph
お前ら釣られすぎ
0395名前は開発中のものです。04/03/30 07:29ID:rluXyNAm
重要
・間違えても言い訳はせず、素直に認めることは大切。
・あり得ないと決めつける前に、自分で確かめることも大切。
0396名前は開発中のものです。04/03/30 09:44ID:DwcoFR6t
双方とりあえず汗コード載せろと。
0397名前は開発中のものです。04/03/30 09:56ID:OjGk+Cgx
>>389
>効率的なコードになるのはinlineの利点であって、templateとは関係ないが。
型の安全性を保ちつつマクロのようなことが出来るという意味で、両方だよ。
テンプレートメタプログラミングって聞いたこと無い?
(そして、そこがC++の汚さなわけだが。。。)
0398名前は開発中のものです。04/03/30 13:17ID:NFwNOG+I
>>393
そのうちシンボルの長さの分非効率って言い出すからよろしく
0399名前は開発中のものです。04/03/30 16:17ID:DlN5YGl1
(((( ;゚Д゚)))ガクガクブルブル
0400名前は開発中のものです。04/03/30 17:58ID:K6BdNsKi
自前実装の有利さは移植したときに発揮されるよ。
おまえら知らないかもしれなが、STLがサポートされてないCPPがアルンデスヨ。
0401名前は開発中のものです。04/03/30 18:07ID:DJnJzXcX
>>400
世の中には malloc も無い C コンパイラもあるが、
そこら辺、どうよ?
0402名前は開発中のものです。04/03/30 21:00ID:OjGk+Cgx
Cコンパイラも無い環境はどうしますか?
0403名前は開発中のものです。04/03/30 21:02ID:HrX2ydbg
昔はそれが普通だった
0404名前は開発中のものです。04/03/30 21:29ID:OjGk+Cgx
つまり、移植性を高めるためには、Cすら使わずに書かなければならない、と。



・・・・あれ?
0405名前は開発中のものです。04/03/30 22:01ID:se3a2dch
おいらの場合、STL使ってるけど、極端に使い込んでるわけではない。
list map vector 程度だし、使ってるメソッドもごく一部。
それらを網羅するだけのテンプレートなら、自作してしまったほうが
なにかトラブルがあったときに対処しやすいかも。

パチンコ系の仕事だと、メモリ少ないし、C++は使えるけどSTLは
使えないなんて環境がザラなので、自作するですよ。
ま、昨今のPS2の3Dゲーが普通な世間についていけなくてスピンアウトした
負け組みな自分の意見など参考にならんかもしれんけど。

でも、ゲーム用途で使用するSTLのメソッドなんて、やはり片手で
数えれる程度なんではないでしょうかねぇ?

標準でSTLが添付されているなら迷わずそちら使うんですけど
0406名前は開発中のものです。04/03/30 22:29ID:yJ2AWd9P
windows系のゲーム開発ならSTL使っても全然問題ないかな?
0407名前は開発中のものです。04/03/30 23:07ID:NFwNOG+I
問題はWindowsかどうか(リソースがたくさん取れる環境か)ということじゃなくて
使う人間がどうか、どんなゲームを作るつもりなのかの方が何十倍も影響する
0408名前は開発中のものです。04/03/30 23:30ID:OjGk+Cgx
んなアホな。
0409名前は開発中のものです。04/03/30 23:53ID:S0+3h4vN
ここ見てると、STL=テンプレートベースのコンテナ集
みたいな見方しかしてない椰子がたくさんいるような気がするのは
俺だけなのだろうか
0410名前は開発中のものです。04/03/31 00:27ID:TBla2Lpv
>>409
ぜひ、そうじゃないと言う意見を教えて欲しい。
実際のところコンテナ集程度の認識でしか使えていないので・・・
0411名前は開発中のものです。04/03/31 00:54ID:M1X+QNGk
STLにしても、mallocにしてもゲームじゃ普通に自前で書くだろ。
でもって、状況判断して、標準・自前・使わないを使い分ける罠。
キモいiteratorの自作は結構楽しい罠。
0412名前は開発中のものです。04/03/31 01:19ID:+fu0vwNy
>>410 <iterator> <algorithm> <functional> <utility>
0413名前は開発中のものです。04/03/31 01:24ID:Z6BWvJ0t
>>412
それらは全部コンテナと関連してる気がするが…
0414名前は開発中のものです。04/03/31 01:30ID:Fr8obNGJ
コンテナと関連はしてるけどコンテナ集じゃないでしょ。
ただの配列とかにも適用できるんだから。
0415名前は開発中のものです。04/03/31 01:57ID:a/n+QxhN
んでもって、そこがSTLの(ジェネリックプログラミングの)一番キモいとこだな。
bind系なんて見てらんない。
0416名前は開発中のものです。04/03/31 06:07ID:FcWrDhbd
コンシューマは大変ですね
プログラマさんの日記見てても、いちいちアセンブラに落として比較してたり、
よくそんなことやってるな、と
なんでもかんでも自作したり、ミイラ取りがよくミイラにならないか不思議です。

PCだと、軽くプロファイルとって大抵はそのまま終了だからなー

このスレみてると自分はなんて恵まれてるのかと思えてくるよ
0417名前は開発中のものです。04/03/31 07:52ID:MuVgpOUO
>410
STLはただのコンテナ集ではない
データ構造とアルゴリズムの汎用化を実現した(正確には目指した)ライブラリと捉えるべき
0418名前は開発中のものです。04/03/31 09:07ID:y4QIV3kN
>>417
でも、使いときの認識はコンテナ集なんでしょ?
0419名前は開発中のものです。04/03/31 09:43ID:MuVgpOUO
>418
わかってない子だね
STLのアルゴリズムは、STLに含まれてる標準コンテナじゃなくても
自作のコンテナや、プリミティブな配列にも適用出来るんだよ

自分の考えでは
狭義のSTL: データ構造・アルゴリズムなどを含む標準「ライブラリ」
広義のSTL: 汎用的なデータ構造・アルゴリズムを使う際の「プロトコル」
ちょっと無理あるかもしれんガナ
0420名前は開発中のものです。04/03/31 09:53ID:OpdTWfT0
>>416
俺もPCだけだけど、どんなC/C++コード書けばどんなアセンブリコードが出てくるかは
だいたい把握しとくもんだと思うけど。
>>379見てちゃんと配列同様のコードに落ちるとか予測できるくらいにはさ。

別に四六時中アセンブリ出力眺めるわけじゃなし、ちょっと地ならししとくだけで、
リーズナブルなコードを吐くC++コードを自信を持って書けるんだから。
プロファイル取って遅かったら原因は100%アルゴリズムなわけだし。
0421名前は開発中のものです。04/03/31 10:26ID:uLEtiF6X
>>420

>>>379見てちゃんと配列同様のコードに落ちるとか予測できるくらいにはさ。


>>379って、オプティマイザで本当に、>>393になるの?
それはそれで凄いコードだよね。

それはいいとして、
The insertion (called inline expansion or inlining) occurs only if
the compiler's cost/benefit analysis show it to be profitable.
Inline expansion alleviates the function-call overhead at the
potential cost of larger code size.
ってあるように、コンパイラのコスト/利益 分析次第で展開もされる
こともされないこともあるってことで、完全に処理系(オプティマイザ
オプションも含め)依存だよね?
もしコンパイラがインライン展開がコストに合わないと判断すれば、
>>379になっちゃうんだよね?
0422名前は開発中のものです。04/03/31 13:31ID:tl4psRQX
まあいまどきはgcc派生だろうからそこまで心配しなくても良いとは思うがね。
STLでダメだったら自作ってのが一番無難な流れなんだろう。

つーかSTLっつーかテンプレート使えないCPPが(略
0423名前は開発中のものです。04/03/31 14:03ID:4g/JLZH/
>>418
型があっていさえすれば相手はコンテナである必要はないよ
0424名前は開発中のものです。04/03/31 14:05ID:ympu7JaO
俺やお前らが、こうしたらいいのにーなんて思う最適化は
ふつーにやってくれる罠。
VC++のthiscallでは、thisポインタはECXに保持されるのだが
昔それを知らないで、「mov eax, this」と
eaxにthisポインタを持たせたプログラムを書いたことがあるが
最適化で見事にeaxが全部ecxにすげ替えられてた。
0425名前は開発中のものです。04/03/31 14:48ID:UG6lMDIi
>>419
どっちにしてもそれで設計が変わることはないし
別に何が便利になるわけでもないんでしょ?
ささいな問題じゃん。
0426名前は開発中のものです。04/03/31 15:49ID:/9tI2d5J
というか、STLのアルゴリズムは激しく使いにくい。
beginとendでsortするくらいならいいけどさ…。
0427名前は開発中のものです。04/03/31 17:03ID:tl4psRQX
>>424
MSのコンパイラは最高峰だろ・・・。gccの10倍はがんばってる。
0428名前は開発中のものです。04/03/31 17:56ID:6I5K9MaL
> >>379って、オプティマイザで本当に、>>393になるの?

疑う前に試してみなさいって。あんなもんがちゃんと最適化されないコンパイラあったら
俺はベンダに殴りこみかけるぞ。マジで。
0429名前は開発中のものです。04/03/31 18:27ID:uLEtiF6X
>>428

そうかぁ。オレのは.NET Standardなもんで、オプティマイザーを
かけられない。なんかいじるとオプティマイザーをアンロック
したりできないかな?やっぱ安物買いの銭失いだったか・・・。

0430名前は開発中のものです。04/03/31 19:46ID:xfT1ucaD
>やっぱ安物買いの銭失いだったか・・・。
まぁ、今のCPU性能ならよっぽど変なことやら無い限り問題ないんじゃね?
問題が出てから買い換えても遅くない罠。独自実装で最適化でもいいけど。

・・・いや、もし学生なら安いんだから買い換えとくべし。
0431名前は開発中のものです。04/03/31 20:26ID:cW5bYV1S
>>429
試すだけならGCCでもいいんじゃないかと。
0432名前は開発中のものです。04/03/31 20:27ID:Fr8obNGJ
今時はgccも頑張ってますよ
0433名前は開発中のものです。04/03/31 21:10ID:zAAx97UW
86の最適化はかなり良い感じだよね、
大局が分らないと出来ない最適化や、
作った人間には分るがコードからは分らない種の最適化以外は
ほぼ限界までやってくれる。

それに引き換えミップスは・・・・はぅ〜
0434名前は開発中のものです。04/04/02 12:29ID:2mBUdLBh
86のgccはLinuxあたりでもやらない限り使う機会はそうそうないからなぁ。
MIPS系でgccの最適化マズーとか思うのも、使ってるgccが古いせいか。

枯れたハード使ってるんだけど、メーカーのサポートも枯れてるんだよね・・・。
ライブラリリコンパイルすればちょっと速くなったりするんだろうなぁ。
0435名前は開発中のものです。04/04/02 15:27ID:XwPQLthN
Linuxならiccがあるから無理してgcc使うことも無いと思うけど
0436名前は開発中のものです。04/04/02 16:13ID:mDXRLNzu
iccって86だけでしょ?
0437名前は開発中のものです。04/04/02 22:26ID:XwPQLthN
>86のgccは
0438とむ ◆0MTMwDpCZo 04/04/03 00:46ID:+YdMve5N
サーバ移転してたんだね…。気づかなかった。
0439名前は開発中のものです。04/04/03 14:43ID:JoOhSfAZ
雑談スレじゃねーぞ
0440名前は開発中のものです。04/04/03 16:08ID:cZ8XjzeD
たいして意義があるスレでもないので案外大丈夫。
0441名前は開発中のものです。04/04/03 19:50ID:JoOhSfAZ
コテ叩きスレだろ?
コテが出たからとりあえず叩かないと。
0442名前は開発中のものです。04/04/04 12:22ID:fUh7k35d
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次の話題まだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/
0443名前は開発中のものです。04/04/05 11:57ID:tvjF7st4
設計とコーディングわけてるところってある?
企画レベルじゃなくて、実装レベルで。
0444とむ ◆0MTMwDpCZo 04/04/05 12:07ID:PeFkqqFu
「自分のところはこうやってる」と書かないと、物凄い叩かれるよ(笑)。
(過去ログ参照)

と冗談はともかく、私はやってませんねえ。知り合いにもやってる人はいなさそうです。
やってるところあるのかな?
0445名前は開発中のものです。04/04/05 13:53ID:405E+F+V
〜どうやってます?
〜をやってますか?

違いが分からないのね。
044644304/04/05 14:08ID:tvjF7st4
やってたらやってる書くよ。やってないのは当然と思ってたんだが、伝わらないかね。
0447名前は開発中のものです。04/04/05 14:37ID:JfH7Iid3
お前ら皮肉かどうか判断しろよ。
0448名前は開発中のものです。04/04/06 01:13ID:74EelaZT
え?設計ってコーディングの後にするものじゃないの?
いや、ゲームじゃなくて業務系の話だけど。
0449名前は開発中のものです。04/04/06 06:57ID:mn+0E41T
>>443
ねーよ。
0450名前は開発中のものです。04/04/06 13:40ID:93ZP4DyK
コーディングの後に来るのは仕様書だよ
0451名前は開発中のものです。04/04/07 01:03ID:jriFoG45
そして仕様書を作るフェーズが「設計」です。
0452とむ ◆0MTMwDpCZo 04/04/07 01:07ID:NmN8J3sr
つまり、

コーディング→設計→仕様作成

という手順ですね。
0453名前は開発中のものです。04/04/07 01:30ID:jriFoG45
ゲーム開発にちゃんとした仕様書も設計もないのは
・コロコロかわる仕様
・メンテが必要ないため詳細な文書化は要らない
・(人数的に)それほど大規模ではないプログラム
あたりが理由かな?

・・・とか言う俺は448
0454名前は開発中のものです。04/04/07 11:52ID:BinLy9dj
食いつき悪いな。大手だともうちょいマシなんだと想像して
おまいら、オレは中小の小規模開発チームプログラマーと素人ってことで。
0455名前は開発中のものです。04/04/07 20:07ID:3B62Dtqw
大手でも仕様・設計・コーディング手順の逆転状況は似たようなモンだよ
むしろ中小の方がそんな余裕のある事をしていると破産するからマジになってやっていたりする。
0456名前は開発中のものです。04/04/08 10:46ID:nojP3/0w
>>453

その調子で作るからネトゲがぐだぐだになるのね。
0457名前は開発中のものです。04/05/25 13:28ID:0G9kqbAy
このスレ、タイトルが面白そうでみてみたけど
ひどいインターネットで残念でした。
■ このスレッドは過去ログ倉庫に格納されています