3P by neo 6달전 | favorite | 댓글 1개

비유클리드 둠: 파이가 3.14159가 아닐 때 게임에 무슨 일이 일어나는가

  • 발표자: Luke Gotszling
  • 영상 재생 시간: 19분
  • 행사: MCH2022
  • 날짜: 2022-07-23 ~ 2022-07-24

파이 값의 중요성

  • 파이(π)의 값은 고정된 상수로, 그래픽 프로그래밍에서 시각적 렌더링에 중요한 역할을 함.
  • 삼각법과 다른 수학적 기법들도 시각적 렌더링에 필수적임.
  • 둠(Doom) 게임의 소스 코드에서 사용된 파이 값이 잘못되었음을 발견함.

파이 값을 변경했을 때의 영향

  • 파이 값을 더 잘못된 값으로 변경했을 때 게임에 어떤 일이 일어나는지 탐구함.
  • 다른 삼각 함수와 상수들을 잘못된 값으로 변경했을 때의 영향도 살펴봄.
  • 이러한 변경이 가상 세계를 탐험하는 우리의 이해와 능력에 어떤 변화를 가져오는지 분석함.

비유클리드 기하학의 가능성

  • 비유클리드 기하학을 적용했을 때 게임에서 흥미로운 가능성이 있는지 탐구함.
  • 게임이 당시의 하드웨어에서 잘 실행되도록 최적화된 몇 가지 트릭도 간단히 설명함.

잘못된 수학 버전의 게임 컴파일

  • 잘못된 파이 값을 사용하는 다른 게임들과 공개 소스 코드 저장소에 대한 링크 제공.
  • 청중이 직접 잘못된 수학 버전의 게임을 컴파일할 수 있는 방법도 안내함.

GN⁺의 의견

  • 수학적 개념의 중요성: 이 발표는 수학적 개념이 소프트웨어 개발과 그래픽 프로그래밍에 얼마나 중요한지를 잘 보여줌. 특히, 파이와 같은 상수의 정확성이 게임의 시각적 요소에 큰 영향을 미침.
  • 비유클리드 기하학의 흥미로움: 비유클리드 기하학을 게임에 적용하는 것은 새로운 게임 플레이 가능성을 열어줄 수 있음. 이는 게임 개발자들에게 새로운 아이디어를 제공할 수 있음.
  • 최적화 트릭: 당시 하드웨어에서 게임을 최적화하는 방법을 배우는 것은 현대의 소프트웨어 최적화에도 유용할 수 있음. 이는 성능 향상을 위한 다양한 접근 방식을 이해하는 데 도움이 됨.
  • 교육적 가치: 잘못된 수학적 값을 사용하여 게임을 컴파일하는 과정은 교육적인 가치가 큼. 이는 프로그래머들이 수학적 개념의 중요성을 실험적으로 배울 수 있는 기회를 제공함.
  • 기술적 도전: 이러한 실험은 기술적 도전을 제공하며, 프로그래머들이 문제 해결 능력을 향상시키는 데 도움이 됨. 이는 특히 복잡한 시스템에서의 버그를 찾고 수정하는 데 유용함.
Hacker News 의견

해커뉴스 댓글 모음 요약

  • Duke Nukem 3D의 예시

    • Duke Nukem 3D의 'Lunatic Fringe' 레벨은 'build' 엔진을 사용해 교차 없이 두 번 회전하는 원형 복도를 구현했음.
    • 이 기술은 당시 혁신적이었으며, 멀티플레이어 모드에서 재미를 더했음.
    • '3개의 집과 3개의 유틸리티를 교차 없이 연결하는 퍼즐'을 해결하는 데도 사용됨.
  • Poul Anderson의 소설 'Operation Chaos'

    • 이 소설은 마법이 실제로 존재하고 과학과 함께 빠르게 발전하는 평행 세계를 배경으로 함.
    • 주인공의 아이가 지옥으로 납치되며, 지옥의 시공간 기하학이 비유클리드적이라는 힌트를 통해 과학자들이 지옥에 안전하게 다녀오는 방법을 알아냄.
  • 코드베이스에서 84,600을 찾아보라는 조언

    • John Carmack이 파이의 10번째 자리를 잘못 기억했듯이, 코드베이스에서 84,600을 찾아보면 하루의 초 수를 잘못 입력한 경우가 많음.
    • 상수를 직접 입력하기보다는 표준 라이브러리를 사용하는 것이 좋다는 교훈을 줌.
  • 그래픽과 움직임의 문제

    • 그래픽과 움직임이 글리치가 발생하고 결국 플레이할 수 없게 됨.
    • 이를 '비유클리드적 둠'이라고 부르기보다는 '우주의 상수를 건드린 결과'로 보는 것이 더 적절함.
  • 콘솔 에뮬레이터 소스 코드 수정

    • 좋아하는 콘솔 에뮬레이터의 소스 코드를 가져와서 무작위 부동 소수점 오류를 삽입하거나 분기 명령어의 의미를 반대로 바꾸면 재미있음.
    • 오래된 게임일수록 여전히 작동할 가능성이 높고, 이상한 경험을 할 수 있음.
  • 둠은 시뮬레이션이 아님

    • 둠은 시뮬레이션이 아니므로 상수를 변경하는 것은 단순히 일부 루틴을 망가뜨리는 것에 불과함.
    • 대부분의 변경 사항은 플레이할 수 없게 만듦.
  • 파이의 최대 값

    • 파이의 최대 값이 얼마인지에 대한 질문이 있음.
    • 파이가 4일 때 세그먼트 폴트가 발생할 가능성이 높으며, 따라서 플레이 가능한 파이의 최대 값은 파이보다 약간 높은 값일 것임.
  • 비유클리드 기하학에서의 파이

    • 비유클리드 기하학에서도 파이는 여전히 파이임.
    • 비유클리드 기하학의 특징은 단면 곡률이 0이 아닌 것임.
    • 작은 원의 둘레를 측정하여 유클리드 원과의 차이를 확인할 수 있음.
  • 게임 메커니즘에 대한 더 많은 설명 희망

    • 비디오가 게임 메커니즘과 파이 변경이 미치는 영향에 대해 더 자세히 설명했으면 좋겠다는 의견이 있음.
  • 즉각적인 메스꺼움

    • 일부 값(e와 파이/2)이 즉각적으로 메스꺼움을 유발함.