前置き
itch.ioはPay What You Want方式を採用した、インディー開発者向けのゲーム配信プラットフォームです。配信可能なものは主にゲームですが、それ以外のものも配信可能のようです。販売価格については、完全無料、無料+寄付、最小価格の3種類から選ぶことができます。
itch.ioのコマンドラインツール「butler」
ダッシュボードのプロジェクトのウェブページからzipファイルをアップロードしても良いのですが、効率化や自動化のためにbutlerというコマンドラインツールが用意されています。
butlerを使うと毎度毎度自分でzipファイルを作成しなくて済みます。2回目以降には、各ファイルの変更のチェックを行うので、効率的にアップロードしてくれます。
使い方
使い方については上記のリンクからドキュメントを読めばわかるのですが、必要そうな部分だけ大雑把にメモします。Windows環境っぽい感じで書きますが、mac版、Linux版もあります。
butler.exe push <directory> <username>/<project>:<channel>
directoryはアップロードするファイルの入ったフォルダを、
usernameはitch.ioのアカウント名を、
projectはプロジェクト名(プロジェクト作成時にProject URLとして指定した文字列)を、
channelはwinだとかbetaだとかを記述します。
projectとchannelを組み合わせたものが、ユーザーがダウンロードするzipファイルの名前になります。
channelに指定する文字列によってitch.ioが自動的にOSを認識します。
識別番号がアップロード毎に自動で割り振られますが、別途、任意のバージョン名をつけたい場合は、
--userversion <version_string>
を追加します。
version_stringは数字でもアルファベットでも好きなものをつけられます。
ダウンロードボタンの周辺に表示されるようになりますが、zipファイル名には含まれないようです。
アップロード状況の確認には、
butler.exe status <username>/<project>
を使います。
itch.ioのマニフェストファイル
ところで、itch.ioにはクライアントアプリであるAppがあります。これはSteamクライアントと同じようなもので、ゲームアプリの管理をしてくれます。
Webから直接ゲームのzipをダウンロードすると、インストール(zip展開)やアップデートについてはユーザーが自分で行わなければなりませんが、Appを入れておけば、インストールやアップデートなどを自動で行ってくれます。
なにより、Webは英語のみであるにも関わらず、Appは日本語化されています。
個人的には、絶対に入れた方が良いと思っているのですが、公式的にはあくまでWebがベースでAppは二番手の扱いのようです。
App Manifest
App Manifestを、アップロードするフォルダの中に含めると良いことがあります。
起動ファイルの指定をしたり引数を指定したり、ゲームの公式サイトを開いたり、説明書PDFを開いたりするボタンをAppに追加することができます。
TOMLというコンフィグファイル言語で記述します。
難しいものではないのですが、私がハマってしまった罠としては、プロジェクトのClassificationによってはマニフェストが無視されることがあるというものがあります。
UE4で開発したあるVR音楽鑑賞アプリについて、Gameではないと思いSoundtracksにしたところ、マニフェストの内容が全く無視され、フォルダが開くボタンしか表示されないということがありました。(Toolは大丈夫でした。)