コードゴルフ
5行縛りを巡って
本作は2006年公開の6行 RPG「ムシハカセ」に続く、2作目の行数縛りのゲームとなりました. そのムシハカセ自体が5行に収めることが当初の目標でしたが、諦めて6行でリリースしています.
1行の違いとはいえ、6行と5行とでは異次元でした. 例えば、PRINT
, IF
といったコマンドの数を単純比較して頂くだけでも、2作品が全く異なる設計であることが視えてくると思います.
コマンド | 本作 | 6行 RPG ムシハカセ |
---|---|---|
PRINT | 3 | 6 |
IF ; | 3 | 5 |
IF THEN | 1 | 1 |
GOTO | 0 | 3 |
END | 0 | 1 |
計 | 7 | 16 |
私的5行縛りの明文化
本作の5行縛りの詳細を記録しておきます.縛り作品の参考にしてください.
- PB-100 シリーズで動作する
- 5行、本作では関係ないが、行番号が一定の数列(等差数列)などの制限を設けない
- プログラムに含めずプレイヤーがマニュアルで実行するコマンドは、初回の
VAC
だけ.本作では関係ないが、ハイスコアの設定くらいなら良いと思う. - 変数は増設しない(
DEFM
)、デフォルトの26(+1)個のみ - 本作ではデフォルト設定で済んだため関係ないが、
MODE
,SET
をユーザーがマニュアルで設定するのは許容する - ゲームプレイに支障のない不具合は諦めてもしゃーない(本作品で諦めた既知の不具合について)
250ステップ程度なので
DEFM 27
で変数をひとつ増やしたら解決するけど、流石にこれは禁じ手とします。5行縛り。26変数縛り。5行に含めないのは
VAC
だけ。使える変数が一つもない…
縛りの狙い
n 行ゲーム作品は、ポケコンで、マイコンで、広く取り組まれてきたテーマです.しかし PB-100 用の5行 RPG は、前例を知りません. 本作で僕がかつてない縛りに挑んだ狙いを記録しておきます.
まず、5行に収まりしかも全ての行がギッチリ62文字のプログラムリストには、それ自体に美しさがあります.
これに加えて、これからの作品でも採用を考えている戦闘システム(逃走入力式オートバトル)について、きつい縛りで頑張ることで省メモリな実装を見つけることもテーマでした. つまり本作は本作のみでは終わらず、これからのタイニー RPG 作品へのステップとなることでしょう.お楽しみに!
感染症の時代に
さて、縛りものは縛りを満たさないとリリースできないので、どんなにいい感じであっても、満たすまでは死蔵することになります.
感染症でごくまれにとはいえ、突然死が身近になってしまった時代に、死蔵はあまりしたくないものです. 死蔵するものが増えると、プレッシャーも増えて精神の衛生にもよろしくありません.
PB-100 における n 行縛りの難点
他のポケコンやマイコンのように、短縮記法や三項式、論理式の使えない Pocket BASIC での n 行縛りへの疑問については、制作が困難な時に何度も頭をよぎりました.
また、設定した行数に納めるために、ステップ数は少いが文字数は多くなるアイデアを選択肢からさっさと捨てていく癖がついていることにも気付きました. 合計ステップ数のみで縛られる開発と頭の使い方が異なってきてしまうのも、これっきりにしたいと思う点でした.
ゲームの外の UX デザイン
ネットプリントでクロスメディア!
僕には、マイコン誌の掲載経験が無い
マイコン誌での掲載経験が無いために、僕のプログラムが紙メディアで発表されたことはありません. このルサンチマンを埋め合わせる機会を探していまして、今回にしました.
マイコン誌を模したことで PB-100 シリーズを持っていなくても、懐かしさで手に取ってくださった方もいらしたようです.
紙メディアの存在感でゲーム体験を底上げする
実質は次のタイニー RPG の為の技術実証的プログラムにも関わらず、17年も開発に要したために、リストに愛着が湧いてしまいました. そのせいで、開発期間に見合う反響が欲しいと思ってしまいました.
一方で、前作のムシハカセのゲームバランス、家から森へと至るフィールドの自然さ、エンディングの演出などと比して劣るとは自覚していました.
そこで、紙メディアの存在感をもってして、なんだか凄いゲーム体験をした気にさせてしまう方向を模索しました. これならば、コードゴルフが刺さらない層にも訴求していくことができそうです.
PB-100 作品におけるマニュアルと挿絵
挿絵をふんだんに用意して豊かな紙面になるように心がけました.しかし挿絵はあくまでも、PB-100 の表現力とプレイヤーの脳内で再生させたいイメージの橋渡しをするものに留めています.
現代のコンピュータゲームはマニュアルを読まずとも操作方法に迷わないように、チュートリアルなどの工夫がされています。
しかし PB-100 用ゲームではそうもいきません。解説文を読むことが苦にならないばかりか、低い表現力を補ってゲームを盛り上げる作文の妙を感じたのはたかじょゆうき氏の作品でした。
Web 時代になってからは、ゲーム作家はイラストまで含めて解説書をコントロールできます。そこで僕が傾注したのが、PB-100 の表現力と、このように脳内で再生されて欲しい、を繋ぐようなイメージを提示することでした。
モノクロ漫画の制作と印刷物のレイアウト・版組はこの20年間で学ぶ機会に恵まれたものです.僕の持てる技術の総動員ともなっています.
プチ RPG のデザイン論
ディスプレイの向こうの異世界
PB-100 のミニマムな RPG
ムシハカセや本作は、ミニマムな RPG を提示する試みでもあります.特に本作ではムシハカセでやり残した X 座標と敵の HP 表示を纏めていて、この系統の決定版といえそうです.
とはいえ、先にこの画面に到達したのはムシハカセを PC-E200 シリーズに移植してくださった咳メグ氏でした.先を越されちゃいました.
さて、ここから更にミニマムにするには、地形と敵キャラの表示を削ってしまうことが考えられます.
しかし僕は、プレイヤーに異世界を旅しているようなゲーム体験を届けたい、ゲーム作家であることに軸足をおきます.
プレイヤーのイメージを誘起する仕掛けを外す判断には躊躇します.
ですからここが僕のゲーム作品にとってのミニマムの極限です.
この世界を感じる仕掛けについて、机ひとつ氏からはとても嬉しい感想を頂戴いたしました.
PB-100ゴーストオブイツシマ、小さな画面で荒野を進む感覚を味わえて大満足。マイナス座標に延々と荒野が続くのもオープンワールドぽいなー、と思ってたら作者公認の敢えての仕様らしくて感服。
マイナス座標は荒地が続くので「あ、ここには何も無いんだな」と察っせられた時にぐんと世界が広がって見えました。ゲームタイトルもオープンワールドの概念がある現代とマッチして見事です!
2D フィールドタイプについて
ところで、2チャンネル掲示板でのムシハカセの公開に前後して、6行で 2D フィールドタイプの RPG に関する投稿がありました.
当時の僕は 505: で無難な回答をしていますが、内心は出来るわけがないと考えていました.
498 :490:2006/02/08(水) 11:29:43
移動は左右のみで現在の地形のみ表示、スタート地点が回復ポイント
戦闘は攻撃か逃げるのみ
謎なし
ボス倒してクリア(?)
を予定。難しいな、パズルだ。501 :ナイコンさん:2006/02/09(木) 00:19:31
>>498
地形などいらん。
座標のみの表示でOK(0,0)がスタート地点、ボスは(99,99)
回復ポイントは(0、10の倍数)
敵の攻撃力はY座標+5、防御力はX座標+5
HPはX座標+Y座標+5
ボスの攻撃力150、防御力150、HP400
こんな感じでどう?505 :490:2006/02/09(木) 00:59:36
>>501さんのもののほうが、オーソドックスな雰囲気で面白そうですね。
だれかあとに続いて6行RPGとかもっと短いRPGとか、発表して下さったら、うれしいっす~
1D フィールドタイプは最も省ステップで実装できるフィールド移動方式ですが、それですら6行ならなんとか収まって若干の余裕を残すのみ. これに Y 座標も加えることは不可能、というのが2006年当時の僕の結論でした.
時はくだって5行 RPG が完成をみた現時点でしたら6行で 2D フィールド RPG の実現可能性は俄然高いです. とはいえ画面に X, Y 座標の数字が並ぶだけですと、プレイヤーにそこに世界が存在する感覚を惹き起こす点で心許ないと考えます.
17年間に渡ってこのテーマを追ってみて、RPG 作品を成立させる最小限の要素をなんとか詰め込むプチ RPG では、1D フィールドタイプしか採りえないと思います.
つまり、地形表示は要ります!
技術の継承
詳細解説(detail.html)について
今作から技術情報を拡大して詳細な技術解説文書を残すこととしました.
この動機として、自分の書いたものとはいえ昔のプログラムを見直すと理解が容易ではないことを、Black♥Jack バージョン1.3.0の開発で思い知りました.
あわせて、同時期に拝読した「Rogue in PB」(門真なむ, 2022年)添付の detail.txt のお陰で、各行や各ステートメントについて詳細な文章を用意すると、プログラミング技術の継承が各段に容易になることが分かりました.
誌面に限りのあるマイコン誌掲載作品の、要点だけを抽出した解説文に親しんだ僕ですが、HTML で解説できる現代では言葉足らずだったことを悟りました.
今後にリリースされる PB-100 用ゲーム作品では、詳細な解説が主流になっていくのではないでしょうか.
detail.txt を手に取る
僕が detail.txt を読んだのは、開発が煮詰まっていた時です.突破口となるテクニックを探して既存作品のコードを読み込もうと考えていました.
一方で、僅かに544ステップで Rogue ライクを実現した本作を読み解くことはそれ自体が冒険だと尻込みもしていました. そんな怠惰な僕に detail.txt は、各行ごとにかなりの分量で解説してくれます.お陰様で作品で使っているテクニックやトリックを容易に把握していくことが出来ました.
残念ながら当該作品には、本作に流用できそうなテクニックは見つかりませんでしたが、煮詰まっている中で優れた技術文書に触れたことは、心が洗われる心地でした.
detail.txt は最先端の PB-100 プログラミング技術を身に付ける為の優れたテキストです.あなたのステップアップを助ける最良のテキストとして、強くお勧めします!
「Rogue in PB」@num_kadoma の detail.txt を拝読したら心が洗われましたよ。
最適化を徹底したリストは把握に難儀しますが、各行に対して、このくらいの分量で解説が付くと、スムースに大部分を把握できそうなのは新鮮な体験でもありました。もちろん、門真さんの説明の巧みさもあると思います。
付記
謝辞
滝本飛沫氏より、スピンオフ小説の寄稿
氏には「公式ファンクラブ会誌 第1号兼最終号」に読み切りスピンオフ小説 「エ! オレ? ホネ!? 死んだら異世界に召喚されてホネになりました」を寄稿いただきました.
「ゲーム作品中で様々な役を演じてきた PB-100 のフォント達」と異世界ブームを掛け合わせた、氏ならではの異色ファンタジーです.
「およそ A3 コピー紙とは思えないような豊かな紙面」を目指すファンクラブ会誌に、文芸誌の彩りを加えることが叶いました.
多忙な仕事の合間を縫っての執筆に、あらためて感謝を申し上げます.
門真なむ氏より、多大なるご支援
氏には初期版の PB-100 で遭遇する問題の原因と回避法の詳細な調査結果を報告いただきました.このおかげで修正版をリリースできました.
あわせて作者も把握できていなかった極端な状況で発生するエラーを報告くださり、 更に「公式ファンクラブ会誌 第1号兼最終号」の校正もしていただきました.的確な助言を頂戴したことは、制作が佳境の疲労困憊の中で大変助かりました.
この上にデモも制作してくださいました(後述).この場であらためて感謝を申し上げます.
そんな「公式ファンクラブ会誌」も含むペーパーウェアの PDF 版は BOOTH にて販売中です.
PB劇場(デモ)のご紹介
ご機嫌いかがでございますか? いやぁ、わたくし、嬉しくって.
門真なむ監督の手によって、ノーマルの PB-100 にゴーストオブイツシマを入力した際に残る278ステップに収まる、 デモが公開されたのですね.(初版, 更新版)
あのノーマル PB-100 用アクションゲームの傑作「CHACE IN LABYRINTH ~洞窟の罠~」(2浪?たCAROLゆうき。ポケコンジャーナル1993年4月号)に続いて、PB劇場を備える作品が、ついに現れたわけです.実に30年ぶりですね.
禁忌の島にたった独り、上陸したあなたの過酷な戦いのはじまりを、技巧を凝らしたデモムービーが盛り上げます.
では、ごゆっくりお楽しみください.
いやぁ、PB劇場って本当にいいもんですね.(水野晴郎風)
参考文献
- メビウス
- “特集 BASIC プログラミング入門 1ステップに命を削る”,ポケコンジャーナル 1992年 4月号,工学社
- 滝本 飛沫
- “ポケコン使い ~PB指向~”,ポケコンジャーナル 1993年5月号~11月号,工学社
- 門真なむ
- “Rogue in PB”,2022年8月,Little Limit
PBロッキーの冒険 その3
「17年ぶりの新作カムバック、おめでとう!」
「ありがとうございます、ホームページへのゲームの追加では20年ぶりになっちゃいました.」
「まずはこの17年を振り返ってみてどうだろう?」
「この何年かでしたら門真なむ氏の登場ですね.マイコン誌時代の最高到達点を凌駕する詰め込みテクニック.モダンなクロス開発による高速リリース. ベンチマークを基にした高速なアクションゲームの実装.パソコン接続アダプタの出現を背景にプログラムエリアをふんだんに使うプログラミング作法の提示、 と20年代を迎えてもまだ進歩するのかと驚異的でした!」
「うむ.10年代の最後からのプログラミング技術の探求に氏の貢献は大きすぎるね.」
「一方の長く新作をリリース出来ていない僕は、過去の人になってしまった、という焦りが正直ありました. これと5行 RPG の先の見えない開発の板挟みは、きつかったですね.1ステップに命を削る、が誇張や虚勢ではなく呪いになってしまっていました.」
「次の20年の座右の銘は、1ステップに命を削ってはいけません! かな?」
「座右の銘でしたら、逃げれば1ステップ進めば2ステップ、にします!」
「…、….それでは、水星の魔女が大団円を迎えた頃にでも、またお会い出来たら良いですね!」
ちゃんちゃん♪