3 poin oleh GN⁺ 2024-05-18 | 1 komentar | Bagikan ke WhatsApp

Doom Non-Euclidean: Apa yang Terjadi pada Game Saat Pi Bukan 3.14159

  • Pembicara: Luke Gotszling
  • Durasi video: 19 menit
  • Acara: MCH2022
  • Tanggal: 2022-07-23 ~ 2022-07-24

Pentingnya nilai pi

  • Nilai pi (π) adalah konstanta tetap yang berperan penting dalam rendering visual pada pemrograman grafis.
  • Trigonometri dan teknik matematika lainnya juga sangat penting untuk rendering visual.
  • Ditemukan bahwa nilai pi yang digunakan dalam source code game Doom ternyata salah.

Dampak saat nilai pi diubah

  • Menjelajahi apa yang terjadi pada game saat nilai pi diubah menjadi nilai yang lebih salah.
  • Juga melihat dampaknya ketika fungsi trigonometri dan konstanta lainnya diubah menjadi nilai yang keliru.
  • Menganalisis perubahan apa yang dibawa modifikasi ini terhadap pemahaman dan kemampuan kita dalam menjelajahi dunia virtual.

Kemungkinan geometri non-Euclidean

  • Menyelidiki apakah ada kemungkinan menarik di dalam game ketika geometri non-Euclidean diterapkan.
  • Juga dijelaskan secara singkat beberapa trik optimasi agar game dapat berjalan baik di hardware pada masa itu.

Mengompilasi game versi matematika yang salah

  • Menyediakan tautan ke game lain yang menggunakan nilai pi yang salah serta ke repositori source code publik.
  • Juga memandu audiens tentang cara mengompilasi sendiri versi game dengan matematika yang salah.

Opini GN⁺

  • Pentingnya konsep matematika: Presentasi ini menunjukkan dengan baik betapa pentingnya konsep matematika dalam pengembangan perangkat lunak dan pemrograman grafis. Secara khusus, akurasi konstanta seperti pi sangat memengaruhi elemen visual game.
  • Menariknya geometri non-Euclidean: Menerapkan geometri non-Euclidean ke dalam game dapat membuka kemungkinan gameplay baru. Ini bisa memberi ide baru bagi para pengembang game.
  • Trik optimasi: Mempelajari cara mengoptimalkan game untuk hardware pada masa itu juga dapat berguna bagi optimasi perangkat lunak modern. Ini membantu memahami berbagai pendekatan untuk meningkatkan performa.
  • Nilai edukatif: Proses mengompilasi game dengan menggunakan nilai matematika yang salah memiliki nilai edukatif yang besar. Ini memberi programmer kesempatan untuk mempelajari pentingnya konsep matematika secara eksperimental.
  • Tantangan teknis: Eksperimen semacam ini menghadirkan tantangan teknis dan membantu programmer meningkatkan kemampuan pemecahan masalah. Ini terutama berguna untuk menemukan dan memperbaiki bug dalam sistem yang kompleks.

1 komentar

 
GN⁺ 2024-05-18
Opini Hacker News

Ringkasan kumpulan komentar Hacker News

  • Contoh dari Duke Nukem 3D

    • Level 'Lunatic Fringe' di Duke Nukem 3D mengimplementasikan koridor melingkar yang berputar dua kali tanpa perpotongan dengan menggunakan engine 'build'.
    • Teknik ini sangat inovatif pada masanya dan menambah keseruan dalam mode multipemain.
    • Ini juga digunakan untuk menyelesaikan 'teka-teki menghubungkan 3 rumah dan 3 utilitas tanpa perpotongan'.
  • Novel Poul Anderson 'Operation Chaos'

    • Novel ini berlatar dunia paralel tempat sihir benar-benar ada dan berkembang pesat bersama sains.
    • Anak tokoh utama diculik ke neraka, dan lewat petunjuk bahwa geometri ruang-waktu neraka bersifat non-Euclidean, para ilmuwan menemukan cara untuk pergi ke neraka dengan aman dan kembali lagi.
  • Saran untuk mencari 84.600 di codebase

    • Seperti John Carmack yang salah mengingat digit ke-10 dari pi, jika Anda mencari 84.600 di codebase, sering kali ditemukan kasus jumlah detik dalam sehari dimasukkan dengan salah.
    • Pelajarannya adalah lebih baik menggunakan standard library daripada mengetik konstanta secara langsung.
  • Masalah grafis dan pergerakan

    • Grafis dan pergerakan mengalami glitch dan pada akhirnya membuat game tidak bisa dimainkan.
    • Daripada menyebutnya 'Doom non-Euclidean', lebih tepat melihatnya sebagai 'hasil mengutak-atik konstanta alam semesta'.
  • Memodifikasi source code emulator konsol

    • Cukup seru mengambil source code emulator konsol favorit, lalu menyisipkan error floating-point acak atau membalik makna instruksi branch.
    • Semakin tua gamenya, semakin besar kemungkinan game itu tetap berjalan, dan Anda bisa mendapatkan pengalaman yang aneh.
  • Doom bukan simulasi

    • Karena Doom bukan simulasi, mengubah konstanta hanya berarti merusak sebagian rutinitas.
    • Sebagian besar perubahan membuat game menjadi tidak bisa dimainkan.
  • Nilai maksimum pi

    • Ada pertanyaan tentang berapa nilai maksimum pi.
    • Saat pi = 4, kemungkinan besar akan terjadi segmentation fault, jadi nilai maksimum pi yang masih bisa dimainkan kemungkinan hanya sedikit lebih tinggi dari pi.
  • Pi dalam geometri non-Euclidean

    • Dalam geometri non-Euclidean pun, pi tetaplah pi.
    • Ciri geometri non-Euclidean adalah kelengkungan penampangnya tidak bernilai 0.
    • Anda bisa mengukur keliling lingkaran kecil untuk melihat perbedaannya dengan lingkaran Euclidean.
  • Harapan akan penjelasan lebih lanjut tentang mekanika game

    • Ada pendapat bahwa video tersebut seharusnya menjelaskan mekanika game dan dampak perubahan pi dengan lebih rinci.
  • Mual seketika

    • Beberapa nilai (e dan pi/2) memicu rasa mual seketika.