13P by qyurila | ★ favorite | 댓글 6개
  • 순수 TypeScript 타입 시스템만으로 DOOM을 실행하는 데 성공
    • 총 3조 5천억 줄, 177TB의 코드
    • 첫 프레임 생성에 12일 소요
  • 이를 위해 순수 TypeScript 타입 시스템으로 WASM 가상 머신을 구현

기술적 도전 과제 및 솔루션

  • 규모 문제
    • 최적화 이전 코드 규모는 1.25PB로, 초기 계산에 3개월이 필요했음
    • 최적화를 통해 각각 177TB와 12일로 감축
  • TypeScript 컴파일러 제한
    • 스택 깊이 및 재귀 제한 등을 극복하기 위해 컴파일러 수정
  • 게임 리소스 인코딩
    • 맵, 텍스처, 적 AI, 물리엔진 등 모든 게임 요소를 타입으로 인코딩
    • 타입 수준의 Garbage Collector, L1 CPU 캐시, Dead-Code Elimination, 실시간 Memory Compactor, 전역 스택 등을 구현해야 했음
    • 엔진 전체는 문자열 리터럴 형태의 2의 보수만으로 구현됨

이후 예정

  • 후속으로 심층 분석 영상 게시 예정
  • 개발 중에 만들었으나 게시하지 못한 60개 이상의 Shorts도 있음
GeekNews Weekly에 포함된 글입니다. 에디터 코멘트 보기

댓글과 토론

와우 1.25PB ㄷㄷ

이것은 호기심을 빙자한 광기인가... ㅎㄷㄷㄷㄷ

"최적화 이전 코드 규모는 1.25PB" ㄷㄷ..

GN 에서 먼저 보고 와.. 만 했습니다.. 엄청 대단한 것 같아요.