飾りのスイッチが一つもない、自作の宇宙船コンソール

テクノロジー
スポンサーリンク

物理スイッチ152個、ノブ、ペダル、そして画面6枚。そのすべてに役割があって、飾りは一つもない——ケヴィン・ケルム氏が1年かけて組み上げたのは、そういう一人乗りの宇宙船操縦席です。

作品名は「Halcyon Dawn(ハルシオン・ドーン)」。ジョン・スコルジーのSF小説『老人と宇宙(そら)』シリーズを題材にした、実物の操作卓です。画面の中のコックピットをマウスでクリックするのではなく、フレームに並んだ9枚のパネルを手で操って船を動かす。スイッチ1個1個が、船のどこかの機能に本当につながっています。

ソフト開発歴45年、引退したばかりのケルム氏が思いついたのは、コロラドからユタへ向かう旅の途中でした。砂漠でキャンプしながら原作のオーディオブックを聴いていて、午前3時に「機能する宇宙船のコックピットを自分は作れる」と気づいて跳ね起きたのだそう。そこから1年、約3000時間をかけて完成させています。

操縦席を構成する9つのパネル

コンソールは9つの主要パネルに分かれています。正面中央に視点切り替えボタン付きのメイン画面、頭上に重力制御と製造のパネル。そこから武器、生命維持、原子炉の監視と電力ルーティング、シールドと修理、スキップドライブ(超光速で跳ぶ航行装置)の制御と続き、手元にキーボードと2本のフライトスティック、足元には6つの操作系を持つペダルボックスが置かれています。

ここに並ぶ操作機器の合計が152個。パソコンの日本語キーボード(109キー)より多い数です。しかもトグルスイッチには金属のガードバーが付いていて、これは本物のコックピット用の部品をNASA向けのサプライヤーから取り寄せたもの。うっかり肘で倒してしまう事故を防ぐ、実機と同じ発想の作りです。

土台はアルミの押し出し材(80/20と呼ばれる規格品)を組んだフレーム。パネルの表面は厚さ約3ミリの黒いアクリル板で、レーザーで文字を彫ったあと溝に白い塗料を流し込み、乾いてから表面を軽く研磨して仕上げています。パネルの枠のほうは9ミリのバルト白樺合板を2枚重ねてレーザーカットしたもので、角で組み合わせてネジ留めする構造です。左右のウィングは45度の角度で外側に張り出していて、座ると視界の左右まで操作面が回り込みます。

タッチスクリーンを避けた設計判断

今どきの作りなら、大きなタッチパネル1枚で全部済ませたほうが安いし早い。ケルム氏はそれを意図的に避けています。理由として挙げているのが、SF作品でよく見る「敵の攻撃で艦内が激しく揺れているのに、クルーは手元も見ずにタッチスクリーンを的確に叩いている」という描写への違和感です。

あわせて、初期のF-35でテストパイロットたちが画面式の操作系(グラスコックピット)を嫌がった、という話も引き合いに出しています。仮想的なボタンでは誤操作の率が問題になるという指摘です。指先の感触で位置がわかり、倒したか倒していないかが一目でわかる物理スイッチのほうが、揺れる状況では確実だという判断でした。あとは単純にスイッチとボタンが好きだから、とも書き添えています。

自作基板「Enigma」の構成

152個の操作機器を、どうやって1台のコンピューターにつなぐか。ここでケルム氏が作ったのが「Enigma」という自作基板のシリーズです。パネル専用の基板を1枚ずつ設計するのではなく、入力の種類ごとに汎用の基板を用意して、必要な枚数だけパネルの裏に取り付ける設計になっています。パネルによっては3枚入っているものもあります。

できあがっているのは3種類。照光式スイッチを14個つなげる「SW14」、ロータリーエンコーダー(回した量を読み取るつまみ)を4個つなげる「QD04」、アナログ入力を8系統受ける「AN08」です。SW14は入力1個ごとにRGBのインジケーターLEDを持っていて、点灯のアニメーションと状態管理は基板側が自分で処理します。母艦側のソフトがLEDを1個ずつ面倒みなくていい作りです。

基板の頭脳はESP32-S3というマイコン。無線機能が要るからではなく「手元に山ほど在庫があって、自分にとっての万能ナイフだから」という理由で選んだと本人が書いています。もっと小さいマイコンにすれば安く作れることも認めたうえで、そうしています。

各基板には設定用の抵抗が1本載っていて、その値を自分で読み取ってホスト側に「自分は何番の基板か」と申告します。つないだ側で手動設定をしなくても種類が自動でわかる、地味ですが効く仕掛けです。

ホスト側はPythonのライブラリ。全パネルの状態を一つの状態集合として同期させ、スイッチ・音・画面のすべてが同じ値を見て反応するようにまとめています。市販品もこの枠に載せていて、操縦桿はThrustmaster T16000M、キーボードはLogitech G Proを分解・解析したもの。ゲーム側のコードからは、スティックの軸を読むのも自作基板のスイッチを読むのも同じ書き方になります。

そのキーボードには小さな仕掛けがあります。ふだんは真っ暗で、スキップ航行用の星図を開いたときだけ、その場面で必要なキーだけが色分けされて光る。行き先の恒星名を打つための英字は白、数字は青、Enterは緑、Escapeは赤、Backspaceはオレンジ、スペースは黄色。画面を閉じるとまた消えます。

6枚の画面と324本の音源

画面の内訳は、正面の4K OLED(3840×2160)が1枚、縦向きにした600×1024の補助パネルが4枚(スキップドライブ、電源コア、生命維持、シールドと修理)、頭上の製造パネルが1920×1080で1枚。合わせて6枚です。

描画の担当は分かれています。正面の4K画面はMac mini(M1)の上で動くUnityが描き、残る5枚にはそれぞれRaspberry Pi 5がぶら下がっていて、HTMLとWebGLで表示しています。シミュレーター本体はPythonで走り、数百個に及ぶ値をWebSocketで配信。各画面は自分に必要な値だけを受け取って更新する、購読型のつなぎ方です。

正面画面には、船を外から見た3Dの合成映像(左舷・右舷・後方・前方)、戦術レーダー、跳ぶ先を選ぶ航行プランナー、船内の防犯カメラ映像(4区画×9セルで36系統)、そして船の操縦マニュアルを収めた資料室まで入っています。侵入者を見つけて追い払うのはカメラ映像の役目。マニュアルについては作者自身、敵に襲われている最中に読む暇なんてないだろうけど、と自分でツッコミを入れています。

音は324本のライブラリで、うち288本が船内コンピューターの読み上げ音声。原子炉、エンジン、戦闘、被弾、生命維持、スキップドライブ、シールド、武装、製造——主要な状態変化のほとんどに台詞が用意されています。優先度付きのキューで管理されていて、「原子炉温度が危険域」のような重い知らせは軽いものを押しのけて先に鳴る。残りは効果音17本、音楽12曲、環境音5本、UI音3本、警報3本という配分です。音楽は場面に応じて8つの気分を切り替えます。

触覚も入っています。被弾や自分の砲撃が船体を伝って響く感覚を、専用のUSBチャンネルで駆動する振動子が椅子側で再現する仕組みです。

内部で回っている物理計算

見た目の話が派手ですが、中身のシミュレーションもかなり細かい。恒星の配置はHYGカタログという実在の星表から2000系統を持ってきていて、そこに1万3995個の惑星を自動生成して置いています。出発点はくじら座タウ星(HD 10700)の近く。目的地の「ハルシオン・プライム」も実在の恒星HD 154067(へびつかい座)に置かれた、約444光年先の星です。道中は約580光年、スキップ10〜13回、5つの勢力圏を突っ切る旅程になります。

船体の設定は質量5億キログラム(50万トン)、主推進の合計推力は160億ニュートンで加速度は約3.2G。原子炉の出力は定常9ギガワット、ピークで12ギガワット——日本の大型原発1基がおおむね1ギガワット級なので、9基ぶんに相当する数字です。被弾判定は155カ所に分かれて総耐久が27万3000、シールドは7ゾーン、修理ドローンは8系統に32機。周囲にはスキップごとに300個ほどの小惑星が配置されます。

モデル化している物理は、ニュートン力学の運動、トルクとモーメント、エネルギー、被弾判定のレイトレーシング、逆二乗で減衰する放射線被曝、流体、熱、磁場、制御理論、時空の曲率、質量保存、恒星物理まで。SFという枠を壊さない範囲で、できるだけ物理で動かしたと本人が説明しています。

一人で3000時間を回すための道具立て

これを個人が1年で作れた背景について、ケルム氏は自分のページで正直に書いています。音楽はSuno、音声はElevenLabs、3Dモデルの多くはMeshy、映像の一部はSoraやVeo。そしてコードのタイピングの大半はClaude Codeに任せた、と。

理由も具体的です。45年キーボードを叩いてきた結果、Shiftやctrlを押しながらの入力を続けると痛みが出る神経の問題を抱えていて、設計方針を指示すればあとを引き受けてくれる相手がいるかどうかが、この企画が成立するかしないかの分かれ目だった、と説明しています。

そのうえで、「作れ」と一言頼めばゲームが出てくるわけではないとも書き添えています。約3000時間のうち大きな割合を占めたのは、設計とレビューと軌道修正。放っておくと自動でコードを書く仕組みは行き止まりに入ったり同じところを回ったりするので、何を作るかとどう作るかの判断は自分が出し続けた。作業がなくなったのではなく、作業の中身が移動しただけ——という整理です。ちなみに3000時間は、1日8時間を1年365日休まず続けた場合とほぼ同じ量になります。

ゲーム本体が公開されない事情

ここが大事な点で、このゲームは配布されません。遊べる形で世に出ているものは何もない、ということです。

理由の一つは原作の権利関係ですが、原作者が渋っているという話ではありません。スコルジー氏は2007年から自分のサイトでファン創作の方針を公開していて、著作権は自分が保持すると明言する一方、「遊びの範囲であれば自分の世界で遊んでかまわない」としています。条件は、そこから金銭的な利益を得ないこと、第三者にも得させないこと、そして本人の商売の妨げにならないこと。ケルム氏はこの方針をありがたいと書いていて、だからこそ商売にはしないと決めています。もともとは自分のゲーム部屋に置く1台を想像していたそうですが、それも取りやめました。誰かがビールをこぼしたらと考えると、怖くて置けないのだそうです。

もう一つの理由は物理的なもので、この専用コンソールがないとゲームが成り立たないこと。そして本人が「もう一台作る気には絶対にならない」と書いていることです。

代わりに公開されたのが、土台のほうです。Enigmaの基板設計・ファームウェア・Pythonライブラリの一式がGitHubに出ていて、ソフト側がMITライセンス、ハード側がCERNオープンハードウェアライセンス(改変版を配布するなら設計も同じ条件で公開する、という条項付き)。ケルム氏は脱出ゲームの謎解き装置に転用することも念頭に置いていて、誰かが作ってくれたら自分が遊べるからいい、と書いています。

ちなみに作者自身、このゲームをまだクリアできていないそうです。1年かけて自分のために作った1台で、自分がまだ勝てていない。個人の工作の締まり方としては、なかなか良い形だと思います。

留意点

ゲーム本体は非公開です。この記事は「新しいゲームが出た」という話ではなく、そのために作られたハードウェアの話になります。

公開されているEnigmaのほうも、開発が続くプロジェクトではありません。作者は「参考と再利用のために現状のまま出す」という位置づけにしていて、積極的なメンテナンスの予定はなく、GitHubのIssueも閉じられています。動作確認もmacOS(Appleシリコン)のみで、他の環境で動くかどうかは試していないとのこと。手を出すなら、フォークして自分で面倒をみる前提の素材だと考えたほうがよさそうです。

数値や仕様は、作者自身が公開している技術資料に基づいています。完成した実機の写真は作者のサイトに大量に載っているので、実物を見たい場合は下の出典から本人のページへどうぞ。この記事では転載していません。

出典

Halcyon Dawn(作者ケヴィン・ケルム氏の公式ページ)

The Physical Bridge(コンソール・画面・音の詳細)

Making-Of and Technical Deep-Dive(制作の技術解説と製作写真)

By the Numbers(各種数値の一覧)

How This Was Made(制作に使った道具についての本人の説明)

Enigma(基板設計・ファームウェア・Pythonライブラリ/GitHub)

My Policy on Fanfic and Other Adaptations of My Work(ジョン・スコルジー氏によるファン創作の方針)

Behold The Most Beautifully Ambitious Starship Simulator Yet(Hackaday)

コメント

タイトルとURLをコピーしました