かつて将棋のオンライン対局と言えば、将棋倶楽部24、将棋ウォーズ、将棋クエストであった。ところが、昨年末に将棋倶楽部24が閉鎖。将棋倶楽部24のような対局サイトを求めていたユーザーは行き場を失った。
一方で、今年になって、バイブコーディングでプログラミングの知識がなくともある程度のものが作れるようになった。行き場をなくしてさまよっていたユーザーや、いまのオンライン対局サイト(対局アプリ)に不満を持つユーザーが、バイブコーディングを利用して、新たな将棋対局サイトを立ち上げ始めた。このため、オンライン将棋対局サイト(アプリ)は、一気に群雄割拠の時代に突入した。
その代表例の一つが、「飛角」という対局サイトである。(将棋倶楽部24のような)長時間対局(一手30秒+考慮60秒)、終局後のAIでの解析機能など、他の対局サイト(アプリ)にはなかった機能が取り入れられていて、リリース直後から一定の注目を集めている。
しかし、同接が増えてきたところ、4月30日にメンテナンスに入ってしまった。
私が調べたところ、対局ロビーで、そのときロビーにいるユーザー全員の情報を2秒おきにロビーにいるユーザー全員に送信していた。N人にN人分の情報を送るので、単純計算では N×N、つまりは、O(N^2)のトラフィックが発生するわけで、同接が増えたらサーバーが負荷に耐えられなくなって落ちるのも道理である。
バイブコーディングでは、特に指定しないと、AIは「まず動くもの」を優先して、素朴な実装を出してくることがある。今回のようなリアルタイム対局サイトでは、盤面を動かすだけなら簡単そうに見えても、ロビー、マッチング、状態同期、切断復帰、レーティング、棋譜保存、AI解析など、実際にはかなり多くの設計課題がある。見かけ上はうまく動いていても、開発者側にプログラミングやネットワーク設計の知識がないと、スケールしたときに破綻する構造に気づきにくい。
まあ、それでも「同接が増えてきたらサーバーが重くなって動かなくなったから、原因を調査して、1から作り直して!」とAIに指示すれば、AIが現在のコードをベースに2,3日かけて丸ごと作り直してくれるかもしれない。「それこそがバイブコーディング時代の開発スタイルだ」と言われたら、私としても否定するのは難しい。
ただ、ソフトウェア開発とは本来、「当たりが出るまで設計ガチャを回す」ものではないと思う。少なくとも、同接が増えた瞬間に壊れるかどうかは、動かしてから祈る話ではなく、設計段階で見えていてほしいところである。
AIは、ものづくりの門を大きく開いた。それ自体は、間違いなく素晴らしいことである。ただ、その門の先で本当に必要になるのは、魔法のようにコードを生み出す力ではなく、負荷と時間と人の熱量に耐えるための、地味で確かな基礎工事ではないのかな。
つまり、上から進んでくる駒を成られる直前に縦筋に対応するキーを押すことで駒音が鳴るような将棋ゲームも簡単に作れるけど、そんな前世紀からあるようなスタイルのゲームなんか作っても、「わー、すごーい(小並感」程度のことしか言ってもらえないぞって感じですか?w
駒音が鳴るリズムゲームは新しいかもしれんですね。(誰がやりたいのかは知らんですが)