2.9 ファイルの圧縮・暗号化

今回の目的
 スクリプトや画像ファイルが覗かれないように、ひとまとめにして暗号化します。

 このことをアーカイブと呼びます。

 


テキストの暗号化
 ゲームを作っていくと、フォルダの中にはテキストファイルがたくさん出来ます。

 
 0.txt〜4.txtまで、5つもテキストファイルが。

 このままの状態ですとスクリプトの中身が覗かれてしまい、
 プレイしなくともストーリーやシステムの内容が分かってしまいます。

 これを防ぐために、テキストファイルをまとめて暗号化しましょう。

 まず、1.1節で解凍したNScripter(Exe最新版)のフォルダの中に入っている、
 「nscmake.exe」というファイルを実行します。

 
 すると、こんな画面が表示されます。
 ここで、0.txt〜の入ったフォルダを選択し、OKをクリック。

 
 さらに暗号化データの保存場所を聞いてきます。
 先ほどと同じフォルダ内に保存します。

 
 最後にコマンドプロンプトの画面が残ります。
 指示どおり何かキーを押してください。

 すると、ゲームフォルダ内に「nscript.dat」なるものが現れます。
 これが暗号化したテキストファイルです。

 


テータをアーカイブ化
 次に、画像ファイルや音楽ファイルなどをアーカイブします。

 まず、「nscr.exe」や「0.txt」「nscript.dat」等のファイルを一時的にフォルダから別の場所に移動させます。

 
 フォルダ内に残ったのはこれだけです。

 1.1節で解凍したNScripter(Exe最新版)のフォルダの中に入っている、
 「nsaarc.exe」というファイルを実行します。

 ここから先はテキスト暗号化と同じ手順です。

 
 こんな画面が表示されます。
 ここで、フォルダを選択し、OKをクリック。

 
 さらにアーカイブ化データの保存場所を聞いてきます。
 先ほどと同じフォルダ内に保存します。

 
 最後にコマンドプロンプトの画面が残ります。
 指示どおり何かキーを押してください。

 すると、ゲームフォルダ内に「arc.nsa」なるものが現れます。
 これがアーカイブ化されたファイルたちです。
 この中にimageフォルダやcursor0.bmp等、全て入っています。

 そして最初に移動した「nscr.exe」「0.txt」「nscript.dat」等を元のフォルダに戻します。

 


アーカイブを読み込むには
 頒布するゲームのフォルダ内は最終的にこうなります。
 アーカイブ化する前のファイルは必要ないので取り除いてやります。

 
 じつにスッキリしました。これにReadme.txtでも加えてやると良いでしょう。

 しかし、これだけではアーカイブ化したファイルを読み込むことは出来ません。
 定義ブロックにあらかじめ以下の命令文を付け加えておく必要があります。

*define

nsa
clickstr "」。!?",2
effect 10,10,1000

game
*start

これでアーカイブ化したファイルを読み込めます。
bg "image\haikei.jpg",10

無事読み込めました。
end
 「nsa」これだけです。以上。



 ここでいくつか補足があります。

 ・0.txtnscript.datが同じフォルダに存在するときは、0.txtの方が優先されます。
 ・arc.nsa0.txtのようにarc1.nsa、arc2.nsa…と結合することが出来ます。

 


まとめ
 アーカイブは、ゲームを頒布する際に必要不可欠な機能です。
 これを使えば差分ファイルの作成・配布もずっと楽になります。

 手順どおりにやれば難しいことはありません。
 オープンソースが目的で無いならば、なるべく使うようにしましょう。

 次節は、第2章のまとめです。

 


前へ    TOPへ戻る    次へ