ある規約に従って皆でミニゲームを作り、それを集め、専用ローダーでランダムに実行して「メイドインワリオ」的なものに仕上げようという試み。 メイドイン プチコン?
ミニゲームは短時間で終了するもので、見て一瞬でルールがわかるものが良いですね。
上画面に説明を出し、下の画面でゲームをプレイすることを推奨します。
またなるべくタッチ操作を活用していきましょう。
ワンボタンでプレイできるものは、画面タッチでも代用できる、みたいな感じで。
対応ミニゲームはユニークなIDを持ちます。
競合を避けるため、IDはプログラムに付けるファイル名と同じにしましょう。
ラベル名、配列名、保持したい変数名は、そのIDを先頭に付けることにします。
このページのサンプルでは MYGAME とします。
対応ミニゲームは、2つの実行モードを持ちます。
単独で起動させると普通のゲームとして動作しますが、ローダーにAPPENDして起動すると自身をローダーに登録し呼び出しを待つモードになります。
言葉で聞くと難しいですが、実際のコードは簡単。
プログラムの最初で MIPTCOM_VERSION という変数を確認します。
値が設定されているならローダーが存在するので登録処理、設定されていなければ独自のタイトル処理に移動します。
IF MIPTCOM_VERSION>0 THEN @MYGAME_INIT ELSE @MYGAME_STANDALONE
ローダーが存在する場合、対応ミニゲームは自身を登録して終了(次のプログラム制御を渡す)します。@MYGAME_END は自分のプログラムの最後に置くラベルです
@MYGAME_INIT
s$="MYGAME":GOSUB @MIPTCOM_REGIST
GOTO @MYGAME_END
プログラム本体は @MYGAME_START に記述します。以下に気をつけましょう
GOTO/GOSUBのあて先に文字変数が使えるが、文字列の結合式も使える
GOTO "@"+A$
GOTO "@LABEL"+STR$(B)
DIMはIF文の中でも使え、要素数に変数が使える
P=10:IF P>0 THEN DIM BUF(P)
高橋はるみ
さんの「はるみのゲーム・ライブラリー(PC-6001版)」に収録されていたもの。
ペンキを持った主人公が、透明なエイリアンをビーム(銃?)で倒すゲームです。
アクションゲームに見えますが、自分が動くと相手も動く、反射神経のいらない思考型ゲームだったりします。
なにせ古いゲームなので細かい部分を覚えておらず、だいぶ勝手アレンジがはいっています。
矢印キーでペンキマンを動かし、ボタンでビームを撃って透明エイリアンを倒してください
ビームが外れると何故か自分がやられてしまいます (注:これは僕の記憶違いで、オリジナルは点がマイナスされると後で教えていただきました)
オマケのルールとして、自分は10点ごとに増えます
またエイリアンはやられると透明な体液を撒き散らす設定にしてありまして、5点ごとにその範囲が広くなります。
このゲームのタイトル、アイデア全て元のゲームを開発した高橋はるみさんのもので、これはそれをリスペクトした作品です。
このソフトウェアは無保証です。
このソフトウェアはフリーで、紹介・配布・改変など自由にできます。作者は著作権を主張しません。
紹介いただいた場合、作者のTwitterアカウントまでお知らせいただければ嬉しいです(これは必須ではありません)。