このページの内容
論理ゲートのあるサンドボックスゲームはある?
はい。しかも、これは惑星まるごとの上で動きます。Openworld は、論理ゲートを組み込んだボクセルサンドボックスゲームです。スイッチ、リレー、センサー、AND、OR、NOT、NAND、NOR、XOR ゲート、ディレイ、メモリ、そして本物のケーブルでつなぐ無線機。舞台は丸い惑星で、まっすぐ歩けば出発点に戻り、本物の空の下、太陽まで続き、Mac(Apple Silicon)、Windows、Linux でネイティブに動きます。
回路パズルと違うのは、あなたの回路が生きた世界で何かを*する*こと。夕暮れに家を照らし、友だちが近づくとドアを開け、タンクがあふれる前に警告し、あるいは無線で惑星の向こうにメッセージを届ける。そしてそれらはOVM(Openworld Virtual Machine)の中で動き、あなたが遠くにいる間もシミュレーションされ続ける。
- 256信号ケーブル上の値、0~255
- 128信号がオンとみなされるレベル
- 50ミリ秒:論理部品ごとに足される1ターン
- 256無線チャンネル
論理ゲートですか、それともコーディングですか?
ほとんどは論理ゲートです。スイッチ、インバーター、メモリラッチを組み合わせて、AND・OR・NOT の回路、さらにはコンピューターまるごとを作ります。動作を設計するのでコーディングのように感じますが、1 行も書きません。電気技師のように、部品をひとつずつ組み上げます。
回路は、単純なルールのまま手で組み立てます。信号は単なるオンオフではなく 0 から 255 の数で、「全開」「半分」「少し」を表せます。128 以上でオンとして数えられます。ロジック部品は 255 か 0 を返し、部品ごとに 50 ms のターンが 1 つ加わるので、信号が作品の中を進むのが目に見えます。そして信号と電力は別々のものです。ロジックは細い信号ケーブルを通り、ランプを灯したりモーターを回したりするエネルギーは、作って電力ケーブルで運ぶ必要があります。エネルギーの話はすべて電気と無線のガイドにあります。ここではロジックに絞ります。
つまりプログラミングゲームではない?
コードもスクリプトもない。すべての振る舞いは、世界に置いた部品とその間のケーブルから生まれる。ロボットを一行ずつプログラムするゲームがほしいなら、これは違う。回路が動く様子を自分の目で見て、その中を歩きたいなら、これがそうだ。
部品:信号を送るもの、聞くもの
どのデバイスにもポートがある。入力は緑、出力はオレンジで、ケーブルを持つと光る。さらに今は、それぞれに名前と向きの小さなタグ(「入力A · 入力」「書き込み」「チャンネル3」)が表示される。F1で隠せる。何も持たずにデバイスを右クリックすると、そのシートが、簡単な言葉と矢印と実際の数値(「180 × 100 ÷ 255 = 71」)で、何をするものか、今何をしているかを説明してくれる。
信号を送るもの
- ライトスイッチとボタン:オンの間は255。スイッチは、シートで決めた0~255の値を送ることもできる(1にしたスイッチは「+1」、100にしたものは「×100」)。ボタンは1秒間押された状態を保つ。
- 人感センサー:プレイヤーや生き物が前に立っている間は255(半径1~8 m)、立ち去ったあと数秒保持する。見張るには少しの電力が要る。
- 液位センサー:タンクに当てると、どのくらい満ちているかを0~255で教える。これも電力が要る。
- チャンクセンサー:周囲の土地が読み込まれて安定している間は255。
- バッテリーは充電量を、ソーラーパネルは出力を、発電機は動いているかどうかを、受信アンテナは聞こえているものを報告する。
聞くもの
- 電気リレー:コマンドが目盛りの半分の128に達すると、電力ラインを閉じる。閉じている間は2 Wを消費する。
- トランジスタ:信号に従って電流の一部を通す。信号÷255。これがディマーだ。その先のランプは四段階で光る。
- バルブ:手動で、または信号に比例したコマンドでパイプを開く(20 W)。隣の蛇口は、バケツを満たすだけ。
- 信号ケーブル上のドアと落とし戸は128で開き、それ未満で閉じる。
- ランプ、機械、モーター、ポンプは、コマンドが0に落ちると止まり、モーターの速さはそのコマンドに従う。
- ジャンクション:ケーブルを分岐させる。信号ケーブルでは、信号を各枝にコピーする。
論理部品(アルファ1.0.9の新要素)
- ディレイ:Nターン前に受け取ったものを返す。1~600ターン、つまり0.05~30秒で、初期値は0.5秒。
- 論理ゲート:AND、OR、NOT、NAND、NOR、XORをシートで選ぶ。NANDとNORはANDとORを反転したもので、XORは入力のちょうど1つがオンのときにオンになる。信号の8ビットをビットごとに処理する(NOTは255 − Aを返す)。信号が0か255なら、おなじみのゲートそのもの。
- オペアンプ:加算(255で頭打ち)、減算(0未満にならない)、三数法 A × B ÷ C(Cを未接続にすると255になり、割合の計算になる)、あるいは A > B と A = B の比較。
- メモリ:書き込み入力の立ち上がりで値を取り込み、保持する。Dフリップフロップで、最初は0。
- 光カプラ:片側に信号チャンネル8本、反対側にファイバー1本。レーザーにすると信号をファイバーへ送り出し、フォトセルにすると読み戻す。5 Wが必要。
- ディスプレイパネル:4つのコマンド入力を持つ大きな壁掛けの看板。文中の
{1}~{4}がリアルタイムの値に置き換わる(「バッテリー: {1} %」)。電力は1 W。
論理部品に電力ケーブルは要らない。つないだ信号ケーブルが給電する。小電力ケーブルが要るのは、カプラとディスプレイパネルだけだ。どれも鉄で縁取った小さなオークの箱で、上面と前面に設定が真鍮で刻印されている(「0.5s」「AND」「A+B」「A*B/C」「>」「MEM」「TX」/「RX」)。出力がオンの間は、ガラスのランプが点く。古いデバイスにも刻印が付いた。アンテナの「CH 7」、バルブの「AUTO」、人感センサーの「4m 2s」。部品はすべて、レシピブックのテクノロジーのブランチから、クラフトグリッドで作る。
信号を運ぶとき、信号ケーブルは256 m、光ファイバーは10 kmまで届き、オクトファイバーは色ごとに一つ、8つの信号を同時に運ぶ。それより遠くは中継器が渡していく。こうした細いケーブルは、壁沿いや棚の下に、ボクセル単位(25 cm)で好きなだけきれいに敷ける。
Openworldで論理ゲートを作るには
今ある部品で実際に動く回路を紹介する。昔ながらの電気工のコツも健在で、新しい箱がその先を開いてくれる。下のシーンで5つ試せる。スイッチとボタンをクリックし、回路を切り替え、パルスが走るのを見よう。金は電力、赤は信号だ。
- AND、OR、NOT、NAND、NOR、XOR:箱は1つ。 論理ゲートのシートで種類を選び、入力AとBを配線する。電気工のやり方も使える。リレーを2つ直列にすればAND、1本の信号ケーブルに送信側を2つつなげばOR。ケーブルは常に、乗っている中で最も高い信号を運ぶからだ。
/ovm demo homeの家が、2つの人感センサーで玄関のドアを開けるのもこの仕組み。 - クロック:ディレイとNOTをループさせる。 NOTがディレイの出力を反転して入力に戻す。信号は0.5秒ごとに、永遠に反転し続ける。ディレイを短くすれば、拍が速くなる。
- パルス。 信号と、その遅らせたコピーのNOTとのAND。ボタンがオンになると、ディレイの長さだけの短いパルスが1回出る。
- カウンター。 ボタンをメモリの書き込みに、メモリの出力を加算に設定したオペアンプに、Bには1にしたスイッチを、和をメモリの値に戻す。押すたびに1ずつ増える。メモリをディスプレイパネルにつなげば「カウント: 7」と読める。
- トグル。 値が自分の出力のNOTになっているメモリと、書き込みにつないだボタン。押すたびに反転する。広間の照明を、ボタン1つで。
- 調整できるしきい値。 リレーは128で閉じる。ほかのレベルにしたければ、「>」に設定したオペアンプと、好きな値にしたスイッチを使う。「タンクが200超え」のように。
- バッテリーの割合表示。 A × B ÷ C に設定したオペアンプ。Aにバッテリーの充電量、Bに100にしたスイッチ、Cは未接続。255が100になる。ディスプレイパネルに「バッテリー: 71 %」と出る。
- 比例制御:ディマー。 トランジスタにつないだ液位センサーで、タンクが満ちるにつれてランプが4分の1ずつ明るくなる。バルブなら水位に追従する流量、モーターなら速度になる。
- 8レーンのバス。 8つの信号をレーザーに設定した光カプラへ入れ、最大10 kmのオクトファイバーで運び、反対の端のフォトセルに設定したカプラで受ける。操作盤をまるごと、遠くへ。
完成品がほしい? クリエイティブのワールドで /ovm demo logic を実行すると、そのうち4つがプレートつきで建つ。ランプを点滅させるクロック、パネルに出るバッテリーの割合、押すたびに上がるカウンター、2つのカプラの間のファイバーを3つのスイッチが横切る回路。

スイッチ、ボタン、部品をクリック
近くに誰もいなくても動き続ける機械
回路は、読み込まれたチャンクに依存しません。すべての装置とリンクは OVM にも登録され、OVM はチャンクが読み込まれていない場所でもそれらをシミュレートします。惑星の反対側を探検している間も、センサーは読み取りを続け、リレーは切り替わり続け、タンクは満ち続けます。
OVMは独自のスレッドで動き、毎秒20周を目標にし、1周は常に50 msのシミュレーション時間だ。巨大なものを建てると下がるのはOVMのペースで、すべてが均等に遅くなり、何も飛ばされない。ゲームのTPSが下がることは決してない。プレイヤー、生き物、ブロックは通常の速さのままだ。画面のバッジが知らせる(「OVM 12 Hz (60 %)」、90 %未満でオレンジ、50 %未満で赤)。/ovm stats で詳細が出て、F3デバッグ画面にもOVMカードがある。
距離はほとんどコストになりません。リンクは、両端と長さと落差を持つ 1 本のチャンネルなので、谷を渡るケーブルでも惑星を一周するパイプラインでも、短いものと同じコストです。コストになるのは装置の数です。これは、あなたがいない間も工場が動く理由でもあります。かまどやコンベアは、回路と同じシミュレーションの中にあるのです。
/ovm stats
/ovm scope world
/ovm scope loaded無線:マストと、月を追うパラボラ
アンテナはケーブルなしで信号を運ぶ。チャンネルは256ある。送信機は自分のチャンネルでコマンド(0~255)を送り、そのチャンネルを聞いている範囲内のすべてのアンテナが、聞こえたものを自分の信号ケーブルに載せる。家でボタンを押せば、隣の村でランプが点く。
- 全方向マストは周囲すべてに話しかける。谷や村にぴったりだ。月には届かない。
- 指向性パラボラはビームを2°の円錐に絞り、同じ電力でずっと遠くまで届く。望遠鏡ビュー(×1~×32)で狙うか、月を追うように指示する。月からなら地球を。惑星が回るにつれ、自分で回る。
そのシートははっきり語る。ターゲット(近く(100 m)、村(1 km)、地域(10 km)、遠く(100 km)、月)を選ぶと、消費量を教えてくれる。到達距離は本物の無線の法則(フリスの公式)に従う。ゲームで6万km離れた月に届くには、両端にパラボラがあって約34 kWが要る。
そして電波は地面を決して通り抜けない。二つのマストの間の丘、丸い惑星の曲率、月が沈んだときの地球そのもの。リンクは切れる。ターゲットが地平線の下に沈んだパラボラは、再び昇るまで黙る(「ターゲットが地平線の下」)。ビームを見るには /radio show-signal true と入力しよう。


歯車、変圧器、信号記録機
好きな比率の歯車
動きも道具箱の一部だ。電気モーターは軸を120 rpmで回し、その軸に自分の歯車を取り付ける。小(1 m)、中(3 m)、大(5 m)、木、鉄、鋼製。ちょうどよい距離で隣り合った二つの歯車は自然にかみ合う。比率は大きさの比で、向きは反転する。必要な速さが得られるよう連結しよう。エネルギーは保存される(かみ合うたびに少し失う)。矛盾した歯車列は、ただ固着する。
変圧器
電力は2種類のサイズのケーブルで運ぶ。小電力ケーブル(10 kW)と大電力ケーブル(250 kW)だ。変圧器が両者をつなぎ、効率97 %で昇圧も降圧もする。谷を越えるときは昇圧し、家ではまた降圧する。すべて電気ガイドにある。
信号記録機:紙に記録するレコーダー
信号が時間とともにどう変化するかを見るには、机の上の記録計、信号記録機があります。紙と少しの電力(15 W)を与え、信号ケーブル、またはオクトファイバーをつなぐと、8本のペンが8チャンネルを色分けで描きます。速度は毎秒 20 ポイントから毎分1ポイントまで選べます。1枚のシートには 128 ポイントが収まり、紙のカードのように読めるチャートになります。記録機は16枚を順番に保管するので、センサーの一晩分がまるごと残ります。
- 1
電力
ソーラーパネルか発電機と、タンクの角まで通した小電力ケーブル。
- 2
センサー
液位センサーをタンクに当て、そのケーブルから電力を供給する。読み取りに3 W要る。
- 3
リレー
センサーから、ランプの電力ラインにある電気リレーまで信号ケーブルを引きます。半分以上満ちると、ランプが点灯します。
- 4
記録
信号ケーブルにジャンクションを加え、紙を入れた信号記録機をつなぎます。朝になると、チャートに一晩中の水位が記録されています。
世界を動かす回路
ひと目で読める部品でコンピューターを作ることもできますが、回路はまず世界を動かすためのものです。家、ポンプ、作業場、そして惑星全体で働き続ける無線リンク。友達にも、Mac、PC、Linux で光って見えます。
この先の予定
OVMはまだ若い。2026年10月に登場し、論理部品はアルファ1.0.9で加わった。アルファの間も作り直しが続くので、正確な数値は変わるかもしれない。各デバイスのシートには、いつも現在の値が出ている。ディスプレイパネルは今のところ、数値を10進数でしか表示できない。次の予定は、宇宙へ届くアンテナだ。軌道上の中継アンテナと、惑星の反対側へ、あるいは宇宙ステーションへ信号を渡す衛星。まだゲームには入っていない。今でもロケットで軌道へ飛び、自分の宇宙ステーションを建てることはできる。それらを結ぶ無線は計画中だ。
Openworldをフォロー
@play_openworld はOpenworldの公式Instagramページです。ゲームの動画と、アップデートごとの新要素をお届けします。
@play_openworldOpenworldの制作者:@tompascard
最初の論理ゲートへ三つのステップ
- 1ダウンロードしたファイルでOpenworldをインストールします。ランチャーがセットアップされます。
- 2ランチャーでアカウントを作成し、メールを確認します。
- 3ユーザー名を決めたら… さあ、プレイ。
Openworldはパソコン(Mac、Windows、Linux)で遊ぶゲームです。リンクを自分に送っておいてください。向こう側で待っています。
よくある質問
論理ゲートで作るのは、コーディングのようなものですか?
プログラミングよりも電子工作に近い。コードを書くのではなく、部品を置いて振る舞いを設計する。Openworldも同じで、スクリプトはなく、見て回れるデバイスとケーブルだけだ。
Openworldのようなゲームで論理ゲートはどう動く?
送り手(スイッチ、ボタン、センサー)が、信号ケーブルに0~255の数値を載せる。128からオンとみなされる。AND、OR、NOT、NAND、NOR、XORに設定した論理ゲートは、1ターン(50 ms)後に255か0を返す。受け手はその結果に従って動く。電気リレーは電力ラインを閉じ、トランジスタは電流の一部を通し、ドアは開く。
衛星を軌道に乗せるには?
今日のOpenworldでは、ロケットを安定した軌道まで飛ばし、そこにステーションを作れる。軌道上の衛星と中継アンテナは計画中だが、まだゲームにはない。
遠くにいても回路は動く?
動く。OVMは、チャンクが読み込まれていない場所でも独自のスレッドですべてのデバイスをシミュレーションする。サーバー管理者は /ovm scope loaded でプレイヤー周辺のゾーンに限定できる。
Openworldでコンピューターは作れる?
はい。NOT とメモリがあれば、ラッチ、レジスタ、加算器、算術ユニットまるごとを作れます。部品ごとに 50 ms のターンが 1 つ加わるので、わざと遅く、そして考えている様子を眺められます。
論理ゲートでクロックを作るには?
ディレイとNOTゲートを互いにループさせる。NOTがディレイの出力を反転して戻すので、ディレイが切れるたびに信号が反転する。Openworldでは、0.5秒のディレイでランプがおよそ1秒に1回点滅する。





