ファイルマジックPRO
機種共通の特長
■ 主な特長
1. さまざまなファイルを圧縮&パッキング
『ファイルマジック®PRO』は、種類や特性に応じてファイルを圧縮しパッキングすることで、
ファイルサイズを約1/2に削減します。

ファイルを圧縮することによって、ディスクメディアやカードにより多くのファイルを収めることができます。
また、パッキングによりオープン&クローズ回数を減らし、パフォーマンスを向上させます。
『ファイルマジック®PRO』は、製造コストの削減にも大きく貢献します。
カードメディアの場合はより低容量のものを選択することができ、ディスクメディアの場合は2層ディスクを1層ディスクにできるようになります。
2. 圧縮ファイル展開時のワーク領域不要
『ファイルマジック®PRO』は、独自の展開技術『Majik-Decomp™(マジック・ディコンプ™)』により、圧縮ファイルを一時的に読み込むための
「ワーク領域」が不要です。そのため、限られたメモリ領域を有効に使うことができます。CPUの空き時間を利用し、展開処理をバックグラウンドで実行するため、アプリケーションに負担をかけません。

3. 圧縮ファイル読み込みと展開のオーバーラップ
ワーク領域が不要になることにより、複数データの読み込み・展開を同時に行うことができるようになります。これにより
圧縮データの展開時間がほぼゼロとなり、高速な読み込みを実現できます。

4. ロード時間の大幅短縮
ロード時間の短縮は、リード時間とシーク時間を短縮することで実現できます。
『ファイルマジック®PRO』は、ファイルを圧縮することで
リード時間を短縮します。例えば、ファイルサイズを「半分」に圧縮することによって、従来10秒かかっていたリード時間を、5秒にまで縮めることができます。
また『ファイルマジック®PRO』は、「グループロード機能」、「デュプリケート(複製)機能」、「ファイル配置の最適化」によって、ロード時間の大敵である
ムダなシークを激減させます。
『ファイルマジック®PRO』により「Now Loading」の時間を短縮することで、ゲームの流れを阻害せずプレイヤーを待たせない、ユーザビリティの高いゲームづくりを実現できます。

※画像ファイル(BMP)を読み込んで測定。ファイルマジック®使用時は、元ファイルを約43%に圧縮。
※非圧縮/圧縮とも、10個のファイルを一括読み込みして計測。表内のロードサイズは10ファイルの合計値。
※ロードサイズは、各プラットフォームのRAMに合わせて設定。
※WiiとPSPはDVD-R、PlayStation3はBD-RE、Xbox360はエミュレータ上で計測。
※なお、オプティカルメディアでないニンテンドーDSの場合でも、約1.4倍の速度向上が見込めます。
5. ディスク上のファイル配置を自動的に最適化
『ファイルマジック®PRO』は、ファイルロードの順序やアクセス頻度などを解析し、メディア上でのファイルの配置を最適化します。テストプレイ中のファイルアクセスログをもとに、
シークが少なくなるようにファイルを配置します。
ゲームのあるシーンで使用するファイルが別のシーンでも使われるような場合、そのファイルを
自動的にデュプリケート(複製)し、それぞれのシーン近くに配置することで、シークの発生を抑制することもできます。

■ ツールについて
6. 追記対応 NEW
圧縮パッキング後のファイル(=CPKファイル)に対する追記を実現しました。再圧縮や再パッキングの必要がなくなり、ストレスのないファイルの追加・変更ができます。
7. グループ情報による近接配置 NEW
連続して読み込む複数のファイルをあらかじめグループ化します。グループ情報をもとにファイルの近接配置を行うことでロード時間を短縮できます。

8. デュプリケート(複製)機能 NEW
シークを抑制するために、ファイルを自動的にデュプリケート(複製)する機能を搭載しています。複数個所で読み込まれるファイルをデュプリケートし連続的に配置することで、ムダなシークを抑制します。
ディスクメディアの未使用領域を活用することで、さらなるロード時間の短縮を実現します。

9. 重複ファイルの一元化 NEW
重複ファイルの実体を1つにまとめること(一元化)でROM容量を削減します。
10. セキュリティ&暗号化
『ファイルマジック®』独自のパッキングファイル(=CPKファイル)を採用しています。これにより、不正なデータ取り出しを未然に防止します。また、ファイルの暗号化にも対応しています。
11. 使いやすい専用ツール
コマンドライン版、GUI版、エクセル版の3種類のツールを用意しています。開発環境にあわせて自由な選択が可能です。
■ ランタイムについて
12. ノンブロッキングのファイルシステム
ほぼすべての関数が即時復帰型となっています。「アプリケーションのメインループが長時間ブロックされ、画面が更新されない」といった問題を解消します。
13. 圧縮を意識させないロードAPI
読み込み対象ファイルが圧縮されているか、非圧縮であるかを意識することなく、同じAPIでロードすることができます。
14. IDによるファイルアクセス
識別子(ID)によるファイルアクセスが可能です。メモリに常駐する管理情報を節約することができます(6~10Byte/ファイル)。ファイル名によるアクセスも可能です。
15. プライオリティ設定
プライオリティ設定によるファイル読み込みの順序の制御が可能です。「巨大なファイルを読み込んでいる最中に、割り込んで優先度の高いファイルを読み込ませる」といったことも簡単に実現することができます。
16. マルチバインド機能 NEW
ファイルの読み込み先として複数のデバイス(DVDなどの光ディスク、ホストPC、メモリースティックなど)を指定し、優先度を設定しロードすることができます。DVDからロードしながら一部の更新ファイルをホストPC上から直接読み込むことができるので、更新ファイルをすぐに確認できます。
ファイル差し替えが頻繁に発生する場合でもディスクの焼き直しが必要なくなり、作業フローの効率化に貢献します。

17. グループロード機能 NEW
グループ化したファイル群の一括ロードが可能です。読み込み命令を変更せずにグループ内ファイルの更新・追加を実現します。

18. ユニファイドローダー
メディア上のファイルも、メモリ上のファイルも、同じAPIでアクセスが可能です。
19. ファイルアクセスレイヤを換装可能
ネイティブファイルシステムへのアクセス部分をお客様独自のファイルシステムに差し替え可能です。
20. Now Loading進捗表示 NEW
「Now Loading」中の進捗状況の目安を出力可能です。ゲームプレイヤーのために「どれだけロードしたか」をリアルタイムに表示することができます。
21. プロトタイプ制作をサポート
PC用ランタイムを活用することで、PC上で手軽にアプリケーションの動作確認が可能です。プロトタイプ制作を強力にサポートします。
22. 機種ごとの規定に準拠
プラットフォームベンダーごとに細かく定められている「ディスク取り出し」や「リードエラー」に関する各種規定に準拠しています。『ファイルマジック®PRO』を利用するだけで、規定を遵守したアプリケーションを手軽に実現できます。
23. 全プラットフォーム対応
主要なプラットフォームのすべて(※)に対応しています。機種ごとに最適化されたライブラリ、機種共通の開発ツールを提供します。
(※)Wii、Wiiウェア、PlayStation3、Xbox360、PlayStation2(予定)、PSP、ニンテンドーDS、PC
機種別の特長
- PSP ・・・ メモリースティック デュオからのデータ読み込み機能 NEW
メモリースティック デュオにインストールされたデータの読み込みに対応しています。アクセス頻度の高いデータをインストールしておくことで、ロード時間を高速化します。バッテリー消費の抑制やシーク音の軽減に効果的です。
また、メモリースティックからのデータ読み込み中にエラーが起こった場合に必要となる複雑な処理を、全て自動で行うことができます。
メモリースティック デュオからのデータ読み込みの詳細は、2010年2月24日発表のニュースリリースをご参照ください。
- Wii ・・・ Wiiウェア対応
Wii本体保存メモリ上で動作するアプリケーションをサポートしています。Wii用DVDメディアに格納されたゲームだけでなく、ダウンロードコンテンツである「Wiiウェア」向けのファイルシステムとして利用可能です。
- PlayStation3 ・・・ 標準フォーマット対応
PlayStation標準のアーカイブフォーマットに対応しています。
- ニンテンドーDS ・・・ 低容量化&「救声主」との連携
大容量ディスクメディアではなく、DS専用カードを採用しているニンテンドーDSでは、ファイルを圧縮して、より低容量のカードに収めることが可能になります。
また、ニンテンドーDS向け音声再生システム『救声主』と併用することで、音声ストリーム再生中のファイル読み込みを実現します。ファイル読み込み中の音声の途切れや、ファイル読み込みの遅延を回避できます。
コラム: ロード時間が半分になる仕組み
ゲームの「ロード時間」は、「リード時間」と「シーク時間」によって決まります。

「リード(read)時間」とは、その名のとおり、ファイルそのものを読み込むための時間です。当然、読み込むファイルサイズに比例して「リード時間」は長くなります。ファイルを圧縮するとファイルサイズを小さくできますので、「リード時間」を短縮できます。もちろん、圧縮したデータは展開しなければなりません。展開の仕方次第では、かえってロード時間が長くなってしまう場合もあります。
読み込み処理と展開処理とを並列に実行することによって、展開時間をほぼゼロにすることができます。
「シーク(seek)時間」とは、ディスクメディア上の特定の位置からファイルを読み込むために、ヘッド(ピックアップ)を物理的に移動させるための時間です。ヘッドのシークは非常に時間がかかりますので、その発生を抑えることはロード時間の短縮に大きく貢献します。
読み込むファイル量が同一であっても、それらのファイルがバラバラに配置されているとムダなシークが発生してしまい、読み込み効率が低下し、ロード時間が余計にかかってしまいます。
ファイルが連続的に配置されているとシークの発生も抑制され(完全に連続して配置されている場合にはシークはまったく発生しません)、一括して読み込むことができるため、ロード時間も大幅に短縮できます。
このように、ロード時間の削減は:

によって実現することができます。
上記の手法は、ディスクメディアだけでなくROMメディアの場合も有効です。シークとは無縁なROMメディアですが、ファイルを「最適配置」することで、一括の読み込み処理による性能向上が期待できます。
『ファイルマジック®PRO』は、「圧縮」「展開」「最適配置」により、リード時間とシーク時間を削減し、ロード時間を半分にします。