本ページではティラノスクリプトV5以降(スタジオ)でのパッチを解説しています。
V4以前のパッチについてはこちらをご確認ください。
PC向けにパッケージング出力されたゲームに対して使用できます。ブラウザ・スマホ形式は不可
ティラノスクリプトのパッチ機能を使うと、リリース後にゲームをアップデートすることができます。
CD-ROMやDVDなどメディアで配布した後、更新があった場合に簡単に差分アップデートを行うことができます
ティラノスクリプトのパッチ機能は、豊富な機能が用意されています
パッチ機能の主な用途
パッチファイルの作成は簡単です。
ゲームがリリースされた後、追加や変更があったファイルのみを、プロジェクトと同じ階層に配置するだけです。
あとは、ティラノスタジオから、「パッチ作成」のボタンを押すと、パッチファイルが完成します。
まずは、実際に作成してみましょう。
まずは、パッチ作成用に適当なフォルダを作成してください。ここでは「patch01」として進めます。
ゲームのリリース後、以下の2点をアップデートするパッチを作成したいとします。
・data/scenario/scene1.ks
・data/fgimage/chara/akane/ の中、画像ファイル
「patch01」フォルダの中に次のような階層で、ファイルを配置します
つまり、
ティラノのプロジェクトフォルダの階層そのままに、更新したいファイルだけを配置するということです。
簡単ですね。
次にティラノスタジオを起動してください
左メニューから「エクスポート」-「パッチ作成」を選択。
「パッチフォルダ選択」ボタンを押して、先程のpatch01フォルダを選択します。
最後に「パッチ作成を実行」ボタンを押すと、パッチファイルが完成します。
★注意
projectIDがデフォルトの「tyranoproject」のままだと、パッチは作成できません。
プロジェクトフォルダのdata/system/Config.tjsを開いて、projectIDの値を、他のゲームと被らないユニークな値に変更してください。
今回は仮に「mygame.tpatch」というファイルができているとします。これがパッチファイルです。
パッチファイルは、リリースしたバージョンから、修正されたファイルを全部含めることが大事です。
例えば
ver1.0 → ver2.0 → ver3.0 で次にVer4.0 のパッチを作る時は Ver1.0 から変更のあったファイルすべてを含めてパッチを作成しましょう。
続いて、作成したパッチファイルをゲームに適応する方法を見ていきます。
とはいっても簡単で、このパッチファイルをゲームの実行ファイルと同一の階層に配置するだけです。
例えば、mygame.exe というゲームの起動ファイルがあった場合、同じ階層にmygame.tpatchを配置してください
あとは、通常通りゲームを起動すればパッチが適応され形でゲームを遊ぶことができます。
このパッチファイルを削除してしまうと、パッチ適応前に戻ってしまいます。
つまり、パッチを配布する場合は、「tpatchファイルをゲームの実行ファイルと同じ場所にコピーしてください。」とアナウンスすれば良いわけです。
Macの場合
Macの場合、すこし複雑なのですが「MacOS Sierra」以降の場合、自分のホームフォルダに「_TyranoGameData」というフォルダがある人はそこにpatchファイルを作成してください。
上記フォルダが作られていない場合は、app の実行ファイルと同一階層に配置すればOKです。
★この機能は開発中です。十分テストしてからお願いします。
ティラノスクリプトでは、インターネットを通じた自動アップデート機能も簡単に実装できます。
まず、パッチファイルの作成手順は今までと全く一緒です。
ティラノライダーからパッチファイルを作成する時に「ネット経由の自動アップデート用JSONを同時に生成する」
にチェックを入れましょう。
あとは、生成された2つのファイルをサーバーにアップしてください。
サーバーのレンタル方法などについては、ググれば山ほど解説が出てきますので、こちらでは説明を省略します
今回は生成されたpatch.jsonに
https://tyrano.jp/mygame/patch.json
でアクセスできる状態にしたとします。
あとは、ティラノスクリプト中に次のようなタグを配置します。
もし、新しいバージョンが配布されている場合は、
[check_web_patch url="http://tyrano.jp/mygame/patch.json" ]
ダウンロードを促すメッセージが表示されて、アップデートが実施されます。
★ワンポイント★
パッチを作成した時に入力したバージョン番号は、Config.tjs の game_version と比較されます。
ですので、アップデート毎にバージョンをあげることを忘れないようにしましょう。