こんにちは。永和システムマネジメントの内角低め担当、はたけやまです。
今回は、11月前半の私の可処分時間の全てを注ぎ込んだパズルゲーム「Turing Complete」を紹介します。
Turing Completeとは?
宇宙人にさらわれた主人公が、宇宙人から出題されるパズルを解きながらデジタル回路を作成していく論理パズルゲームです。 Steamで早期アクセス版として配信されており、お値段は2050円。対応プラットフォームWindows、macOS、SteamOS + Linuxです。
Turing Complete は「デジタル回路設計パート」と「プログラミングパート」の二つのパートを行き来しながらゲームが進みます。
デジタル回路設計パート 〜 NANDがあればなんでもできる
NAND回路をご存知ですか?AND回路の出力をNOTで反転させた上記のような回路です。NAND回路があればAND回路やOR回路ひいてはCPUまで、あらゆる論理回路を構成できることが知られています。
ゲーム開始時点ではプレイヤーはNAND回路しか使えませんが、NAND回路を組み合わせて「NOT回路」→「AND回路」→「OR回路」→「半加算機」とステップアップしていき、最終的にはチューリング完全なCPUの組み立てを目指します。
プログラミングパート
CPUを組み立てたあとは、組み立てたCPUを使ってプログラミングパズルを解いていきます。飛来する小惑星の円周を計測したり、金庫のパスコードをブルートフォースアタックでクラッキングしたり、ハノイの塔を解いたりと多彩なステージが待ち受けています。スタックや関数呼び出しを自分で実装するステージなどもあったりして「これが...論理パズル...???」みたいな気持ちになったりして面白かったです。また、アセンブラばかり書いていると「あー、アセンブラだりー、Rubyつかいてー」と普段使っている高級言語のありがたさが身に染みたりしました。
CPUはピタゴラスイッチ
回路を設計していく中で、シンプルなルールに則って規則ただしくデータが流れていく様はピタゴラ装置のようだなあと感じることが何度もありました。 情報化社会がこんなピタゴラスイッチみたいなものに支えられてるのかと思うと、狐につままれたような気分になります。
こんな人におすすめ
Turing Completeはこんな人におすすめです。
- プログラミングパズルが好きな人
- 低レイヤプログラミングに興味がある人
- 東大CPU実験を見て面白そう!と思った人
とはいえ、ちょっと微妙なところもあります。
- 早期アクセス版なので結構バグが残っている
- 多少の予備知識がないとクリアは難しいかも
現状のTuring Completeは早期アクセス版、未だ開発途中なためバグが結構残っています。例をあげると、複数の部品を動かしたあとにUNDOすると高確率でクラッシュしたり、バグでステージがクリアできなくなったり(すぐに修正されましたが)ということがありました。俺がバグ出ししてやるぜ!という強い気持ちでプレイするのがおすすめです。
また、開発途中のためか説明が足りないところが結構あります。デジタル回路設計について何も知らない状態で挑むとちょっと大変かもしれません。(実績を見ると最終ステージまで到達したユーザーは全体の5%ほどのようです)
それでも挑みたい!という方は以下の書籍が参考になると思います。
- ディジタル回路設計とコンピュータアーキテクチャ 第2版
- コンピュータの構成と設計 MIPS Edition 第6版(上・下)
まとめ
以上Turing Completeのご紹介でした。低レイヤ好きの皆様はぜひチューリング完全なCPUの自作を目指してみてください!
おまけ 〜 NAND回路はどうやって作るの?
「NAND回路があればどんな論理回路も作れる」と言うけど、そのNAND回路はどうやって作るのか気になりませんか?
Turing Completeと同じ回路設計ゲーム「NandGame」の「NAND」と「NAND(CMOS)」のステージにその答えがあるので、気になる方は以下のリンクをたどって是非チャレンジしてみてください!