開発裏話〜太陽とお月さま編

  1. なぜ陣取りゲームか

    このプログラムを作ったのは、マイコンBASICマガジン(以下ベーマガ)に作品を投稿してやろうというおもいからだった。
    投稿するからにはなにかすごいものと思ったが、何から何まですごいというものは簡単に作れるはずもない。
    それでも、何か優れた点が1つでもあるようなものを作ってベーマガのスタッフを驚かせようともくろんでいた。

    当時(今でもそうだが)の僕にはまだ技術が身についてなかったので、 派手なアクションゲームや複雑なRPG,SLGを作ることはできなかった。 (というよりめんどくさくて作る気がしなかった)
    そこで1番楽そうに思えた陣取りゲームにすることにした。
    陣取りゲームといったらコンピュータ思考ルーチンが重要だと思ったので、僕はそこに力をいれようと考えた。

  2. ルールをどうするか

    陣取りゲームを作ることに決まったが、次に決めなければならないことはそのルールであった。
    まず最初に決めたのはオセロのようなものにしようということだった。
    理由は、思考ルーチンを作るのが簡単そうだったから。

    まず最初にオセロがどうして面白いのか考えてみた。
    重要なのは、1度に返るコマの数が多いことだろうという結論に達した。
    コマが1ターン毎に多く返り、そのため後の展開を予測することが難しい。
    そしてコマが多く返ることが最後の逆転を可能にする。
    そう考えたのである。
    (その考えは実際にはかなり間違っていた。後を参照)

    コマを多く返すようにするために考えたルールは、コマをジャンプさせるというものだった。
    自分のコマが相手のコマを飛び越え、飛び越えられたコマはすべて返るのだ。
    ジャンプは連続2回まで可能にした。(下図参照)
    最初は何回でも可能にしようと思ったけど、それだと返るコマが多くなりすぎると考えたのでやめにした。

    □□ 1□□□□→□□□□□□□
    □□○○□□□→□□●●□□□
    □□○□○□□→□□●□●□□
    □□○□□ 2□→□□●□□●□
    □□○□□□□→□□●□□□□
    □□●□□□□→□□●□□□□

    左上の図では、白いコマが●→1→2とジャンプをする。
    ジャンプしたあとの図が右上の図。
    飛び越されたコマが全て返っている。
    ちなみにジャンプ先との間に自分のコマがあるときはジャンプできない。

    「ジャンプ」と書いたけど、ベーマガの図に添えられていた説明には 「移動先1、2」と書かれていた。
    パソコンの画面ではジャンプするというイメージはわかないのかもしれない。
    といっても僕もオセロのコマを手にしてやったというわけではないが。
    あとジャンプしたはずのコマが元の位置と移動先とに分裂しているのも不思議なのかな。
    その点はゲームということで勘弁してほしい。

    盤のマス目の数は8×8、ゲーム開始時のコマの位置はオセロと同じにした。
    深く考えずに、こんなもんでいいだろうと思った。
    今のところ特に問題はないのでこれでよかったのだろう。

  3. 最大の問題、思考ルーチン

    思考ルーチンは、よくやられているように次の方法をとることにした。
    まず、考えられる手に対して点数をつける。
    それを何手か先まで繰り返して、点数が最高になる手を打つ。
    実際に作ったものでは、1手先、2手先と調べる過程で、点数の低い手は候補から外している。

    問題はどう点数をつけるかということであった。
    僕が当時オセロで重要だと思ったのは、隅をとることであった
    そのため、僕は単にコマ1個につき1点、それが辺上にあれば10点、それが隅にあれば100点をつけ、 自分のコマならプラス、相手のコマならマイナスするというものにした。
    オセロや他の陣取りゲームについて少し知識のある人なら、 こんなもので強い思考ルーチンを作ることがわかるだろう。
    しかし、僕は当時こんなもので強くなると信じていたし、 僕はこのゲームにかけてはあまりに弱かったので、 実際対戦してもなかなか強いと思っていた。
    このようにして太陽とお月さまは完成した。

  4. 間違っていたオセロ観

    前に、多くのコマが返ることがオセロを面白くすると書いた。
    しかし、あとで読んだオセロに関する本によると、場合にもよるがオセロにおいてコマを多く返すことはよくない。
    コマを多く返しすぎると、その分自分の打つ手が少なくなり、手詰まりに陥ってしまうのだ。
    「太陽とお月さま」でもそれと同じ事がなりたつと考えられるから、 ジャンプを2回までにするというのは、無意味だったのかもしれない。

  5. 失敗

    ベーマガに掲載された写真を見ると、マスとマスの間が離れすぎているし、メッセージが 盤の中に入り込んでいて、なんかかっこわるい。
    これは開発段階でのディスプレイの設定(Windowsのデスクトップ上で右クリックするとできる) と、電波新聞社で使っているマシンの設定とが異なるからだ。
    設定が違っていても、表示を同じようにすることは可能なのだが、当時はその方法をしらなかった。
    これ以降の作品ではマシンの設定によらないようなプログラムを作っている。

    ベーマガに掲載されたとき、CHECKER FLAGでマスごとにピクチャーボックスを使っていることを 指摘されている。
    これは、どうしてだかよく覚えてないけど、APIを使いたくなかったからじゃないかな?
    APIを使いたくなかったのはどうしてかといわれると困るんだけど。
    いまでは盤全体を使う方が打ち込む方の負担も少なくなってよかったかな〜とおもっている。

太陽とお月さまの紹介に戻る


意見、感想はdsanno@adachi.ne.jpまでお願いします。