トップページgamedev
1001コメント280KB

やね本発売

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。02/06/01 20:01ID:Ffonx4Fc
LAOX Book館逝ったら、やねうらおの本が売ってました。
という訳で、とりあえず立ててみました。
0043名前は開発中のものです。02/06/02 00:40ID:???
それ、定番ばっかじゃーん。
0044名前は開発中のものです。02/06/02 00:45ID:???
>>41 まぁゴミも買って、地雷も踏んで学習しないと
本当に価値のあるものを見抜く力はつかないけどね。
0045名前は開発中のものです。02/06/02 00:49ID:???
>>43
下手だな
0046名前は開発中のものです。02/06/02 00:54ID:???
>>42
定番の言語本は流通量が多いから安くなるけどね。
結局俺が言いたいのは、安い本=日本人が書いた本=糞本ってことだ。

>>44
本屋で軽く立ち読みすれば地雷かどうかなんてわかるだろ。普通。
あと今時、買う前にネットで評判を調べるだろ。
0047名前は開発中のものです。02/06/02 01:54ID:???
 まぁ読書家が悪いとは言わないが、ある程度のセオリーは自分で見つ
けとけと思う。デザパタ本みて半分は自力で実装済みぐらいが理想。
屋根本に関しては自分で見つけるべきセオリーの宝庫だなぁと。
0048名前は開発中のものです。02/06/02 04:30ID:QB5VRIGg
ところで、どんなゲーム作ってんの?
紙芝居エロゲー?シューディング? だと萎えるな〜ガイシュツ過ぎだろ
gemsのよーなのキボン(gemsもテーマがちと古いよね。しょうがないけど
0049名前は開発中のものです。02/06/02 04:32ID:NYYrd4RY
>>48
だれにいってんの?
0050名前は開発中のものです。02/06/02 05:27ID:???
>>49
やねうらお
0051名前は開発中のものです。02/06/02 05:49ID:???
しかしお前らは口だけは達者だな。
実際には何にも作れないくせに。
0052名前は開発中のものです。02/06/02 06:04ID:/l/PftoM
やねうらお、ぷよーん、DAKINI、suzuna
デブ板四天王が決まったな。
0053名前は開発中のものです。02/06/02 06:29ID:???
宣伝スレ立てるなよ。
0054名前は開発中のものです。02/06/02 06:35ID:???
>>51
52の人たちに言ってるの?
0055名前は開発中のものです。02/06/02 07:12ID:???
やねうらおがホンモノの天才プログラマだったら良かったのに。
天才のノウハウがあれくらいの値段で買えたら安いんだけど
残念ながら K&R でも Knuth でも天才の域にはない
ましてうらおは…
0056名前は開発中のものです。02/06/02 07:24ID:???
で、実際の中身はやっぱり糞なの?
0057名前は開発中のものです。02/06/02 09:30ID:???
誰も中身に言及しない罠
0058名前は開発中のものです。02/06/02 11:43ID:zJOkgZX2
エログラマーですが何か?
0059名前は開発中のものです。02/06/02 11:47ID:???
誰か進んで地雷踏む勇気は無いのか!?
0060名前は開発中のものです。02/06/02 13:05ID:???
「Javaをも凌ぐオブジェクト指向言語」ってどうなった?
口だけは達者で何も出来ないやつだな
0061名前は開発中のものです。02/06/02 13:06ID:MIlHs8bE
やね様の本買いますよ。
0062名前は開発中のものです。02/06/02 13:07ID:???
秀和ってブランド自体が地雷っぽいと思うのは偏見ですか?
0063名前は開発中のものです。02/06/02 14:17ID:zENeGueU
>>62
まともな本なし
0064名前は開発中のものです。02/06/02 14:52ID:???
>>62-63
激しく同意!!、略してハゲドー!
0065名前は開発中のものです。02/06/02 14:58ID:???
いい加減な本というと工学社も負けてないぞ
0066名前は開発中のものです。02/06/02 15:23ID:???
>>63
DirectX3の頃のDDrawを扱った本が悪い本じゃなかったと思うが、どうなん?
0067名前は開発中のものです。02/06/02 15:35ID:???
なんだかんだ言ってるけど、結局みんな買うんだろ? >やね本

>>65
そうだな。
ただ、値段の安さは目を見張る。
0068名前は開発中のものです。02/06/02 15:48ID:???
やねうらお先生の実装がstlに入るように推しましょう!!!
まあ名前は適切にするとして・・・
0069名前は開発中のものです。02/06/02 16:02ID:???
>>68
あんなの Windows にしか使えねぇだろ。
C++ 標準をなめちゃいかんですよ。
0070名前は開発中のものです。02/06/02 16:32ID:???
内容と表紙がアンマッチだな。
エロゲー本なんだから、表紙はもっと***とか***みたいでないと…
間違えて買った厨房が登校拒否しちゃうぞ。
0071名前は開発中のものです。02/06/02 17:17ID:???
 立ち読みしてキタヨー。永遠とオナニを見せ付けられるという点で
はエロ本ともいえるかもしれない。あと、Win畑のプログラマはコンス
ーマとは世界が違うんだなと思い知らされた。
0072名前は開発中のものです。02/06/02 18:05ID:???
>67
お前マジで買う気か?
やめとけって。

真面目な話、あの本の何に惹かれてるの?
0073名前は開発中のものです。02/06/02 18:10ID:???
買って損しました
やめといたほうが無難です
0074名前は開発中のものです。02/06/02 18:13ID:???
具体的にどう存した?
それを書かないと突っ込まれるだけだと思われ
0075名前は開発中のものです。02/06/02 18:38ID:???
なんていうか・・・
役に立ちませんでした(思っていたほど)
0076名前は開発中のものです。02/06/02 19:32ID:???
>あと、Win畑のプログラマはコンスーマとは世界が違うんだなと思い知らされた。

これって具体的にどのあたりをそう感じたの?
0077おらうねや02/06/02 19:42ID:???
立ち読みしてきたけど、ちっともいいとこ無いやん(笑
GTLって、メガデモオタクのパクリdsk?
0078名前は開発中のものです。02/06/02 19:47ID:???
>>77
テンプレートを利用したグラフィックライブラリでGTLを超える物はでてこないね(国産では)
0079名前は開発中のものです。02/06/02 19:48ID:???
>>76
メモリ周りの管理のずさんさとかだね。同業種ならわかると思うけど。
エロゲーでメモリーリーク起こして止まる奴とかが多い理由がよーく
解ったよ。
0080名前は開発中のものです。02/06/02 19:54ID:???
>>79
メモリ管理ってC++ならnewしたらdeleteする。
これ以外ないと思うんだが。
ここにWindowsプログラマとコンシューマープログラマで
違いが出るのか?
Windowsプログラマはnewしたらdeleteしないんだよって
言っているとしたら、それは暴言もいいところだぞ。
0081名前は開発中のものです。02/06/02 19:55ID:???
C++のプログラマならnewしたら滅多に自分でdeleteしない。
0082名前は開発中のものです。02/06/02 19:56ID:???
>>81
んなことはない。
0083名前は開発中のものです。02/06/02 19:58ID:???
>>82
スマートポインタ使わないのか?
0084名前は開発中のものです。02/06/02 20:02ID:???
>>83
スマートポインタに頼り切っているとリークする罠。
0085名前は開発中のものです。02/06/02 20:05ID:???
Bounds Checker使えばいいやん。
0086名前は開発中のものです。02/06/02 20:07ID:???
 うへー。newとかdeleteとかそういう問題じゃなくて、ヒープを
前提にメモリ管理するって事が信じられないって事なんですけど。

 デザパタ厨房のその辺の危機感の無さがとても怖い今日この頃です。
0087名前は開発中のものです。02/06/02 20:07ID:???
DQNコンシューマ開発者はnew/delete/は使わない。malloc/freeは1回づつ。
すべて固定長配列だからリークはない・・というアレ?
0088名前は開発中のものです。02/06/02 20:12ID:???
>>86
不満ならSTLにはアロケータ差し替えだったり、placement newを使ったり。
場合によってはoperator newをオーバーライドすればいいじゃん。
0089名前は開発中のものです。02/06/02 20:14ID:???
>>80 >>87
ヒープのフラグメンテーションって知ってる?
0090名前は開発中のものです。02/06/02 20:21ID:???
>>89
なぜnew、deleteとヒープを結びつけるんだよ。
結局は君らが無知なだけじゃん。
簡単に他人をバカにし過ぎなの。
0091名前は開発中のものです。02/06/02 20:23ID:???
>>89
それぐらい知ってるのが普通だよ
80でも87でもない上にクソやね本も読んでないけど
ところで晩飯なに食べる?
0092名前は開発中のものです。02/06/02 20:31ID:???
大体ヒープを否定する奴がどうかしてるよ。
ヒープだろうがスタックだろうが
自分で確保した分を返さなけりゃ
リークすることには変わりないだろ。
ただアプリの終了で帳消しになるか否かで。
>エロゲーでメモリーリーク起こして止まる奴とかが多い理由がよーく
>解ったよ。
この理屈ならコンシューマープログラマは
スタックのおかげでメモリーリークが表面化していないに過ぎない。
0093名前は開発中のものです。02/06/02 20:31ID:???
>>91
89じゃないけど、親子丼食った
00948902/06/02 20:33ID:???
>>90
ごめん、いってるとこわからないよ。
new/deleteとヒープって元は別物なの?
君らって誰よ?
いつ誰をバカにした?
わからないのは無知だからかなぁ?

>>91
フラグメンテーションをしってたら、
> メモリ管理ってC++ならnewしたらdeleteする。
> これ以外ないと思うんだが。
これじゃぁ済まないと思うよ。
00958902/06/02 20:36ID:???
>>91
ごめんわすれてた。
コンビニの塩カルビごはん食った。
0096名前は開発中のものです。02/06/02 20:37ID:???
こらこら、お前ら意味の解らん煽り会いするな。
 漏れはスマポを扱う時はそれに追従する問題点を把握すべきだと
思うのよ。うらやね氏の著にはその辺が欠けてるなぁと。うち等だっ
て気楽にヒープ使えるならつかいてーよ。

>>92
キミ、根本的に間違ってる。出直しておいで。
0097名前は開発中のものです。02/06/02 20:39ID:???
>>94 フラグメンテーションをしってたら(略)
まさか、newしたらOSからメモリを取ってきて、deleteしたらOSに返すと思ってる?
new/deleteをオーバーライドすれば好きなようにカスタマイズ出来るから
断片化が発生するならそれを回避するコードを入れれば良いだけ。
0098名前は開発中のものです。02/06/02 20:41ID:???
メモリリークと、ヒープのフラグメンテーションをごっちゃに語る厨がいるな・・・
0099名前は開発中のものです。02/06/02 20:44ID:rOylPC2c
ちょっと怖くなってきたので試しに聞いてみるけど、メモリの
アロケートって具体的にどういう事してるかって、皆分かって
るよね?
なら、ここでメモリの分断化が問題視されてる理由も分かる
よね?

とりあえず分からなかったら、「プログラミング言語C」を読む
のをお勧めする。
0100名前は開発中のものです。02/06/02 20:49ID:???
>>99
あんた89?
new したら delete すると分断化(?)が起こる理由を説明してくれ。
0101名前は開発中のものです。02/06/02 20:49ID:???
>>97
>>断片化が発生するならそれを回避するコードを入れれば良いだけ。

すげぇなぁ。そんなコードがあるなら最初からmallocなんか存在
しねーよ。厨の妄想にはついていけないよ。 
0102名前は開発中のものです。02/06/02 20:51ID:???
今時コンシュマーでもヒープは当たり前だよ。
使ってないのはスーパーファミコンから進歩していないヲヤジグラマぐらい。

彼らはヒープ=断片化といったステレオタイプな考えから一生抜けられないと思うから
相手にしないほうが無難。
0103名前は開発中のものです。02/06/02 20:52ID:???
こういうはなしじゃないの?

------------------
foo1 = new ...
+++++-------------
foo2 = new ...
+++++****---------
foo3 = new ...
+++++****#####----
delete foo2;
+++++----#####----
0104名前は開発中のものです。02/06/02 20:53ID:???
そんなコードがあるなら最初からmallocなんか存在 しねーよ

ハァ?
0105名前は開発中のものです。02/06/02 20:54ID:???
>>103
そういうときはfoo4をnewするときにfoo2の領域を再利用すれば良いだけ。
0106名前は開発中のものです。02/06/02 20:55ID:???
>>101
物凄くハズカチー発言なんですが、あなた頭大丈夫ですか?

new/deleteをオーバーライドして固定長のバッファを割り当ててやればいいだけ。
01078902/06/02 20:55ID:???
99は違う人です。

>>100
分断化に(?)つけてる奴に説明できる自信はありません。
とりあえず、Google 検索である程度いけるみたいだからそっちに逝ってくれ。
キーワードは ヒープ フラグメンテーション だ。
Windows好きなら「喜びと苦悩」とかも読んだらいいかモナぁ。
0108名前は開発中のものです。02/06/02 20:55ID:???
>>102
ヒープオンリーでメモリ管理できるなんてメモリを最大まで使わない
ギャルゲーぐらいじゃねーの?シーン毎に複雑なテクスチャやモデル
の入れ替えが発生するタイプのゲームではメモリなんてあっというま
にズタズタだよ。
01099902/06/02 20:56ID:???
>100
すまん、「プログラミング言語C」を出したのは煽りでは無くてAlloc
の書き方が載ってるんですよ。何ページかは忘れましたが。
もちろん一度newとdeleteしただけでは問題ないですよ。
01108902/06/02 20:57ID:???
>>106
その「固定長のバッファ」はどこからとってきて、いつ開放されます?
もしかして静的メモリですか?
01119902/06/02 20:58ID:???
そして「メモリの分断化」って一般的な用語じゃないのね。
混乱させてすまぬ。
0112名前は開発中のものです。02/06/02 20:58ID:???
>分断化に(?)つけてる奴に説明できる自信はありません。

すまないね。漏れは断片化って言うもんだと思ってたから、
分断化が一般なのか?って意味で(?)をつけた。
0113名前は開発中のものです。02/06/02 20:58ID:???
はっきりさせておくが、Windowsプログラマが全員、やねさまみたいなプログラマじゃねーぞ。
0114名前は開発中のものです。02/06/02 21:00ID:???
つーか>>86がヒープ云々を持ち出すから
訳がわからなくなった。
0115名前は開発中のものです。02/06/02 21:01ID:???
>>114
もちっと、勉強すれ。
0116名前は開発中のものです。02/06/02 21:01ID:???
>>110
機種依存で良いなら(スタック上など)どのようにでも
0117名前は開発中のものです。02/06/02 21:02ID:???
>>108
だからさぁ、一つのヒープで全部管理しようというのがそもそも間違いなわけよ。
テクスチャ用ヒープ、モデル用ヒープ、タスク用ヒープ、エフェクト用ヒープ、制御用ヒープ
それぞれ固定長で確保してその中でやりくりするわけ。
またシーンの切り替えなどで定期的にリセットしてやるわけ。
ゲームの進行に関わる重要な部分はスタティックなメモリを使えば良いだけ。
0118名前は開発中のものです。02/06/02 21:03ID:???
自前メモリマネージャでゲーム中にいつでも断片化状態を見れるようにしてる。
まあタイトな部分はすでメモリプールにしちゃっていたものの、
心配しすぎては損だとの印象を得た。
0119名前は開発中のものです。02/06/02 21:04ID:???
>116
そういう事ではないよ
君のアロケーターはサイズ指定が出来なくて、必ず同じ大きさの
メモリしか取れんのか?
0120名前は開発中のものです。02/06/02 21:04ID:???
やね様の本にヒープを前提にすると書いてありましたか?
たとえ書いてあったとしても、それは些細な問題で、
メモリさえ確保できればヒープ上だろうが静的領域だろうが問題じゃありません。
望みのままに逝けます。それを言語の機能やライブラリでサポートした物が
STLのアロケータだったり、newとdeleteのオーバーライドだったりします。

それから、好きな位置に確保できる配置newという構文も用意されてます。
01218902/06/02 21:05ID:???
>>112
あー、そういうことでしたか。
まぁ簡単な例だと、 >>102 あたりだとおもいます。
>>116
粘着ですんませんが、
どのように取ってきたメモリでも、固定長バッファとして割り当てられるような
new/deleteのオーバーロードの仕方を教えてください。
0122名前は開発中のものです。02/06/02 21:05ID:???
メモリ、メモリ、ってうるせーなー

メモリリークしたくらいで、プログラムが止まるわけねーだろ。
01238602/06/02 21:05ID:???
>>114
申し訳ないです。ここまでの流れを見てもらえば解るようにコンスマ
とウインにはメモリ管理に大きな壁があるのですよ。それはもう実績
から来る理論なのでここであーだこーだゆーても決着はつかんですね。

で、自分の目から見てコードサイズが膨れ上がるstlをベースにライブ
ラリ設計していたりとか、メモリへの危機感が少ないなーと。ただそ
れだけの感想です。

もちろん一般的なWinプログラマはちゃんと諸々の問題に真剣に取り組
んでいる事ぐらいは知っていますよ。(エログラマは怪しいが)
0124名前は開発中のものです。02/06/02 21:06ID:???
>117
やね本には、そんな高度な事は書いてないに違いない。
0125名前は開発中のものです。02/06/02 21:07ID:???
>>115

>>79はWinプログラマはメモリ管理が杜撰だと言ってるのに対して
>>86がヒープ使ってるから駄目だと言い出したのが原因じゃん。
メモリ管理と銘打つ以上スタックだろうがヒープだろうが
リークは起こるんだよ。
プログラム側で、スタックの上のあるメモリ領域が使用中だと判断すれば
他の目的には使えないことには変わりないんだから。
0126名前は開発中のものです。02/06/02 21:08ID:???
>>110
静的メモリでも、動的メモリでもお好きなように。
4byte要求されても、224byte要求されても256byteずつ割り当ていれば断片化は起こらんでしょ。
256byte以上要求されたら、NULLを返す。

当たり前だけど、汎用には使えないから対象となるクラスのnew/deleteだけをオーバーライドするんだけどね。
0127名前は開発中のものです。02/06/02 21:11ID:???
>122
>メモリリークしたくらいで、プログラムが止まるわけねーだろ。

メモリリークは >79 が、
>エロゲーでメモリーリーク起こして止まる奴とかが多い理由がよーく 解ったよ。
と知ったかぶりしてるだけなので、無視しときましょ。
0128名前は開発中のものです。02/06/02 21:12ID:???
>>123
今後は特殊な例を出してそれを一般化するのはヤメレ
0129名前は開発中のものです。02/06/02 21:13ID:???
>126も十分特殊だと思うが。
0130名前は開発中のものです。02/06/02 21:13ID:???
ゲ製板にmalloc論争スレがないのが前から気になってたんだよな
0131名前は開発中のものです。02/06/02 21:14ID:???
>>127
 いや、いろんなものの開放し忘れで止まるエロゲー多いよ。
大体は発売後のパッチで直るけどね。79は単純にそういう危機感の
無さを指摘してるだけだとおもうよ。ねぇ、やねうらおさん?
0132名前は開発中のものです。02/06/02 21:15ID:???
そりゃコンシューマとWinではメモリの使い方に対して方針が違ってきて当たり前でしょう
0133名前は開発中のものです。02/06/02 21:15ID:???
>>121
class Texture
{
 static void* heap;
 size_t index;
public:
 inline operator new(size_t size)
 { return static_cast<char*>(heap) + index; }
 operator delete();
};
void* Texture::heap = (望みのままに);
こんな感じでテクスチャごとだったり、モデルごとにヒープを確保できて、
勿論operator newの中身は書く。

void* global_heap = (利用可能なメモリすべて);
として、グローバルなoperator newを定義すればすべての管理を掌握出来、

char buf[0x1000];
new(buf) Object;
これでbuf上にオブジェクトを作成できる。

C++の基礎中の基礎
0134名前は開発中のものです。02/06/02 21:16ID:???
つーかコンピューターの進化って
大局的には、STLとかそういう便利な機能を
使えるようにする為にあると思うんだよなぁ。
文句を言うべきなのは、クラシックな方法を強いる
環境の方だよ。
0135名前は開発中のものです。02/06/02 21:17ID:???
smart_ptr等にはつかっちゃいけない場面があって、
それを知らないとハマるかもしれないことは分かります。
で、real smart pointerはそのへんの心配はないのでしょうか?
0136名前は開発中のものです。02/06/02 21:18ID:???
>>131
頼むから名前を挙げてくれ。
解放し忘れただけで止まるプログラムなんか知らない。
メモリを食いつぶすだけだろ。
(Winにおいて)リソースリークは深刻だが。
0137名前は開発中のものです。02/06/02 21:18ID:???
そもそもこの言い争いは、「GTLは日本最強」とか言い出した人がいたから
発生した気がする。
ライブラリスレも同じように荒れた記憶があるのだが。
0138名前は開発中のものです。02/06/02 21:18ID:???
Windowsプログラムはメモリーが無限大であることが前提
足りなければ増設してください、貧乏人
0139名前は開発中のものです。02/06/02 21:19ID:???
>>134
そうゆう方向に進化した唯一のハードであるXBOX様がいま命の灯火を消そ
うとしているところなのでヒープとの果てしない争いは終わる事が無いと
思われ。
0140名前は開発中のものです。02/06/02 21:19ID:???
boost::shared_ptr等に代表される参照カウント式のスマートポインタは、
巡回参照にさえ気をつけていれば問題ない(リークは起きない)。
real smart pointerって何か知らないんだけど、GCのサブセットか何か?
0141名前は開発中のものです。02/06/02 21:19ID:???
富豪的プログラミングはゲームにおいてはやはりまだ厳しいのか
0142名前は開発中のものです。02/06/02 21:20ID:???
>136
だから、知ったか厨は無視しましょ。
0143名前は開発中のものです。02/06/02 21:21ID:???
つーか俺はスマートポインタなんぞ使いたいと思ったことがないなぁ。
確保したら開放する、これの方がすっきりして気持ちイイじゃん。
皆さんはどう?
■ このスレッドは過去ログ倉庫に格納されています