「一枚の板からApp Storeへ」
約20年前、大学のルームメイトと私は廃棄物置き場から一枚の板を拾い、 定規でマス目を引き、工芸品店でガラス石を約3ポンドで買って囲碁を始めました。 何をしているのか、まったくわかっていませんでした。今でも正直そうかもしれません。 でも、この遊びはすぐに私の心を掴んで離しませんでした。 これほどシンプルに見えるものが、これほど果てしなく深いとはどういうことか—— 19×19のマス目。黒と白の石。ルールは5分で覚えられる。 それでも当時、地球上で最も強力なコンピューターは、強い人間の棋士に勝てなかったのです。 そのことが、私には堪らなく面白かった。
最初の執着
その魅力は、Kingston University での卒業研究にまで影響を与えました。 写真から碁盤の状態を読み取るアルゴリズムをコンピュータービジョンとして手作りし、 87%を超える精度を達成したのです。ディープラーニング革命以前の2000年代初頭としては、 ひそかに誇らしい出来だったと思っています。
ちょうど同じ頃、私は囲碁の文化を直接体験し地元の棋士と対局するために、 2週間の日本旅行をしました。全試合、負けました。特に忘れられない対局があります。 おそらく段位持ちの若い男性で、非常に内気で、目を引くほど長い爪を持ち、 父親に付き添われていました。気がつく前に完膚なきまでに叩きのめされ、 投了すべきだと気づくまでにしばらくかかったほどでした。
訪れた囲碁サロンはどこも煙草の煙が立ち込めていて、 私自身も喫煙者にもかかわらず、新鮮な空気なしに一局打ち続けるのはほとんど不可能でした。 棋士はほぼ全員が高齢者でした。日本がテクノロジーとイノベーションで知られていることを考えると、 囲碁が老後の趣味になっているのが不思議でなりませんでした。 誰も囲碁とコンピューティングを結びつけようとしていないように見えました—— まだ、その時は。
長い空白期間
人生は続きました。Javaデベロッパーとして働き、大学在学中にアクセンチュアで1年間勤務し (ストレスで髪の毛がすべて抜けました)、その後、体調不良をきっかけに長期間の無職状態に陥りました。 Java のスキルは、業界が先に進んでいく中で次第に時代遅れになっていきました。 追いつこうと努力しましたが、差はすでに大きく開いていました—— しかもその分野の賃金が実際に下がっていることに気づいたのです。 やり続ける意味が見えませんでした。
その間も、囲碁は続けていました。真剣にではありませんが—— 約15年間、Exeter 囲碁クラブに断続的に通い続け、腕前はせいぜい平均レベルです。 それでもこのゲームは、私を手放しませんでした。
すべてが一度に噛み合った
そして、驚くほど短い期間にいくつかのことが同時に起きました。
COVID によるロックダウンが始まりました。やることもなく部屋に閉じ込められていましたが、 幸いなことに家族とパートナーからのプレゼントとして3台の Apple デバイスがありました。 AlphaGo のドキュメンタリーを観て、電撃が走りました。 大学時代に魅了されていたもの——コンピューターが囲碁をマスターする不可能性——が ついに解かれていたのです。 そしてそこから始まった AI 革命はまさに始動したばかりでした。 ChatGPT が登場し、続いて Claude が来て、そして Apple が Vision Pro を発表しました。
KataGo で遊び始めて、ちゃんとした App Store のインターフェースがないことに気づきました。 iPhone と iPad で使える囲碁アプリを調べてみると、まあ……そこそこでした。 機能はしている。でもアクセシビリティ機能が一つもない。 App Store にある囲碁アプリはひとつも、VoiceOver、Voice Control、Dynamic Type、 あるいは Apple のアクセシビリティ基準のサポートを謳っていませんでした。 一つも、です。
何十年もの間、視覚障害を持つ人々が楽しんできたゲームなのに—— 日本、フランス囲碁連盟、韓国では、凸型の触覚碁盤が使われています—— デジタルでアクセシブルなバージョンが存在しないという現実は、 あってはならない空白に思えました。 視覚障害を持つ囲碁棋士たちは、アプリのエコシステムから完全に締め出されていたのです。
すべてが一度に重なり、ぴたりとはまりました。 AI ツールを使って学習を加速させながら iOS 開発を一から独学し、 誰でも——目の見える人も見えない人も——プレイできる囲碁アプリを作ろう、と決めたのです。
ゼロからのスタート
2024年7月1日、私は "RenderedGoApp" という名前の空の Xcode プロジェクトを作成しました—— あまりに感動のない名前ですね。Swift、SwiftUI、RealityKit、 あるいは Apple の開発テクノロジーについて何も知りませんでした。 フォーマルなトレーニングも、ブートキャンプも、開発者イベントも頼らずに、 Apple の公式ドキュメントと無料の WWDC セッションですべてを独学しました。
2週間後の7月17日、プロジェクト名を "Goban3D" に改名しました。 碁盤(ごばん)とは、囲碁で使う伝統的な厚い木の台のことです。 この名前がしっくりきました——Apple の命名基準に沿っていて、 アプリが何であるかをそのまま表現していました。
私は小学校から専門学校まで、ずっとディスレクシアのサポートを受けてきました。 自分に合わせて作られていないツールがどういうものか、身をもって知っています。 だからコードの最初の一行から、アクセシビリティは後付けではなく、 このプロジェクトが存在する理由そのものでした。
SceneKit という試練
最も辛かった瞬間のひとつは、Apple が SceneKit を非推奨にしたときでした—— ボードシーンをまるごと作り上げた3Dフレームワークです。 私はそれに習熟していました。シーンには蝶が舞い、草が揺れ、 物理ベースのライティングが施されていました。最小限の CPU 使用率で美しく動いていた。 そこへ Apple が、RealityKit に切り替えると発表したのです。
猛烈に腹が立ちました。それでも最先端のものを作るという覚悟と、 技術的負債に対するゼロ・トレランスの姿勢から、 SceneKit のコードはすべて抜き出して置き換えなければならないとわかっていました。 あの蝶は生き残れませんでした。RealityKit は Apple の新しい看板フレームワークですが、 前身よりもはるかに多くのリソースを消費します—— いつか Apple のエンジニアと腰を据えて話したいテーマです。
現状
現在、Goban3D は iOS および macOS の App Store で外部ベータ版として公開されています。 Apple のアクセシビリティ7カテゴリすべてにわたって100%の対応を達成しています—— VoiceOver、Dynamic Type、Voice Control、Reduce Motion、Reduce Transparency、 Sufficient Contrast、Differentiate Without Color の全項目です。 3.5インチの SE から 6.9インチの Pro Max まですべての iPhone、 9.7インチから13インチまですべての iPad で動作し、 Catalyst を通じて Mac でもネイティブに動きます。 3Dボードは RealityKit で物理ベースのマテリアルを使ってレンダリングされており、 本物の木や石のように光を受けます。 シンプルさやバッテリー持続を重視したいときのためのクリーンな2Dモードもあります。
開発プロセスの外に、これを知っている人はまだいません。 プレス報道も、コミュニティでの認知も、外部のベータテスターも、まだゼロです。 このブログ記事は、ある意味で、初めて公に話す場となっています。
これからについて
最優先事項は、本当のアクセシビリティニーズを持つベータテスターを見つけることです—— 視覚障害を持つ棋士、弱視の方、運動機能に障害のある方。 アプリは Apple の基準に基づいて作られていますが、基準はあくまでスタートラインです。 何が機能し、何が機能せず、何が考慮されていないかを実際に教えてくれる人が必要です。 ユニコーンを探すようなものかもしれませんが、諦めません。 誰もが含まれるべきです。
Goban3D を試してみたい方、あるいはアクセシブルな囲碁アプリから恩恵を受けるかもしれない 方のご存知の方は、ぜひご連絡ください。 件名を「Beta Tester」とし、iPhone、iPad、または Mac の Apple ID のメールアドレスを support@goban3d.com にお送りください。 まもなく TestFlight の招待状をお送りします。
これは私がこれまで行った中で、最も困難で、最もやりがいのあることでした。 大学の部屋にあった一枚の板から App Store まで—— 20年かかりましたが、ここまで来ました。