連載
インディーズゲームの小部屋:Room#567「while True: learn()」
最近は,懲罰部隊に落とされた元エースパイロットとして過酷な空の戦いを演じている筆者がお届けする「インディーズゲームの小部屋」の第567回は,Luden.ioが開発した「while True: learn()」を紹介する。本作は,ネコ語翻訳システムを作るために機械学習の知識を身に付けていくというパズル/シミュレーションゲームだ。謎の技術でミサイルを100発くらい搭載している筆者に敗北の2文字はないのだ……(リトライ10回目)。
上述のとおり,本作は機械学習やニューラルネットワークを題材にしたパズル/シミュレーションゲームである。大雑把に説明すると,機械学習とは人間が持っているような学習能力をコンピュータに与えるための技術のこと。ニューラルネットワークはそのための手法の1つで,脳神経を模したデータ処理の構造を持つモデルのことだ。機械学習やニューラルネットワークは,AIの研究とも深く結び付いている。
さて,フリーランスのプログラマーである主人公は,あるプログラムでどうしても解消できないバグに悩んでいた。息抜きにキッチンへコーヒーを取りに行き,PCデスクの前に戻ってきた彼は,いつの間にかエラーが解消されているのを見てびっくり仰天。なんと,主人公が席を外した隙に勝手にキーボードをいじっていた飼い猫がデバッグしてしまったのだ!
これはもしや,自分よりもネコのほうがプログラムの才能があるのではと考えた主人公は,ネコと会話するためにネコ語翻訳システムの開発に乗り出すことに……。
いくら,より良いプログラムを作るためとはいえ発想が斜め上すぎるが,さっそくインターネットの掲示板に助けを求めた主人公は,そこに書き込まれたアドバイスに従い,生活のためにクライアントからの依頼をこなしつつ,機械学習の基礎から覚えることに。よーし,まずはPCにネコを認識させるぞ!
と言っても,本作では実際にプログラムのコードを書く必要はない。プレイヤーがすることは,指定されたデータとそれ以外を仕分けするといった単純な機能を持つ“ノード”を画面上に配置し,ノード同士を線でつないで,データを左から右へ,要求どおりに処理する“スキーム”を作成するだけと簡単なのが嬉しい。
データは●,▲,■といった形と,赤,青,緑の色の組み合わせで表現されており,タスクごとに,どのデータをどのように処理するかが決められている。どんなに複雑な処理でも,突き詰めていけば単純な処理の積み重ねによって実現可能なのだが,タスクごとに使用できるノードの数や全体の処理時間が指定されているというのがポイントだ。より少ないノードで,短時間でデータを処理するほど,多くの報酬がもらえる仕組みになっている。
ゲームを進めると選択できるノードの種類が増え,以前に自分が作成したスキームをノードの1つとして使えるようになるなど,より複雑な処理が可能になる。本作で最も重要なのはいかにスキームを効率化できるかで,その試行錯誤が面白いだけでなく,遊びながらデータ処理の大まかな仕組みを分かった気になれるのが大きな特徴だ。
2020年から,小学校でのプログラミング教育が必修化されるが,ゲーム内には実際の機械学習の歴史や解説なども用意されており,これを日本語化すれば子供達の学習にも活用できそうに思える。
ほかにも,稼いだお金でPCパーツを購入して性能(処理速度)を向上させたり,ネコ用のスキンを買って見た目を変えてみたり,ベンチャー企業のCTOとなって継続的にスキームの改善に取り組んだり,ネコのための自動車の自動運転AIを開発したりと,ゲーム的なお楽しみ要素も盛りだくさん。そんな本作はSteamにて,1320円で発売されている。
Steamのストアページでは,インタフェースが日本語化されているとの表記があるが,実際には日本語は実装されていないので要注意。とは言え,比較的やさしい英語なので,興味を持った人はぜひ遊んでみてほしい。オススメです。
■「while True: learn()」公式サイト
https://luden.io/wtl/- この記事のURL:
キーワード