NetHack 5.0.0

NetHack 5.0.0は、1980年代から数十年にわたって開発が続けられてきたローグライク系コンピュータゲームの大規模なメジャーアップデートです。本バージョンの最大の特徴は、ビルド時のコンパイラインフラストラクチャの大幅な刷新にあります。

NetHack 5.0.0は、1980年代から数十年にわたって開発が続けられてきたローグライク系コンピュータゲームの大規模なメジャーアップデートです。本バージョンの最大の特徴は、ビルド時のコンパイラインフラストラクチャの大幅な刷新にあります。

従来、NetHackはyaccとlex(古典的なパーサ・字句解析器)ベースのレベルコンパイラ、ダンジョンコンパイラ、およびmakedefs ユーティリティによるクエストテキスト処理を使用していました。これらがNetHackの歴史を象徴する技術でしたが、5.0.0ではLuaをベースとした代替機構に置き換わり、ゲームプレイ時に動的にロードおよび処理されるようになりました。

この変更は複数の観点から優れた選択と評価される一方で、NetHackが元々yacc/lexが開発される前の時代に遡るという、プロジェクトの悠久の歴史の一つの時代の終焉を象徴しています。同時に3Dクライアント実装などの新しい拡張も登場しており、古典的なゲームが現代的な進化を遂げています。

HNの反応

コミュニティからは、数十年に及ぶ自分たちのセーブファイルでの進行を新バージョンで継続できることへの期待と、同時に古い技術スタックからの移行という大きな転換点を迎えることへの感動的な反応が見られます。

注目コメント

「ビルド時の「yaccとlex」ベースのレベルコンパイラ、「yaccとlex」ベースのダンジョンコンパイラ、および従来NetHackの「makedefs」ユーティリティで処理されていたクエストテキスト処理が、ゲーム実行時にロードされ処理されるLuaベースの代替機構に置き換わりました。複数の理由から非常に妥当な選択と思われますが、NetHackがLua言語が開発される前の時代に遡るという、本当に一つの時代の終焉なのです。」— @saulpw

元記事を読むHN討議を見る