12P by qyurila 1일전 | ★ 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도 있음

와우 1.25PB ㄷㄷ

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

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

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