(必須) | 必須項目(必ずやって欲しい) |
(推奨) | 推奨項目(やるのが望ましい) |
(必須)ファイル名にはユーザー識別コードを入れる プチコンはフォルダ管理ができないため他者が作ったプログラムとファイル名がダブらないようにこちらのユーザー識別コードとダブらないような自分専用のユーザー識別コードをファイル名に付けてください。 |
(必須)リソースのファイル名は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ではインデントを入れる、ルーチンごとに改行を入れる、変数名やラベル名は分かりやすいものにする、適時コメントを入れるなどのことを行うとベターでしょう。 |
必須と推奨の基準について人によっては「これが推奨止まりであれが必須ってどうなの?」とかいう感想を持つ人もいることでしょう。必須となっているものはプログラムの動作以前に関する部分となっています。SAVEやLOADにおいてユーザーに負担を掛けるようでは話にならないし、そのプログラムを実行することで他のプログラムにまで影響を与えるというのも問題です。それらをクリアできて初めて「快適に使用できるようにする」とか「改造をしやすくする」とかいうことが意味のあるものになると私は考えています。 以上の点を踏まえてファイル関係の上3つの項目が必須となり、プログラム実行においてはキャラの書き換えに関するもののみ必須となっています。 |