3 điểm bởi GN⁺ 2024-05-18 | 1 bình luận | Chia sẻ qua WhatsApp

Doom phi Euclid: Điều gì xảy ra với trò chơi khi pi không phải là 3.14159

  • Diễn giả: Luke Gotszling
  • Thời lượng video: 19 phút
  • Sự kiện: MCH2022
  • Ngày: 2022-07-23 ~ 2022-07-24

Tầm quan trọng của giá trị pi

  • Giá trị của pi (π) là một hằng số cố định, đóng vai trò quan trọng trong kết xuất hình ảnh của lập trình đồ họa.
  • Lượng giác và các kỹ thuật toán học khác cũng là những yếu tố thiết yếu cho kết xuất hình ảnh.
  • Đã phát hiện rằng giá trị pi được dùng trong mã nguồn của trò chơi Doom là sai.

Ảnh hưởng khi thay đổi giá trị pi

  • Khám phá điều gì xảy ra với trò chơi khi đổi giá trị pi thành một giá trị còn sai hơn nữa.
  • Cũng xem xét tác động khi thay đổi sai các hàm lượng giác và hằng số khác.
  • Phân tích những thay đổi này làm biến đổi cách chúng ta hiểu và khả năng khám phá thế giới ảo như thế nào.

Khả năng của hình học phi Euclid

  • Khám phá liệu việc áp dụng hình học phi Euclid có mở ra những khả năng thú vị trong trò chơi hay không.
  • Đồng thời giải thích ngắn gọn một số mẹo tối ưu hóa giúp trò chơi chạy tốt trên phần cứng thời đó.

Biên dịch phiên bản trò chơi với toán học sai

  • Cung cấp liên kết đến các trò chơi khác dùng giá trị pi sai và các kho mã nguồn công khai.
  • Cũng hướng dẫn cách để khán giả tự biên dịch phiên bản trò chơi với các giá trị toán học sai.

Ý kiến của GN⁺

  • Tầm quan trọng của các khái niệm toán học: Bài trình bày này cho thấy rõ các khái niệm toán học quan trọng đến mức nào đối với phát triển phần mềm và lập trình đồ họa. Đặc biệt, độ chính xác của các hằng số như pi có ảnh hưởng lớn đến các yếu tố hình ảnh của trò chơi.
  • Sự thú vị của hình học phi Euclid: Việc áp dụng hình học phi Euclid vào trò chơi có thể mở ra những khả năng gameplay mới. Điều này có thể mang lại ý tưởng mới cho các nhà phát triển game.
  • Mẹo tối ưu hóa: Việc học cách tối ưu hóa trò chơi trên phần cứng thời đó cũng có thể hữu ích cho tối ưu hóa phần mềm hiện đại. Điều này giúp hiểu được nhiều cách tiếp cận khác nhau để cải thiện hiệu năng.
  • Giá trị giáo dục: Quá trình biên dịch trò chơi bằng các giá trị toán học sai có giá trị giáo dục lớn. Đây là cơ hội để lập trình viên học một cách thực nghiệm về tầm quan trọng của các khái niệm toán học.
  • Thử thách kỹ thuật: Những thử nghiệm như vậy mang lại các thử thách kỹ thuật và giúp lập trình viên nâng cao khả năng giải quyết vấn đề. Điều này đặc biệt hữu ích khi tìm và sửa lỗi trong các hệ thống phức tạp.

1 bình luận

 
GN⁺ 2024-05-18
Ý kiến trên Hacker News

Tóm tắt các bình luận trên Hacker News

  • Ví dụ về Duke Nukem 3D

    • Màn 'Lunatic Fringe' của Duke Nukem 3D đã dùng engine 'build' để tạo ra một hành lang hình tròn quay hai vòng mà không tự cắt nhau.
    • Kỹ thuật này khi đó rất đột phá và làm chế độ nhiều người chơi thú vị hơn.
    • Nó cũng được dùng để giải bài toán 'kết nối 3 ngôi nhà với 3 tiện ích mà không có đường nào giao nhau'.
  • Tiểu thuyết 'Operation Chaos' của Poul Anderson

    • Tiểu thuyết này lấy bối cảnh một thế giới song song nơi phép thuật có thật và phát triển nhanh chóng cùng với khoa học.
    • Con của nhân vật chính bị bắt cóc xuống địa ngục, và từ manh mối rằng hình học không-thời gian của địa ngục là phi Euclid, các nhà khoa học đã tìm ra cách đi đến đó và quay về an toàn.
  • Lời khuyên hãy tìm 84,600 trong codebase

    • Cũng như John Carmack từng nhớ sai chữ số thứ 10 của pi, nếu tìm 84,600 trong codebase thì bạn sẽ thường thấy các trường hợp nhập sai số giây trong một ngày.
    • Bài học rút ra là nên dùng thư viện chuẩn thay vì tự gõ hằng số trực tiếp.
  • Vấn đề về đồ họa và chuyển động

    • Đồ họa và chuyển động bắt đầu bị glitch rồi cuối cùng khiến game không thể chơi được.
    • Gọi đây là 'Doom phi Euclid' có lẽ không chính xác bằng xem nó là 'kết quả của việc đụng vào các hằng số của vũ trụ'.
  • Chỉnh sửa mã nguồn trình giả lập console

    • Sẽ rất thú vị nếu lấy mã nguồn của trình giả lập console yêu thích rồi chèn lỗi dấu phẩy động ngẫu nhiên hoặc đảo ngược ý nghĩa của các lệnh nhánh.
    • Game càng cũ thì khả năng vẫn chạy được càng cao, và bạn có thể có những trải nghiệm rất kỳ lạ.
  • Doom không phải là mô phỏng

    • Doom không phải là một mô phỏng, nên việc thay đổi các hằng số thực chất chỉ làm hỏng một số routine.
    • Hầu hết các thay đổi đều khiến game không thể chơi được.
  • Giá trị lớn nhất của pi

    • Có người đặt câu hỏi giá trị lớn nhất của pi có thể là bao nhiêu.
    • Khi pi bằng 4 thì rất có thể sẽ xảy ra segmentation fault, nên giá trị pi lớn nhất vẫn còn chơi được có lẽ chỉ nhỉnh hơn pi thật một chút.
  • Pi trong hình học phi Euclid

    • Ngay cả trong hình học phi Euclid thì pi vẫn là pi.
    • Điểm đặc trưng của hình học phi Euclid là độ cong mặt cắt không bằng 0.
    • Có thể đo chu vi của các đường tròn nhỏ để thấy sự khác biệt so với đường tròn Euclid.
  • Muốn có thêm giải thích về cơ chế game

    • Có ý kiến cho rằng video nên giải thích chi tiết hơn về cơ chế game và tác động của việc thay đổi pi.
  • Cảm giác buồn nôn xuất hiện ngay lập tức

    • Một số giá trị như e và pi/2 gây buồn nôn ngay lập tức.