トップページgamedev
148コメント40KB

ゲームのデータファイルについて語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/18 12:27ID:YbPM6OMf
ゲームのデータファイルについて語るスレです

データファイルの種類(画像、BGM、効果音、音声など)は問いません
データファイルのフォーマット、圧縮、プロテクトなど語りましょう
0002201/11/18 12:35ID:???
[ヘッダ2byte][チェックサム2byte][データ2byte]
0003101/11/18 12:42ID:???
とりあえずフォーマットあたりから

ゲームを作るときには当然
データファイルのフォーマットも考えなければなりません
ちなみにいくつかのWINのゲームのデータファイルを見てみると
だいたい下記のような感じになってますね

・ヘッダー情報(識別ID、ファイル内のデータの数など)
 ファイル先頭に(必ずといっていいほど)ある
 特にはじめの4バイトが識別IDになってるものが多い(?)

・データ情報(データの識別名、位置、サイズなど)
 たいてい、ヘッダー情報の後にこれが配列される
 この数はヘッダー情報にある

・実際のデータ
 データ情報の配列の後に来る
 (ヘッダー情報のサイズ+データ情報×配列数の後)

私もゲームのデータファイルはこうしてますが、
他にもよく使われるフォーマットありますか?
0004101/11/18 12:46ID:???
追加
> 特にはじめの4バイトが識別IDになってるものが多い(?)
例えばYSUEのデータファイル(monde.ys2)は
初めの4バイトは"YS2E"が
メモオフ(***.dat)は"lnk"が識別IDとして入ってます
0005名無しさん@お腹いっぱい。01/11/18 13:11ID:0XqbuScU
可変長データのストアにはどんな構造使ってる?
俺はRIFF-WAVEみたいに、
DWORD ID
DWORD size
BYTE data dup(size)
のチャンク構造でやってるけど。
0006名無しさん@お腹いっぱい。01/11/18 13:31ID:+D6UHFOl
>3,4
コンパイラが(というかCPUが)32ビットごとに
アクセスしたほうがパフォーマンスがいいから
Cで書くと

struct data
{
  long sign;
  long width;
  long height;
  ...
}

という風に宣言しておくのはよくやるみたい。
CGの横幅なんか2バイトで十分そうでも4バイトとるし。
0007名無しさん@お腹いっぱい。01/11/18 13:34ID:CJPmmNZI
ところで、先頭の4バイトの識別子は、
magicが一般的ですか?
0008名無しさん@お腹いっぱい。01/11/18 15:22ID:???
 MAGファイルから直接DirectDrawのサーフェスに
読み込ませてる俺はDQNですか?
0009(●´ー`●)01/11/18 15:51ID:???
このスレなぁ、今んとこプログラマの好みの問題にみえるべ。
0010名無しさん@お腹いっぱい。01/11/18 17:02ID:I9nxB+Qv
参考資料
http://www.wotsit.org/
0011名無しさん@お腹いっぱい。01/11/18 19:24ID:JxPdgokv
>10
おお、こんなところ知らなかった。便利だ、感謝。

画像ファイルとかって、皆どうやって扱ってるのかな。
俺はMAGっぽい独自フォーマットで圧縮して、何十枚かまとめて
一つのファイルにしてる。ヘッダにオフセットのサイズの情報を
書いておいて、適宜抜き出してるけど。
0012名無しさん@お腹いっぱい。01/11/18 19:32ID:ZN+7V7L8
圧縮ならS3TCが扱いやすい。
固定長マンセー
00131101/11/18 19:50ID:???
s/オフセットのサイズ/オフセットとサイズ/
0014PSEC鍵生成パラメータ教えて01/11/18 20:06ID:dvJg5esY
暗号化だが、
http://info.isl.ntt.co.jp/
のEPOC PSEC Camelliaはどうか。
特にCamellia。
■ このスレッドは過去ログ倉庫に格納されています