自作ソフト アップロードへの道

完成したーッ!

ここまで長い道のりだったが、作り続けたソフトがついに完成した!後は公開するだけだ!

しかし最後だからこそ、ここで気を抜くと台無しになる事もある。
「とはいえ何に注意したらいいのか…もうアップロードするだけだよね?つーか早くアップさせろ」
わかる。完成させたら早く見せたいよね。

しかしさらにワンランク上の作品を目指したければこのまま読み進めて欲しい。
そんなの気にしないなら、今すぐこんなサイト見るのやめてアップ作業を進めたほうがいいだろう。

さて、まだここを読んでいるということは少しは興味を持ってもらえたんだと思う。
ありがとうございます。じゃあ最初に注意事項。

ここに書いてあることは、全部を実行する必要はない。むしろ全部やるには章が多いので、バテてイヤになってしまうので無理しない事。 また人によっては該当しない章もあるし、興味のない章もある。こういう章は読み飛ばしてしまっていい。

もくじ

パックファイルを作ろう

スクリプトは完成した。次は実行ファイルを作るぞ!

ゲームを作る場合、画像ファイルや音楽ファイルは欠かせない存在だけど、ファイル数が増えると実行ファイルが見つけにくくなってしまう。PCに不慣れなユーザーだとこれだけで投げ出してプレイをあきらめてまう事もある。
PACKFILEを使えば、素材データを実行ファイル(EXE)の中に埋め込むことが出来る場合がある。こうしておけばファイル数が減ってフォルダ内がスッキリする。 素材使わないからパックする必要ないよという場合は、この章は読み飛ばしていい。

PACKFILEはどんなファイルも埋め込めるが、埋め込んだファイル全てが今までどおりに利用できるわけではない。

パックしたまま利用できるファイル

  • 画像ファイル(picload、celload命令のみ対応)
  • 音声ファイル(mmload命令でwav ファイルのみ対応)
  • テキストファイル(noteload命令のみ対応)
  • 上記以外に、プラグインがDPMに対応していれば利用できる。

パックしたままでは利用できないファイル

  • 実行ファイル
  • プラグイン、DLL
  • 動画ファイル
  • など「パックしたまま利用できるファイル」以外のファイル。

さらにファイルをパックするためには少し厳しい条件が付く。

パックするための条件

  • ファイル名は、拡張子も含めて15文字まで。
  • 2バイト文字(日本語)は使用できない。
  • ファイル名にスペースを含めてはいけない。
  • 「Program Files」などのスペースを含むディレクトリ下で作業しない。
  • パックファイル内で階層を表現することはできない。
    ファイルはEXEファイルと同じ階層に置く。

このような条件さえクリアすれば、パックする手順はそれほど難しくない。
スクリプトの最初の方で、次のように書いてパックしたいファイル名を指定する。 「"ファイル名"」には変数名が使用できないので注意してほしい。

#pack "ファイル名"

では、パックできなかったファイルはどうすればいいのか?
素材格納用にフォルダを作ってそこに全部入れてしまおう。
「実行してみたら画像が読めなくなったんだけど?」
ファイルの場所が変わったのだから当然だ。読めるようにスクリプトを修正しておこう。

参考資料
プログラミング・マニュアル 2.9. 実行ファイルの作成方法
http://www.onionsoft.net/hsp/v34/doclib/hspprog.htm#EDIT_PACKFILE
プログラミング・マニュアル 2.10. PACKFILEの編集について
http://www.onionsoft.net/hsp/v34/doclib/hspprog.htm#MAKE_EXE
プログラミング・マニュアル 5.17. PACKFILEと暗号化
http://www.onionsoft.net/hsp/v34/doclib/hspprog.htm#PACKFILE
HSPミニ講座 HSPのPACKFILE機能とは?
http://www.geocities.co.jp/Playtown-Yoyo/6130/hsp/hsp-packfile.html
HSPミニ講座 PACKFILE編集の解説
http://www.geocities.co.jp/Playtown-Yoyo/6130/hsp/hsp-packfile-edit.html
HSPミニ講座 HSPエラー13 「画像ファイルがありません」
http://www.geocities.co.jp/Playtown-Yoyo/6130/hsp/hsp-error-image.html

メモ
例外として、MIDIなどのファイルをパックしたまま読み込むことが出来るようにするものも存在している。
memfile.hpi
http://www.sharkpp.net/blog/2008/08/15/hsp-memfile-hpi.html

アイコンを作ろう

スクリプトは完成した。次は実行ファイルを作るぞ!

HSPはそのまま実行ファイルを作るとカップスープのアイコンになる。
カップスープのアイコンでも気にしないよという場合は、この章は読み飛ばしていい。

HSPでは以前から外部ツールを使って実行ファイルのアイコンを好きなものに変更できていたが、HSP3.5からはアイコンの指定が標準機能となった。ここでは標準機能を使ったものについて書く。

使用できるアイコンファイルには制限がある。

  • 拡張子ICO
  • BMPファイルの拡張子をICOに変えただけのアイコンファイルは使用できない。

アイコンファイル(icoファイル)は大抵は、自分で作ることになる。お好みのペイントソフトを使ってほしい。 ただしicoファイルの作成は、Windows用アイコンファイル(ico形式)が作成できるツールで作成する必要がある。 icoファイルはBMP画像の拡張子をicoに書き換えるだけでも作成できるが、HSP3.5ではこの手順で作ったアイコンに対応していない。 ico形式の出力に対応したファイルは、GIMPやIrfanViewなど沢山存在しているので気に入ったものを探そう。

アイコンファイルが準備できたらスクリプトと同じフォルダにおいて、スクリプトの最初の方に次のように書くと実行ファイルのアイコンが指定できる。

#packopt icon "アイコンファイル.ico"

注意
「やっぱり別のアイコンに変えようと思って変えてみたら変わらないんだけど…」
アイコンの情報がOSにキャッシュされてしまい、実際は変わっているのに表示に反映されない場合がある。これはF5キーを押しても解決しない。この場合、自分のPCだけの問題なのでそのまま配布してしまっても問題ない。
しかし本当にアイコンが変わっているのかは確認しておかないと、思っていたものと違うアイコンになっているかもしれない。次のいずれかの方法で確認ができる。

  • 新しいフォルダを作ってそこに実行ファイルをコピーする。
  • 実行ファイルのファイル名を変える。
  • アイコン画像のキャッシュをクリアする。(手順が多いのでお勧めしない。)

注意
hgimg4を使っている場合に上手くアイコンが指定できない場合があるようです。 対策を考えた方もおられるようなので、必要な場合は調べてみてください。

実行ファイルを作ろう

PACKFILEもアイコンも準備できた。いよいよ実行ファイル作成だ。

実行ファイルを作成せずにスクリプトファイルのまま配布する場合は、この章は…まあそういう事はしないと思うので読んでほしい。

  1. スクリプトの先頭に次の内容を書きこむ。
    #pack "パックするファイル" ;←PACKFILEを使わないなら書かなくていい。
    #packopt name "実行ファイルの名前" ;←後で自分で変えるなら書かなくていい。
    #packopt icon "アイコンファイル名" ;←アイコンを使わないなら書かなくていい。
  2. メニューバーから「HSP」選択。
  3. 「実行ファイル自動作成」選択。
  4. スクリプトと同じ場所に実行ファイルができているので確認しよう。

もし「#pack~」が必要ないなら「Ctrl+F9」を押すだけでも実行ファイルが作成できる。

DLLをコピーしてこよう

どうにか実行ファイルが完成した。
モジュールやプラグインを使用していない場合は、この章は読み飛ばして次に進もう。

includeしたモジュールのマニュアルを確認しよう。
マニュアルはHDLで見つけることが出来る。 例えば「hspcv.as」を使用した場合は、HDL(HSP Document Library)で「hspcv.as」を検索。
 ドキュメント (1 カテゴリ) → 標準カテゴリ 1 → hspcv
の順で見つけることが出来る。

説明の中に、includeしたファイルと別にdllファイルが必要と書いていないだろうか? あるいはincludeしたものはプラグインと書いていないだろうか? この場合、DLLファイルをEXEファイルと同じ場所に置く必要がある。確認しておこう。

DLLファイルが必要な場合は、大抵はHSPのインストールフォルダにがあるので、作成した実行ファイル(EXEファイル)と同じフォルダ内にコピーしよう。

参考資料
拡張プラグイン・モジュール一覧 1.はじめに
http://www.onionsoft.net/hsp/v34/doclib/plugin.htm#FIRST

メモ
実行ファイルを実行して次のようなエラーが出たらDLLファイルが足りない可能性がある。
「#Error 38 -->内部エラーが発生しました(38)」

完成品を入れるフォルダを作ろう

実行ファイルも出来たし、必要なファイルも揃った。

公開するファイルを整理しよう。
まず公開するファイルを整理するために、空のフォルダを適当な場所に新しく作成する。これを「公開用フォルダ」とする。 作成した空のフォルダに次のファイルを必要なものだけコピーする。

  • 実行ファイル(EXEファイル)
  • DLLファイル(使っていない場合は必要なし)
  • パックファイルに格納できなかった素材データ

注意
次のファイルは必要ないのでコピーしなくていい。

  • PACKFILEでパックしたファイル
  • hsptmp
  • obj
  • packfile
  • start.ax
  • 実行ファイルを作成したスクリプトファイル(*.hsp)

動作確認をしよう

公開用フォルダに必要最低限のファイルは全てコピーしおわった。

本当にファイルが揃っているか動作確認しよう。
EXEファイルを実行して、素材の読み込みやDLLが必要な機能の実行をしてみよう。 できれば別のPCでも動作確認しておくと安心だ。

動作確認が終わったら、実行時に出来てしまったファイル(ゲームのセーブデータなど)を消しておこう。

スクリプトファイル(*.hsp)を公開したい

公開用フォルダに必要なファイルは全てコピーしおわったし、動作確認も出来た。

実行ファイルを作成したスクリプトファイル(*.hsp)は誰にも見せたくないという場合は、この章は読み飛ばして次に進もう。
誰かの役に立ててほしいから一緒に公開したい。という場合は次の手順を確認しよう。

実行ファイルと同じ場所にスクリプト格納用フォルダを作る。
公開したいスクリプトファイル(*.hsp)はこのフォルダに全て入れる。但しここで入れられるのは自分が書いたスクリプトだけだ。他人のスクリプトも付けたい場合は利用規約を確認しよう。
またファイルが大きくなりすぎてしまったら、スクリプトをzipで圧縮して迷惑にならないようファイルサイズを小さくしておこう。(興味ない人にとってはただ場所をとるだけ。)

マニュアルを書こう

動作確認が終わり、作品の本体は完成したッ!本体は。

しかし使い方がわからなければ、せっかく作り込んだ機能に気づいてすらもらえない。そこで最低限のマニュアルは必要になる。

マニュアル(説明書、ドキュメント)は、テキストファイル、HTML、PDF、動画、…ユーザーが開いて読むことが出来るならどんな形式でもかまわないので必ず用意しよう。 量が少なければreadme.txtの中に書いてしまってもいい。
またここで書いたマニュアルはweb上で公開すると、そのまま宣伝にもできる。

マニュアルで最低限、書かなければいけない内容は次の通り。

  • ソフトのタイトル
  • 概要:ソフトの内容についての概要。
    ゲームならストーリーや状況設定、ツールなら使用目的・使用する状況。
  • インストール/アンインストール
    例…「ZIPファイルを解凍すればインストール完了です。アンインストールは、解凍して出来たフォルダごと削除してください。」

ゲームの場合、

  • 操作に使用するキーとキーに対応する動作
  • 勝利条件(例…残機が0になる前にステージ右端に到達。)
  • 達成目標(例…最終ステージのボスを倒して姫を救出してください!)

※ゲーム内で説明しているのであれば、必要以上に丁寧に書く必要はありません。ストーリーという形で説明するのもいいだろう。

ツールの場合、

  • 想定している状況設定(例…○○ができずに困っている時に便利です。)
  • 入力と出力
  • 作業の流れ
  • 主なボタンの機能

※使ってみれば誰にでもすぐわかる簡単なことまでしつこく細かく書く必要ありません。

その他、書いておいたほうがいいと思った事は書いておこう。しかし頑張って書きすぎて、うんざりするような分量になってしまうとこれはこれで誰も読まないので注意したい。 書き方は、他の人の作品を参考にするといい。

注意
HTMLで書くときは文字化けに注意。
metaタグのcharset属性に適切な値をきちんと指定しておくこと。 忘れると環境によっては文字化けする。(昔はよく遭遇したので誰でも対応できていたけど、今は自分で対応できるユーザーはもはや少数派だろう。) またインターネットに繋がる環境がなくても読めるようにしておこう。

README.TXTを書こう

ソフトを起動する前に(起動しなくても)ユーザーが知っておきたい情報がある。readme.txtを作っておこう。

書き方や書く内容はだいたい決まっているので、書き方を検索するとすぐ雛形が見つかる。自分の作品に関係ない項目を消しながら埋めていけば完成。
それでも書き忘れてしまいがちな大事な部分というものはある。それは次の通りだ。

  • ソフト名
  • 作者名、作者連絡先
    連絡先は自分のサイト名やツイッターアカウントでもいい。
  • ライセンス(日本語にすると「許可」)
    ユーザーに何を許可するかを書く。ソフトの実行や再配布についてなど。
    許可を与える条件。(例:再配布禁止。有料だよ。無料だよ。など。)
    作者の免責事項。(例:何が起きても自己責任でお願いします。など。)
    自分で考えてもいいが、既存のライセンス文を使ってもいい。
  • 使用した素材やプラグインのライセンス。
    記載不要の場合もあるが、ライセンス表示が必須なものもある。(例:hspcv.dllは長いライセンス文章をコピペする必要があります。)
  • 使用した素材やプラグインの入手先。

参考資料
もも色メモ帳 readmeの書き方(参考)
https://nemiruku.com/note/n010.html
NYSL
http://www.kmonos.net/nysl/
MIT License
https://ja.wikipedia.org/wiki/MIT_License

圧縮しよう

すべてのファイルはここにそろった!

フォルダのまま配布する事はできないので、1個のファイルになるように圧縮しよう。手順は簡単。

  1. 圧縮したいファイルをすべて選択する。
  2. 右クリック
  3. 送る
  4. 圧縮(zip 形式)フォルダー
  5. zipファイルが出来るので、好きな名前に変える。

これでzip形式に圧縮できる。
「ファイルサイズ小さくなった!てことは、zipファイルを圧縮すればもっと小さくなるんじゃね?」
なるほど!ということは布団圧縮袋で圧縮した布団を布団圧縮袋に入れて更に圧縮すれば無限に小さく…ッ!
固くはなったけど袋の分ちょっとおっきくなった。どういうことだよ。(´・ω・`)
ファイルの場合は、ちょっとだけ小さくなったりする事もありますがほとんど効果はありません。一方で解凍する手間は確実に増えます。

ここではzipで圧縮する方法を書いたが、zipより自己解凍形式が好きな人はそちらで圧縮してもいい。
まだ「zipを展開する」スキルを身に着けていないユーザーには自己解凍形式の方がより親切だろう。(慣れているユーザーにとっては不安で仕方ないが…。)

サムネイルを作ろう

後はzipファイルをアップロードするだけだ!

その前にちょっとした準備。

タイトルとサムネイル画像は、ソフトの顔のようなもの。
これだけで紹介文を読んでもらえるかどうかが決まる大事な存在なのだ。 ここではサムネイルを作る時のコツや注意点を書いておく。

  • サムネの絵はソフトのスクリーンショットでいい。「Alt+PrintScreen」
  • 縮小表示されても大丈夫な絵にしよう。
    ゲーム画面などでいろんなものが写り込んでいる場合は、縮小すると何が映っているのかわからなくなる。文字もつぶれて読めなくなる。なるべくひとつのものが大きく映っている方がいい。
  • ソフトの内容や雰囲気が伝わる絵にしよう。
    ゲームのタイトル画面見せられてもジャンルすらわからないぞ。
  • まとめると、ひと目で何が映っているのか判断できるものを心がけよう。という事になる。
  • 気を引こうと努力しない。
    気を惹くにはそれなりのテクニックが必要だ。闇雲に努力すると徒労どころか悪化する。正しい知識のないうちはほどほどでいい。経験をつもう。

紹介文

サムネでユーザーの目を引き寄せた!ダウンロードボタンを押させるためにはもうひと押し!

  • ツイッターでつぶやくための短い一文を考えよう。うっかりDLページurlをクリックさせたい。
  • ダウンロードページに書く紹介文は、readme.txtの概要をそのまま使ってもいい。
  • コンテストやベクターへの登録など、いろんな所で流用できるので、書いたテキストは作ったソフトと一緒になくさないよう保存しておこう。

アップロードしよう

こんどこそ本当にすべてが揃った!
いよいよアップロードしよう。アップロード先によっていくつか注意点がある。

自分のサイト

  • ウェブサイト提供スペースによっては一つのファイルのサイズ上限値がきめられていることもある。確認しておこう。この場合、ファイルを分割する必要がある。
  • 直リン禁止の場合もある。この場合、ダウンロードページ必須だ。

コンテスト

  • 締め切り間際の投稿はやめよう。
    • 遅刻。
    • アップできないなどのトラブルに遭遇する。
    • アップした後に判明するバグ。修正するにはもう時間がない。
    • コメントや意見をもらえる期間が短くなる。
    • 締め切り間際はアップロード数が多いため目立たない。
  • ユーザーはデバッガーでもある。早めに応募してチェックしてもらおう。
  • サイズが大きい場合は、アップロード手順が違うので確認しておこう。
  • 困ったらコンテスト事務局に相談しよう。なんとかなるかも。

ベクター

  • 手続きの時の入力項目が多いから時間がかかるぞ。

まずは自分でダウンロード

アップロード作業完了!

記念すべきダウンロード1人目には自分がなろう。
もしかすると違うファイル(古いバージョンなど)をアップロードしたかもしれない。
アップロードする際にファイルが壊れたかも。
ファイル名間違えた。
アップロード先間違えた。
添付ファイルが揃ってない!

アップロードしたファイルをダウンロードして、きちんと動作するか確認しよう。(´・ω・`)

宣伝しよう

もう誰でも見れる状態だ。後はダウンロードしてもらうのを待つだけだ!

待ちながら、宣伝もしよう。

「自分の作品なんて自慢できるほど立派でもないし、さすがに宣伝までするは恥ずかしい…。」

なるほどそれはつまり、自分は有名人だから、わざわざ宣伝しなくてもそれなりの人数にはダウンロードしてもらえるし、遊んでもらえる。
という事ですね。羨ましい話です。そういう一流有名人の方は、この章は読み飛ばして次に進んでください。

私を含めてここを読んでいる多くの人は、宣伝が必要です。宣伝しなければ見向きもされません。
まず知ってもらうこと 。存在を知ってもらわなければ、評価や批判どころかダウンロードすらしてもらえない。「知らない」は「存在しない」と同じ扱いを受けます。

宣伝方法は色々あるので、やれることは全部やってしまいましょう。やり方の一部を書き出してみました。

  • ツイッターでツイート。
  • コンテストに応募する。
  • 宣伝用webサイトを作る。
  • 動画投稿サイトにプレイ動画をアップ。
  • 文化祭に展示。
  • 友達にライン。
  • など…

宣伝するにもコツとか注意点があります。

ツイッターでツイートする場合。
タイミングが大事。深夜にツイートしても誰も見ないので、自分のフォロワーが活発にツイートしている時間を狙ってツイートしよう。日を変えて何度かしてみるのもいい。 興味をそそる短い紹介文とダウンロードサイトへのリンクを忘れずに。ハッシュタグ(#hsp3 など)も付けておこう。画像があるとなおいい。ツイッター映えするなら最高。

コンテストに応募する場合。
HSPプログラムコンテストは毎年開催されている敷居が低いコンテスト。ユーザー側からコメントがつけやすい。
応募作品のページが出来るので、宣伝サイトを作る手間もはぶける。
しかし登録数は少なくはないので、サムネイルと紹介文は必須。ソフトの内容がひと目で分かるものを心がけよう。

ここまで書いて今更だが、宣伝は作品が出来る前から始めてもいい。
やり方は簡単。制作過程をツイートするだけ。完成前からユーザーやファンを獲得できたりする。

コメントをもらおう

作品は公開した。宣伝も十分。さぁ来い!

コメントなんていらない。俺のガラスのハートは繊細なんだという場合は、この章は読み飛ばして次に進もう。間違ってもエゴサーチなんてしてはいけない。
なんとか頑張って耐えてみる!というひとはこのまま読み進めてほしい。

公開して宣伝もして1~2週間も経てば、そろそろツイッターやコンテストページのコメント欄にコメント貯まる頃。
ソフト名でエゴサーチすれば紹介記事が書かれたブログがあるかもしれない。
次を読んでから確認しに行こう。

ちゃんと読もう。どれも時間を割いて書いてくれたものだ。
でも重く受け止めてはいけない。書いた側からすると気軽にコメントしてみただけなのだから。
それでもハラが立つコメントやショックを受けるコメントがあるかもしれない。そういうコメントもソフトをプレイした上で、いっしょうけんめいかんがえて、がんばってかいてくれたコメントだ。小さな子のやることにあまり目くじらを立てないであげてほしい。

役立つ意見やモチベーション上がる意見を探し出して活用していこう。
コメントの中には欲しい物も欲しくない物も必ず含まれる。コメント数が増えればほしいコメントも増える。とにかく沢山のコメントを集めよう。

返事をすると、更に書き込みしやすい雰囲気を作る事がある。これを上手く活用するのも手だ。

バージョンアップ

すべてが終わった。…だが、オレ達の戦いはこれからだ!!

ということで、不具合修正。間に合わなかった機能や要望の実装などやることはつきない。
修正してバージョンアップをしていこう。

バージョンアップするときも上に書いたポイントに気をつけていって欲しい。 古いファイルアップしちゃうことはよくある。(´・ω・`)

関連記事

  1. 作成や公開のコツ はじめに ちょっと動画について偉そうに講釈をたれてみたいと思...
  2. nicotalk入門 ゆっくりしていってね! 「「ゆっくりしていってね!」」 動画...
  3. AviUtl簡単チュートリアル1 これを作る! まずはお手本があったほうがいい。ということでこ...
  4. 動画 動画づくりについてあれやこれや。 AviUtlはじめました。...
  5. アプリ ダウンロード  ここでは自作のフリーソフトやアイコンの公開を行っています。...