エンジニアなら絶対ハマる!ハッキング・プログラミングゲーム『Exapunks』の世界
Exapunks (2018)
Exapunks (2018)
『Exapunks』は、Zachtronicsが手掛ける極めて中毒性の高いプログラミング・パズルゲームです。プレイヤーは1997年の架空のレトロな世界を舞台に、ウイルスを送り込み、システムをハッキングし、データを操作するコードを記述していきます。アセンブリ言語ライクな命令セットを駆使して、限られたメモリ内で効率的なスクリプトを組み上げる体験は、まさにエンジニアの脳を刺激する最高の遊び場です。
彼らのカタログは間違いなく買う価値があるよ。https://store.steampowered.com/developer/zachtronics
これ、今までプレイしたゲームの中でも特にお気に入りなんだ。『Shenzhen I/O』と一緒に、プログラミングの面白さの本質をゲームに落とし込むという素晴らしい仕事をしてくれたよ。
『EXAPUNKS』を遊んで一番驚いたのは、解法を先に最適化しようとするのがいかに無駄かということ。何度も自分に言い聞かせる必要があったよ。まずはパズルを解いて、それから最適化を試すんだ、ってね。
ゲーム自体も面白いけど、友達と一緒にプレイすることを勧めるよ。もっといい解法を見つけたとか言い合って煽り合うのが、全体の楽しさを底上げしてくれたんだ。
知らない人のために言っておくと、Zachtronicsはもうゲーム制作をしていないけれど、Zach Barth自身は今もCoincidence Gamesという会社で活動中だよ。ちょうど宇宙船エンジニアリングのパズルゲームを出したばかりだね。
https://store.steampowered.com/app/2536720/UVS_Nirmana/?cura...
お気に入りのゲームの一つ、『Hacknet』を思い出すなあ(https://hacknet-os.com - https://store.steampowered.com/app/365450/Hacknet/ )。僕がプログラマーになったきっかけの一つと言っても過言じゃない。Zachtronicsの『SHENZHEN I/O』もウィッシュリストに入ってるから、カタログ全体をチェックしてみないとな。
『EXAPUNKS』で物理的なZine(小冊子)を印刷してリファレンスにするっていうのはすごくクールだったね。ゲームに箱と詳細なマニュアルがついてきた頃への素晴らしい回帰だと思う。
『SpaceChem』が僕のZachtronics入門だったんだけど、発売されたときはどっぷりハマったよ。実際の作業領域の中に命令を配置するというコンセプトは驚異的で、今考えても頭がくらくらする。Ω-Pseudoethyneをクリアしたことは、僕のコーディング/Steam実績の中でも最高のものの一つだと考えてる。
友達とのリーダーボード争いが少し疲れちゃって離れた時期もあったけど、結果を無視するようにしたらまた楽しさを取り戻せたよ(自分が大きく順位から外れてない限りはね)。Zachとチームが帰ってきてくれて本当に嬉しい。
プレイしたことはないけど、説明文を読むだけで……
地下のコンピュータ雑誌『TRASH WORLD NEWS』でハッキングを学べ。
『2600』の名前を挙げなかったのはもったいない気がするな。まあ、どのみち許可が下りないんだろうけど。
AIがプログラミングの能力を向上させているという投稿で溢れる一方で、Hacker Newsのトップ記事が1997年みたいに雑誌を読みながらコーディングするゲームについてだっていうのは、ちょっとした皮肉だよね。
Zachtronicsのゲームと……『Starcraft』? の交差点にあるようなゲームを、ちょこちょこ書いてるんだ。それに『Factorio』も少し混ぜて。
アイデアとしては、独自のトランピュータに近いアーキテクチャを使っている研究所に侵入してデータを盗み出すというもの。ネットワークを探索するためのモバイルプログラムを書いて、次はデータを移行するためのプログラムを書く、といった感じ。無理に移行させようとすると人間が気づいてネットワークを再起動し、追い出されてしまう。中には他のプレイヤーがいてもいいかもね。もちろん、各ノードは研究所のひどいバージョンのForthで動いていて、UIなんてない。TCPソケット経由で接続して、自前でツールを構築することを求められるんだ。
これっていいアイデアなのか、それとも精神が崩壊しかけているだけなのか、自分でもわからない。
『EXAPUNKS』と『TIS-100』は、僕のキャリアの軌道に大きな影響を与えたよ。
学生の頃はアセンブリや低レイヤーの知識がすごく怖くて、CSの基礎知識を前提としたランダムなサイトから学ぼうとして挫折ばかりしてたんだ。
x86ほどの複雑さはないにせよ、これらのゲームのおかげでアセンブリは実はそれほど恐ろしいものじゃないと気づかされた。今もx86を日常的に使っているわけじゃないけど、Advent of CodeやProject Eulerの問題に挑戦する自信がついたよ。極限まで削ぎ落とされたアセンブラを持つことは、素晴らしい学習ツールになったね!
これらのゲームがなかったら、今もPython(素晴らしい言語だけど、抽象化が進んでいるからね)だけで仕事をしていただろうな。
Redshiftという携帯ゲーム機システムをアンロックしてね。それに夢中になってビデオプレイヤー(https://www.reddit.com/r/exapunks/comments/tzv1m5/redshift_video_player_wanted_to_add_sound_but/ )なんかを作ったよ。すごく楽しかった!Redshiftの先にも進まないとな。