PSS (プチコンソフト統一規格)

 プチコンにおいてmkIIになってからQRコードでファイルのやりとりができるようになりWeb上で公開されているプログラムを気軽に楽しめるようになりました。しかし、その反面でファイル管理の問題や保存領域の容量不足などの問題も顕著になってきました。
 ユーザーに配慮するプログラムを作るならば制作している側の方でこれらの点において工夫する必要があります。しかし、その対策方法においては各自が好き勝手なことをやっていたらユーザーを混乱させる可能性もあります。そこである程度の統一的な見解を持ってプログラムを作ることでユーザーへの配慮を高めようというのが当規格「PSS(Petitcomputer Software Standerd)」です

(必須)必須項目(必ずやって欲しい)
(推奨)推奨項目(やるのが望ましい)
禁止・・・やってはいけない、非推奨・・・やるのが望ましくない

ファイルに関する項目
(必須)ファイル名にはユーザー識別コードを入れる

 プチコンはフォルダ管理ができないため他者が作ったプログラムとファイル名がダブらないようにこちらのユーザー識別コードとダブらないような自分専用のユーザー識別コードをファイル名に付けてください。

(必須)リソースのファイル名はPRGと同じものにする

 各リソースのファイル名からどのPRGで使われているのかを簡単に識別できるようにするためのものです。
 1つのPRGで複数のCHRリソースを使う場合にはPRGのファイル名を7文字以下にしてCHRリソースのファイル名には1からの通し番号を入れておいてください。なお、他のプログラムで共用しているリソースに関しては保存領域節約のため必須項目とはしません。
 可能な限り下記のアンインストールルーチンを導入してください。このアンインストールを行う際にもファイル名がPRGと同じになっていれば不正な処理を行っていないことがユーザーに分かりやすくなります。
 これらの制約が厳しいと感じる人はリソースデータをPRGに組み込んでください。

(必須)パッケージ使用時にはパッケージであることを明示してパッケージ文字列を必ず記載する

 パッケージを使用時には普通にSAVEやLOADができないためユーザーにパッケージであることが分かるようにタイトル画面やリストの先頭行において「パッケージが使用されているためセーブするには SAVE "(ファイル名)",(パッケージ文字列) とする必要があります」という感じの内容の文章を記載してください。(例えばSAVE "FILE","3"というもののみが記述されており、説明無しの場合は明示されているとは言えないためこの項目は満たされていません)
 BGFを書き換えてリストの判読が困難な場合はタイトル画面で明示している場合を除きパッケージの使用を禁止とします。またパッケージを使用時に別のリソースファイルのLOADを必要とするものも(パッケージだけでは完結しないため)パッケージの使用を禁止とします。

(推奨)リソースを使用時にはアンインストールルーチンを用意してそれが用意されていることを明示する

 保存領域が一杯になってPRGを削除する場合にはそのPRGで使用しているリソースファイルも削除する必要があります。しかし、リソースのファイル名をPRGと統一してもどのリソースを使っているのかをすべて確認しながらユーザーの手で逐次削除するのはかなり負担が大きくなるためプログラム内で使われてるリソースを自動的に削除するルーチンを用意して欲しいというわけです。これは制作者ならばどのリソースが使用されているかは簡単に分かるためそれを順番に削除していくだけであり、難しいことは何もありません。
 ただし、「アンインストールルーチン」そのものの有無がユーザーには分からないためそれがあるということをプログラムの先頭行もしくはタイトル画面で明示しておく必要があります。アンインストールルーチンでは、DELETE命令によって(共用リソースを除く)そのプログラムで使用されているリソースファイルはすべて削除していくわけですが、ユーザーがファイル名を付けて保存したリソースに関しては削除する必要はありません。

(推奨)リソースを使用時にはリソースファイルを転送するルーチンを用意する

 プチコンを持ち寄って転送する場合にはPRGだけならば簡単に転送ができますが、たくさんのリソースファイルを使用している場合は転送する際に転送漏れが起きてしまうことも少なくありません。そこで、それを防ぐためプログラム内で使用されているすべてのリソースファイルの転送を行うルーチンを用意しておくのがベターでしょう。

(推奨)セーブデータには必要でない限りはGRPは使用しない

 GRPは48KBまでのデータをセーブすることが可能になりますが、1KBのセーブデータであっても48KBの保存領域が必要になります。そのため不必要にGRPを使うのはユーザーに配慮しているプログラムとしては相応しくありません。
 8KB以下のセーブデータであればCHRリソースを使うことで保存に必要な領域を1/6に軽減できます。CHRリソースへのセーブはCHRセーバーを使用すれば1行プラスするだけでGRPからCHRリソースへの変換を自動的に行ってくれるため非常に簡単です。

プログラムの実行に関する項目
(必須)キャラを書き換えている場合は終了時に元に戻す

 CHRSETでキャラを書き換えている場合にはACLSなどでは初期化できません。そのためキャラを戻す配慮が必要でしょう。これは終了時に書き換えているキャラ(もしくはリソース)すべてにおいてCHRINITを行うだけなので難しいことは何もありません。

(推奨)終了処理を入れる

 メニュー画面や特定のボタンを押すことで動作しているプログラムを終了させます。終了時にはACLSなどで画面を初期化するか終了したことが分かるような表示を行うのがベターでしょう。
 また、キャラを書き換えている場合は終了処理は(必須)になり、終了処理でキャラを元に戻してください。

(推奨)リトライ処理を入れる

 1回のプレイ時間が短いゲームなどは簡単に再度プレイできるような処理を入れるのがベターです。なお、ゲームオーバー時などでユーザーの手による終了処理を行ってないのにプログラムが終了するものは非推奨とします。

(推奨)mkIIのホームメニューに対応する

 「ホームメニュー」で実行時には終了時に自動的にメニュー画面に戻るというだけではなくこちらに書いているように「プログラムを作る」とは異なる挙動となっています。そのためそれに配慮したプログラムを作る必要があります。これはCLEARやMEM$やキャラの初期化に関して注意すればそれほど難しいものではありません。

(推奨)基本的な操作方法は画面上かリストで表記を行う

 タイトル画面で簡単な操作方法を表示するか、リストの最初か最後に操作方法を記載してください。制作者本人経由ではなく他所からそのプログラムをやQRコードを入手した場合に使い方が全く分からないというのを防ぐための措置です。インベーダーやもぐらたたき等のルールが簡単で触ればすぐに分かるタイプのゲームにおいてはこの項目は特に気にする必要はないです。

(推奨)改造をしやすくする

 ユーザーがデータの改造をしやすくするため圧縮したデータを使用している場合は、そのデータを生成できるようなルーチンも用意してください。(ステージデータを圧縮している場合はステージデータを作成するルーチンを用意する)
 また、プログラムの改造をしやすくするためFOR〜NEXTではインデントを入れる、ルーチンごとに改行を入れる、変数名やラベル名は分かりやすいものにする、適時コメントを入れるなどのことを行うとベターでしょう。


 必須項目をすべて満たしており、禁止項目が1つもない場合は「PSS準拠」となります。説明文などで「PSS準拠」と一言添えておきリストの先頭や末尾に'PSSと入れておけばユーザーに対して分かりやすくなるでしょう。可能な限り推奨項目も満たすようにすればユーザーへの配慮もさらに大きくなります。また制作者の負担を考えて必須項目、禁止項目はある程度厳選しているためPSS準拠は全く難しくありません。「リソースを使わない」「キャラを書き換えない」というプログラムにおいては普通に作ればユーザー識別コードを付けるだけでPSS準拠となります。(推奨項目を満たして無くてもPSS準拠を名乗ることは可能です)
 これらはすべてのユーザー、すべてのプログラムに強要しているわけではなく他人(そのプログラムを使用してくれるユーザー)に配慮したプログラムを作りたいという人がWebなどを通じて他人に使用してもらう場合に考慮してもらいたいというものです。
 自分専用プログラム(Webなどを通じて他者へ公開しないプログラム)や1画面プログラムなどのごく小規模なプログラムは特に気にする必要はありません。しかし、ユーザーへの配慮をするに越したことはありません。

必須と推奨の基準について

 人によっては「これが推奨止まりであれが必須ってどうなの?」とかいう感想を持つ人もいることでしょう。必須となっているものはプログラムの動作以前に関する部分となっています。
 SAVEやLOADにおいてユーザーに負担を掛けるようでは話にならないし、そのプログラムを実行することで他のプログラムにまで影響を与えるというのも問題です。それらをクリアできて初めて「快適に使用できるようにする」とか「改造をしやすくする」とかいうことが意味のあるものになると私は考えています。

 以上の点を踏まえてファイル関係の上3つの項目が必須となり、プログラム実行においてはキャラの書き換えに関するもののみ必須となっています。


 このPSSは「ユーザーに配慮したプログラムが少ない」ということで95年に考案したポケコン用PSSをプチコン用にアレンジしたものです。
 なお、このPSSに関してご意見等がありましたらおちゃめくらぶ掲示板もしくはtwitterのおちゃめまでよろしくお願いします。

RETURN/RETURN *MAIN

inserted by FC2 system