• ベストアンサー

ゲームでの画像や音声データの扱いについて

市販されているパソコンゲームではexeファイルの他に音声画像データが入っていますけど、そのファイルの拡張子ってdatだったり他のよくわからないようなものになっていますが、それはWin32APIやDirectXを使ってそのような形式に変更できるようになるのですか?またそのようなファイルを読み込むこともできるのでしょうか? C&C++に限った話ではないのですが今自分がC++でのゲームを作るためにプログラミングを勉強していたのでここに書き込んでみました。よろしくお願いします。

  • SALAF
  • お礼率100% (2/2)

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

現役のゲーム開発者です。 最終的にDirectXで使う場合は、最終的にはBMPやDDSやらTGAになっています。 それらは複数のファイルあるをけですが ファイルをひとつにまとめてしまいます。 例えば単純にA.bmp B.bmp C.mppを連結させてABC.datをつくり 使用するときはメモリ内部で展開します。 勿論市販されているゲームはそんな単純ではなく 暗号化されていたりします。 あくまで一例です。datファイルにフォーマット規定はありません。 またそれらを リソースでバイナリファイルとして扱い exeファイルの中に埋め込む事も可能です。

SALAF
質問者

お礼

つまり画像や音声のデータをあらかじめ連結させておき、実行するときに展開するわけですね。 謎が解けました。どうもありがとうございました。

その他の回答 (1)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

んー正直なところ、そのゲーム会社にもよるのですが、 一番一般的なところを。 普通に扱える状態のまま音声や画像のデータを入れることは流用とかされてしまうので、昨今はしませんね。 なので、自社で決めたオリジナルのフォーマットにしてしまうとか、全部が全部でなくても、多少一般的なものからいじるとか。 なので、ファイルを読み込んだ後に、使えるデータに変換し利用しているので、APIやDirectXの関数でというのではなく(読み込みは標準関数でもできるので)、そのような機能をもった関数を自分たちで作っているだけといったところでしょうか。

SALAF
質問者

お礼

そういえば標準関数で読み込みができましたね。入門書のファイル入出力の項目ではテキストファイルを扱っていたので、失念していました。 データの変換に関しては難しそうですが、勉強していけばそのうちわかるような気がします。 どうもありがとうございました。

関連するQ&A

  • 再・ゲームを公開するに当たって、圧縮ファイルの中身は?(ゲームはNScripterで作成)

    同じ質問をしたのですが、多分ジャンルを間違っているので再度質問します。 ただいま「NScripter」でADVゲームを作っているのですが、 公開するに当たって「lzh形式」と「exe形式」で圧縮するのですが ここら辺がイマイチわからず、圧縮ファイルの中身をどうすればいいのかわかりません。 ゲームにはテキストファイルの「0.txt」などが必要なのに、 同じソフトを使った他のゲームを見るとテキストファイルはどこにも入っていません。なのに動作するのはなぜ? どうやって「nscript.dat」を作成すればいいのでしょうか。 多分「nscript.dat」のなかに画像ファイルや「0.txt」やら音声ファイルなどが入っていると思うのですが・・ 素人なもので、非常に困っています。教えてください。

  • ゲームフォルダの中に画像ファイルがない?

    ゲームフォルダの中に画像ファイルがない? あるゲームのフォルダの中に画像ファイルがないのですが、ただDATファイルが一つだけあります。(他のフォルダを探したのですが、後はoggファイルとexeファイルとhtmファイルだけ)多分これが画像ファイルだと思うのですが、ペイントソフトでは開けません。このDATファイルには画像ファイルが入っているでいいのでしょうか?また、どうやって画像ファイルを一つのファイルにまとめることができるのでしょうか? 変な質問なら申し訳ありません

  • Win32APIのゲームやアニメーションについての書籍

     Win32APIでゲーム(もぐらたたき)を作りたいのですが、Win32APIでゲームを扱っている書籍が少ないような気がします。(テトリスは多いですが)  もう一つ、DirectXでは画像やアニメーションの本はたくさんありますが、Win32APIではアニメーションの作り方について、多数しかも手取り足取り載っているのが見当たらないです。特にビットマップエディタの使い方がよく分からなくて困っています。Visual Studio 2005のVisual C++を使っています。  ちなみに今まで「Windowsゲームプログラミング 赤坂玲音著」で勉強して、ちょこちょこサイトでアニメーションを勉強しましたが、自分でアニメーションを作ろうと思うとあまりに情報不足な状態です。  Win32APIのゲームやアニメーションについての書籍やサイトがあれば教えていただけたら嬉しいです。

  • DirectXやWin32API (2Dゲーム作りたいです)

    こんにちは,私は2D(最終的には3D(メインは2D))のゲームを C++,DirectX を利用して作りたいと思っています.  今のところ,プログラミングはC,C++は入門+α, ゲーム関係は『ゲームプログラマになる前に覚えておきたい技術』という本の2D分野を読み実習しました.このゲームの本はDirectXやWin32APIなどを利用せずに,なにやらライブラリなどを用意していてそれを利用する形でした. -- 質問 --  DirectX や Win32API を全然わからないという このくらいの知識の人が本格的に2Dゲームをだんだんと作って行きたいのですが,このそれぞれに対してなにかよい参考書はないでしょうか,またその理由などもいただきたいです. --気になること-- 以下あいまいな知識の質問です. ・最近(DirectX7以降かな)はDirectXは2D描写と3D描写の機能が合体したと聞きました,DirectXの参考書は3Dのばかりで3Dも学べていいのですが,2Dゲームが作れるDirectXの内容も詳しく含んだ参考書が欲しいです. ・Win32APIはゲーム製作にどう影響してくるんですか?まだよくわかっていません.ゲームウィンドウなどを表示するのは必用そうですが,, サウンドやグラフィックを読み込むのに必須なのだろうか, でもそれはDirectXでもできませんか?関係がよくわかりません. --まとめ-- できれば 気になること の回答など簡単にしていただきたいです.  長文ここまで読んでいただきありがとうございました. よろしくお願いします.

  • ゲームソフトから音楽データを取り出したい

    ゲームのインストールフォルダのデータファイルなどから音楽再生データを 取り出すことは可能でしょうか?そのインストールフォルダには起動ファイルのほかに TCDという拡張子のファイルが3つ、DATという拡張子のファイルが6つ入っています。 むしろこれは違法行為でしょうか。。。?

  • サーバーにゲームファイルを置く方法

    はじめまして、よろしくお願いします。 PC環境  WIN・XP  FTPソフト アドベ社 ゴーライブ ダウンロードしてきたゲームを当サーバーにアップして、 ブラウザーからアクセスをしてゲームを楽しむ方法はありますか? 当方素人のためゲームフォルダーをそのままアップしましたら、ほとんどのデーターがアップできませんでした。 ざっとですがファイルの拡張子を記入します。 .txt STKファイル .EXE(アプリケーション) .MPB .DAT その他ゲームミュージックファイルなどありますが、 100ぐらいのファイルのうち20ぐらいしかアップできませんでした。 通常PCよりゲームを楽しむ場合は、上記のアプリケーションファイルを開いてゲームが始まります。 説明不足でわかりずらいと思いますが、よろしくご返答をお願いします。

  • 困っています、音声が出なくなってしまいました!

    先日、Windows Media Player で avi ファイルを再生しようとしたところ、「ファイルを再生できません。ファイルが破損しているか、再生しようとしているファイルの形式が Windows Media Player でサポートされていません」というメッセージが表示されたので勝手に自己判断して(←これがいけなかったのですが) 「 Codec かな?」と思い、DirectX 9.0b End-User Runtime と wmpcdcs8.exe を実行したところ音声が出なくなってしまいました!OS が XP(Pro) なのでシステムの復元も試みたのですが治りません!上記のCodec や、DirectX 実行後の修復をご存知の方、アドバイス宜敷くお願いします。

  • 何かを記録するにはファイル処理で自作ですか?

     Winの(API)プログラミングをC言語で行っており、今、勉強しています。GUIのことは大体わかってきました。それで疑問に思ったのですが、例えばゲームのソフトだとして、得点なんかを記録しておきたいことがあったとします。  一回実行を止めてから、また実行して、その情報を読み出すには、自分で変数の内容を保存しているということになると思います。  アプリケーション独自の保存形式などありますが、あれは変数の内容をファイルに書き出すということなんですか?  色んなプログラミングのサイトを見ても、いろいろなサンプルプログラミングはありますが、そういうタイプのものがファイル処理しか目に付きません。C言語で、ファイル処理というのをならったき、○○.datというファイルにファイルポインタで文字列を読み出したり、書き込んだりすることを習いましたが、そういう入出力する部分を自分でつくっておくものなんですか?  アプリケーションをつくるうえで、基本的なことだと思いますが、詳しい人がいましたら教えてください。よろしくお願いします。

  • 簡単なシューティングゲームの作り方

    簡単なシューティングゲームを作りたいのですが、 方法を教えてください。 API(win32)、DirectXなどを勉強し、C言語等もある程度マスターしていなければ、簡単なやつでも作れないでしょうか? もしおすすめのサイトや本などありましたら教えてください。 お願いします。

  • C++とゲームプログラミング

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。