3 ポイント 投稿者 GN⁺ 2024-05-18 | 1件のコメント | WhatsAppで共有

非ユークリッドDoom: πが3.14159でないとき、ゲームに何が起こるのか

  • 発表者: Luke Gotszling
  • 動画時間: 19分
  • イベント: MCH2022
  • 日付: 2022-07-23 ~ 2022-07-24

πの値の重要性

  • πの値は固定された定数であり、グラフィックスプログラミングにおける視覚的レンダリングで重要な役割を果たす。
  • 三角法やその他の数学的手法も、視覚的レンダリングに不可欠である。
  • Doomゲームのソースコードで使われていたπの値が誤っていたことを発見した。

πの値を変更したときの影響

  • πの値をさらに間違った値に変更したとき、ゲームに何が起こるのかを探る。
  • 他の三角関数や定数を誤った値に変更したときの影響も見ていく。
  • こうした変更が、仮想世界を探検する私たちの理解や能力にどのような変化をもたらすのかを分析する。

非ユークリッド幾何学の可能性

  • 非ユークリッド幾何学を適用したとき、ゲームに興味深い可能性があるのかを探る。
  • ゲームが当時のハードウェアでうまく動作するよう最適化された、いくつかのトリックについても簡単に説明する。

間違った数学バージョンのゲームのコンパイル

  • 誤ったπの値を使う他のゲームや、公開ソースコードリポジトリへのリンクを提供する。
  • 観客が自分で間違った数学バージョンのゲームをコンパイルする方法も案内する。

GN⁺の見解

  • 数学的概念の重要性: この発表は、数学的概念がソフトウェア開発やグラフィックスプログラミングにおいてどれほど重要かをよく示している。特に、πのような定数の正確さがゲームの視覚要素に大きな影響を与える。
  • 非ユークリッド幾何学の面白さ: 非ユークリッド幾何学をゲームに適用することは、新たなゲームプレイの可能性を切り開くかもしれない。これはゲーム開発者に新しいアイデアを提供しうる。
  • 最適化のトリック: 当時のハードウェアでゲームを最適化する方法を学ぶことは、現代のソフトウェア最適化にも役立つ可能性がある。これは性能向上のためのさまざまなアプローチを理解する助けになる。
  • 教育的価値: 誤った数学的値を使ってゲームをコンパイルする過程には大きな教育的価値がある。これは、プログラマーが数学的概念の重要性を実験的に学べる機会を提供する。
  • 技術的挑戦: こうした実験は技術的な挑戦をもたらし、プログラマーが問題解決能力を高める助けになる。これは特に複雑なシステムでバグを見つけて修正する際に有用である。

1件のコメント

 
GN⁺ 2024-05-18
Hacker Newsの意見

Hacker Newsコメントまとめ要約

  • Duke Nukem 3Dの例

    • Duke Nukem 3Dの「Lunatic Fringe」レベルは、buildエンジンを使って、交差せずに2回曲がる円形の回廊を実装していた。
    • この技術は当時としては革新的で、マルチプレイヤーモードでの面白さを増していた。
    • 「3軒の家と3本のライフラインを交差せずにつなぐパズル」を解くのにも使われていた。
  • Poul Andersonの小説『Operation Chaos』

    • この小説は、魔法が実在し、科学とともに急速に発展する並行世界を舞台にしている。
    • 主人公の子どもが地獄に誘拐され、地獄の時空幾何学が非ユークリッド的だという手がかりを通じて、科学者たちが安全に地獄へ往復する方法を突き止める。
  • コードベースで84,600を探せという助言

    • John Carmackがπの10桁目を誤って覚えていたのと同じように、コードベースで84,600を探すと、1日の秒数を間違って入力しているケースがよく見つかる。
    • 定数を直接打ち込むより、標準ライブラリを使うべきだという教訓になる。
  • グラフィックスと動きの問題

    • グラフィックスと動きにグリッチが発生し、最終的にはプレイ不能になる。
    • これを「非ユークリッド的なDoom」と呼ぶより、「宇宙定数をいじった結果」と見るほうが適切だ。
  • コンソールエミュレータのソースコード修正

    • お気に入りのコンソールエミュレータのソースコードを取り込み、ランダムな浮動小数点エラーを挿入したり、分岐命令の意味を逆転させたりすると面白い。
    • 古いゲームほどまだ動く可能性が高く、奇妙な体験ができる。
  • Doomはシミュレーションではない

    • Doomはシミュレーションではないので、定数を変更することは単に一部のルーチンを壊すにすぎない。
    • ほとんどの変更はプレイ不能を招く。
  • πの最大値

    • πの最大値はいくつなのか、という質問がある。
    • πが4のときはセグメンテーションフォルトが発生しそうなので、プレイ可能なπの最大値は本来のπより少し高い程度だろう。
  • 非ユークリッド幾何学におけるπ

    • 非ユークリッド幾何学でも、πは依然としてπである。
    • 非ユークリッド幾何学の特徴は、断面曲率が0ではないことにある。
    • 小さな円の円周を測れば、ユークリッド的な円との違いを確認できる。
  • ゲームメカニクスへのさらなる説明への期待

    • 動画がゲームメカニクスと、πの変更が及ぼす影響についてもっと詳しく説明してくれればよかった、という意見がある。
  • 即効性のある吐き気

    • 一部の値(eとπ/2)は即座に吐き気を引き起こす。