JNetHackをhackして現代版Zorkを作る

Rogue概説

Rogue(Rogue:Exploring the Dungeons of Doomとも呼ばれる)は、Michael ToyとGlenn Wichmanによるダンジョン探索型のコンピューターゲームで、後にKen Arnoldによる貢献もあります。 Rogueは1980年頃にUNIXベースのメインフレームシステム向けに、自由に配布可能な実行可能ファイル(パブリックドメインソフトウェア)として開発されました。その後、公式のBerkeley Software Distribution 4.2オペレーティングシステム(4.2BSD)に含まれました。Rogueの様々な商用ポートはA.I. Design社のもと、Toy, Wichman, Jon Laneによって作成され、Epyx Software財政的支援を受けました。現在はオープンソースコードであり、現代のコンピューターシステムへも次々と追加のポートが作成されています。

NetHack概説

NetHackは、1987年にリリースされた、ASCIIグラフィックを使用したシングルプレイヤー向けのRogueライクゲームです。Rogue(1980)のクローンであるHack(1982)と呼ばれる初期のゲームの子孫です。

プレイヤーはランダムに生成されたダンジョンでイェンダーの魔除けを回収する任務のためにキャラクターの種族とクラスを選択します。

NetHackの最初のバージョンは、1987年7月28日にMike Stephensonによってリリースされました。

1989年7月にNetHack 3.0がリリースされ、コア開発チームが誕生しました。開発の次の14年間で、彼らは緊密な文化を確立し、リリースの間にほとんどないことを明らかにしました。各リリースで見られる深さと複雑さの増加により、開発チームは一部のファンの間でほぼ神話的なステータスを享受しています。この認識された全知は、初期主義TDTTOE、「The DevTeam Thinks Everything」に取り込まれています。

Stephensonは、NetHack General Public Licenseの下でソフトウェアのライセンスを取得し、他の開発者が独自のバージョンをリリースできるようにしました。このライセンスは、Open Source Initiativeによってオープンソースとして認定されています。

12年間、新しいゲームプレイ機能を含む最後のバージョンは、2003年12月にリリースされたNetHack 3.4.3でした。その後の更新には、新しいタイルセットとMac OSのバリアントとの互換性が含まれていました。開発者からの新しいリリースがない場合、ファンによって開発されたいくつかのバリアントが登場しました。

2015年12月7日に、バージョン3.6.0がリリースされました。これは10年以上ぶりのメジャーリリースです。このパッチは主要な新しいゲームプレイ機能を追加しませんでしたが、このアップデートは将来の拡張に向けてゲームを準備するように設計されています。NetHackはいまでも「開発中の最も古いゲームの1つ」です。NetHackのgitリポジトリの公開読み取り専用ミラーは、2016年2月10日に利用可能になりました。バージョン3.6.1は、2018年4月28日に発表され、やや頻繁なリリーススケジュールに戻りました。1年後の2019年5月7日に、バージョン3.6.2がリリースされました。

JNetHack

JNetHackは、NetHackの日本語化プロジェクトです。

他のローグライクゲーム

Wikipediaのこちらの記事をご参照ください。

Zork概説

Zorkは、Colossal Cave Adventureというゲーム分野をルーツとする、最も初期のインタラクティブコンピューターゲームのひとつです。Zorkの最初のバージョンは、1977年〜1979年にMIT(マサチューセッツ工科大学)のDEC PDP-10上でMDLプログラミング言語を使用して開発されました。作者のTim Anderson, Marc Blank, Bruce Daniels, Dave LeblingはMIT Dynamic Modeling Groupのメンバーでした。

Colossal Cave Adventureは、1975年にWill CrowtherがBBNのDEC PDP-10上でFORTRANを使用して開発しました。このゲームは当時のPDPのユーザーの間ですぐに広まりました。当時はコンピューターは大学などの限られたところでしか使えないものでしたから、大学を中心に広まりました。1976年にスタンフォード大学でDon WoodsがColossal Caveをコミュニティに広めました。その後WoodsはPDP-10向けの改良版を開発する許可をCrowtherから受けました。

MITのコンピューターサイエンス研究所のDynamic Modeling Group(DM)にてDave Lebling, Marc Blank, Tim AndersonはMDLで開発を決めました。 ITSオペレーティングシステムを実行しているPDP-10。 MDLは強力な文字列操作を提供するLISPベースのシステムで、2つのゲームは入力と探索にテキストコマンドを使用する点で似ていますが、Zorkは技術的にはるかに高度で、より長くより具体的なコマンドを使うことができます。

NetHackのインタフェースを変える

NetHackや他のローグライクゲームは歴史的に、キーボードやゲームコントローラーで操作されてきました。

  • 文字によるコマンド入力。viと似た操作体系は、テンキーやカーソルキーのない環境も考慮されている。
  • ターン制。
  • ランダムに生成されるダンジョン。
  • 一度きりのチャレンジ。

これらの要素を鑑みたところ、必ずしもNetHackのインタフェースはグラフィカルではなくても良いのではいかという考えに至ります。

幸いにもNetHackはオープンソースなので、実際に変更を加えるのはそう難しいことではありません。

Deep Learningの活用

ここで面白いのは、AIをゲームプレイの学習に使おうとしていないところです。Environment Engineという名前の環境認識用AIを作成するところがミソです。