OBONO’s Diary

へっぽこプログラマの戯言

一か月で30本のミニプログラムを作ってみて (上)

一方的に敬愛しているABAさん(id:ABA)の以下の記事を読んで、

いつか自分もこんな事やってみたいなぁ、自分が今やるとしたらプチコン3号でやるんだろうなぁ…って事を常々考えていながら、なかなか実行に移せずにいた。


そんな中、6月中旬に公開されたプチコン3号のバージョン 3.2 のアップデートで、WIDTH という奇妙な命令が追加される。
なんか、WIDTH 16 のコンソール画面で動くゲームを作れば、ちょっとベーマガっぽい感じになって、ノスタルジーに浸れそう。それに、縦横それぞれ2倍の文字で一画面プログラム作ったら、それはそれで面白いのでは?
…と思って、試しに一画面でヘビゲームを作ってみたのに加え、テルさんが移植した縄跳びゲームを WIDTH 16 で作り直したのを契機に味を占めてしまい、一か月間 WIDTH 16 の一画面プログラムを作り続ける事を決意した次第。


今回、自分に課したルールは以下の通り。

  • WIDTH 16 の状態で、プログラムを一画面に納める。
    • 長い行の折り返し表示は許容する。
      • これを許容しない(必ず毎行改行する)と、破綻するのが目に見えていたので。
    • できるだけ改行を入れる。
      • 写経してもらうことを想定し、打ち間違えがあった場合に、少しでもエラーの場所が特定しやすいように。
    • プログラム末の最後の改行は画面外に行っても良い。
  • WIDTH 16 のコンソール画面のみ使用する。BG、スプライト、グラフィックは一切使用しない。
    • プログラム内に WIDTH 16 を記述する。
    • ACLS は記述しない。
      • BGやスプライトが画面に残ってても、それはそれで乙なものさ。
  • ゲーム終了時は、結果(スコア・タイム)を表示した状態で少し待ち時間を設ける。
    • 「作品を見る」で遊んだ場合、プログラム終了とともにすぐ一覧画面に戻ってしまうので。
  • プログラム内にコメントで署名 @OBONO を入れる。
    • 単なる自己主張。

プログラムを量産するにあたり、新しいルールを毎回創出する…なんて事は、頭が固いオッサンには無理なので、そんな事はハナっから諦める。
んで、既存の商用ゲームとかベーマガに載っていた(ような気がする)作品とかの、劣化移植で済ませてしまえという、安直な考えで臨んだわけだが、それでも毎日一作品というのはかなり辛かった。


開発プロセスは、大体は以下のような感じ。

  1. 行きの電車の中で、今日作るプログラムを構想する。 (30分)
  2. 昼休みに、PCのテキストエディタで仮コーディングして、全体のコード量をチェック。 (15分)
  3. 帰りの電車の中で、2. の成果をプチコン3号に入力。 (15分)
  4. 遊んでみて、難易度などのバランス調整。 (15分)
  5. 帰宅後、コードが一画面に納まるようリファクタリングなどなど。 (15分〜60分)

プログラムの本質とは全然関係ない最後の工程に、かなりの時間が割かれてしまっているのが非常に残念な感じ。公開キーでプログラムをやりとりする昨今、「自分はこのプログラムを一画面に納めたぜゲヘヘ」みたいな自慢をしたところで、虚しいだけなのにね。
ただ、いくつかの作品については、一画面に納めるために、当初構想していたルールを削ぎ落としたり改変したりしていった結果、全然違う新しい何かが生まれた事もあったので、それはそれで、一画面にこだわった事が報われたと言っても良いかもしれない。


もう少しいろいろ語りたい事があるので、続きはまた数日後に。