NetHack の gnome ミーンでのダンジョン生成

2026/10/20 1:06

NetHack の gnome ミーンでのダンジョン生成

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

NetHack は、ノームの地下坑道(Gnomish Mines)レベルに対して独自の細胞自动機システムを実装しており、正方形の部屋の中に有機的な洞窟を生成します。このプロセスは、グリッドの 40% をランダムに床として指定することから始まり、セルは床または岩の 2 つの状態のみを持ちます。直近の 8 方向隣接タイル数を基準とした細胞自动機処理を 4 パス適用します。第 1 パスはバッファなし(in-place で更新)とし、タイルを集約して広大な開口部を形成する一方、第 2–4 パスはバッファ付きの更新を使用します。特に第 2 パスは、正確に 5 つの床隣接セルを持つセルを岩に変換し、遷移を滑らかにします。第 3 および第 4 パスは侵食ルーチンとして機能し、条件に応じて角を滑らかにしたり、小さな孤立した島を削除したりします(例:6 つから 8 つの岩隣接セルがある場合など)。この 4 パスの处理后、離断した洞窟セクションは追加の廊下を追加することによって修復されます。この手続き的アプローチは、ゲーム特有の正方形部屋レイアウトとは対照的に、有機的な地下鍾乳洞のような独特な雰囲気を生み出し、多様な探検を可能にしながら構造の完全性を保つことができます。

本文

NetHack のセルラ・オータマトによる洞窟生成仕組み

NetHack のレベル生成において、セルラ・オータマトを採用したノーマン(グノー)の鉱山は、正方形の部屋を主としながらも、有機的な洞窟のような質感を実現しています。

基本的な処理フロー

  1. 初期化: ランダムに 40% のセル を「床」として選択し残りを岩とする
  2. 処理実行: セルラ・オータマトのルールを合計 4 パス 適用する
  3. 補完: 繋がりのない洞窟部分を後続の回廊生成で補う

セルラ・オータマトの詳細ルール

各セルは「床」か「岩」の 2 状態のみを持ち、処理では周囲 8 の隣接セルにある「床」の数(カウント値)に基づいて状態変化を決定する。

パスカウント値 (隣接床)状態遷移
パス 10〜2岩 へ変化
3〜4変化なし
5〜8床 へ変化
パス 20〜4変化なし
5岩 へ変化
6〜8変化なし
パス 30〜2岩 へ変化
3〜8変化なし
パス 4パス 3 と同様侵食処理

更新方式の違いと役割

パス 1:クラスタリング(非バッファ更新)

  • 更新方式: 非バッファ(in-place)更新
    各セルの更新は、次のセルへ移る前に即座に反映される。
  • 効果:
    • ランダム配置されたセルをより広範囲なエリアへと集約させる。
    • 床の近傍に新たな床、岩の近傍に新たな岩を生み出し、クラスタリングを起こす。
  • 理由:
    • バッファ更新如果使用すると、「岩→床」に変化するセルと「床→岩」に変化するセルが隣り合う際、フラップ・フラップ現象(不自然な入れ替わり)が発生してしまうため。

パス 2:不明確な意図

  • ルール: 隣接する床が正確に 5 つ の場合のみ、「岩」へ変化させる。
  • 現状の理解: この処理の具体的な意図はまだ解明されていない。

パス 3 とパス 4:侵食(エロージョン)

  • 更新方式: バッファ更新
    すべてのセルに対して新しい値を計算後、グリッド全体を同時に更新する。
  • ルール: 周囲の岩が 6〜8 つ の場合、「床」を「岩」へ変化させる(カウント 0〜5 の場合は変化なし)。
  • 効果:
    • 洞窟の角を滑らかにする。
    • 小さな島のような孤立した領域を削除し、全体を統合する。

同じ日のほかのニュース

一覧に戻る →

2026/10/23 8:45

Docker は変だ

## Japanese Translation: 本文は、主に Linux コンテナが特定のコア機能を利用して孤立化されたプロセスであり、仮想マシンとは異なること、また Docker がイメージをフォルダとして管理することを明確にしています。完全な仮想化と異なり、コンテナは隔離にはネームスペースを用い、リソース管理には cgroups を用いて、管理されたディレクトリ内でバイナリを直接実行します。重要な技術的詳細として、Go で記述される `runc` ランタイムがあり、これは初期システムコールの処理に C モジュールを使用して Linux カーネルとインターフェースする必要があります。Go は `fork` などの特定の機能へのネイティブサポートを持っていないため、不足している振る舞いを近似させるために `/proc/self/exe` などのワークアラウンドが必要です。さらに、標準的な Linux カーネル API は通常ルートの権限を必要とするため、Docker デモンはデフォルトで昇権限(elevated permissions)で動作します。これを解決するためには、ルートレスコンテナランタイムは、通常ルートベースのセットアップが提供する機能を複製するために、ユーザースペースのネットワーキングスタックを再構築する必要があります。結局のところ、これらのアーキテクチャ的な制約を理解することは、安全なルートレス環境を管理するユーザーにとって不可欠であり、不要な権限昇格を避けながらシステム安定性を維持する互換性のあるインフラを設計する企業にとっても重要です。

2026/10/23 7:54

LLM が大規模な正式なソフトウェア検証の実現を可能にしています

## Japanese Translation: 研究者は、大規模言語モデル(LLM)の Claude を用いて、100 以上のオープンソースソフトウェアライブラリに対して前例のない規模での形式的検証を実行し、歴史的なマイルストーンを達成しました。Theorem との協力により、プロダクション向けソフトウェアに対する初の大規模 AI 主導の形式的検証として、アセンブリ(RISC-V)レベルで実装されたコードが検証されました。その結果、64 MB 未満の入力に対して、123 のライブラリの実行可能アーティファクトがメモリ安全性エラーやフェイルするアサートなしに正常終了することが証明されました。この達成には、Claude が Rocq コードを約 1.8 億行生成し、239 のエントリポイントを対象にクラッシュしない仕様を証明するとともに、従来のフォージングで検出されなかった深刻なバグを特定・修正する作業が行われたことが寄与しました。具体的には、カウンタのアンダーフローや境界外読み取りといった複雑な問題を含むものが含まれます。検証の対象は Linux でコンパイルされた RISC-V 命令であり、ユーザーが信頼しなくてもよいのは既知のハードウェア/ソフトウェアの数学モデル、定理ステートメント自体、および Rocq の証明チェッカーのみです。基本的安全性を超えて、このアプローチはデータ圧縮の精度やアルゴリズムの正しさ(例:red-black トリーの再平衡)といった高位のプロパティも検証しました。チームは共有作業空間戦略を採用し、証明の再利用によりトークン使用量を 17%削減するものであり、Mathlib のような数学ライブラリの成長に類似しています。形式的に検証済みであっても、形式仕様が実態と異なったり機械モデルが現実と異なる場合(例:x86/ARM システム上)には、完全なバグの不在を保証しないことに留意する必要があります。本プロジェクトでは公衆の検討のために一部の証明をリリースしており、AI 支援による検証をソフトウェア開発ワークフローでの標準へと導く道筋を用意しています。

2026/10/22 23:32

Quad9(DNS レゾルバー)がフランスから退出します

## Japanese 訳: 2026 年 11 月 24 日より、Quad9 はフランスのユーザーに対して、無料のサイバープロテクトおよび一般的なサービスを提供を永久に停止いたします。この決断は、beIN が提起した重大な訴訟において Quad9 に不利となるフランス裁判所の判断を受けたものです。beIN は、特定のドメイン名の再帰的 DNS 解決をブロックすることが、視聴覚的な権利を保護するために必要であると主張しました。裁判所は、違反が完了するまで(11 月 14 日)の金融ペナルティを約 580,000 �ーロから毎日上記 1,000 ユーロに減額しましたが、Quad9 は再帰的 DNS 解決が中立かつ受動的なサービスであり、応答を変更することはそのミッションであるプライバシー、セキュリティ、そしてインテグリティに違反するとする理由をもってこれに従うことができないと述べています。さらに、Quad9 の無料サービスには登録や身元証明は不要であり、ユーザーと管轄区域を関連付けるデータベースを持たないため、geoIP ベースの管轄区域マッピングは技術的に不可能です。フランス裁判所の要求を満たすためにグローバルなブロックを実施することは、French の法律を全世界のユーザーに適用することを意味し、Quad9 にとって許容されない越境的な先例となります。以前にも地理的な IP ブロックの実施を試みた際(例:2021 年から 2023 年にかけてドイツ)、原告が VPN を介してブロックを回避したために裁判所に対する軽蔑罪として罰金が科されるなどしました。Quad9 に対して数百のドメイン名のブロックを求めて進行中の訴訟が約 20 件あり、累積的な法的リスクは大きいです。上訴は進行中ですが、Quad9 は予定通り撤退を進めることにします。この動きにより、国家機関(例:DINUM, EDF, SNCF)、研究ネットワーク(RENATER)、大学、医療提供者、および民間企業を含む何百万人ものフランスのユーザーが、サイバー脅威からほぼ 9 年間も重要な保護を失うことになります。Quad9 は、将来、監督なしで民間企業が DNS コンテンツフィルタリングを自動化することを可能にする法律に対して警告を発し、市民に対し、日常のドメイン名lookup が刑事犯罪ではないことを明確化することを目指しています。

NetHack の gnome ミーンでのダンジョン生成 | そっか~ニュース