- Đã thành công chạy DOOM chỉ bằng hệ thống kiểu thuần túy của TypeScript
- Tổng cộng 3,5 nghìn tỷ dòng, 177TB mã
- Mất 12 ngày để tạo ra khung hình đầu tiên
- Để làm được điều này, đã triển khai một máy ảo WASM chỉ bằng hệ thống kiểu thuần túy của TypeScript
Thách thức kỹ thuật và giải pháp
- Vấn đề quy mô
- Trước khi tối ưu, quy mô mã là 1,25PB và cần 3 tháng cho lần tính toán ban đầu
- Sau tối ưu, giảm xuống còn 177TB và 12 ngày tương ứng
- Giới hạn của trình biên dịch TypeScript
- Đã sửa đổi trình biên dịch để vượt qua các giới hạn như độ sâu ngăn xếp và đệ quy
- Mã hóa tài nguyên trò chơi
- Mọi thành phần của trò chơi như bản đồ, texture, AI kẻ địch, động cơ vật lý đều được mã hóa thành kiểu
- Cần triển khai Garbage Collector ở mức kiểu, bộ nhớ đệm CPU L1, Dead-Code Elimination, Memory Compactor thời gian thực, ngăn xếp toàn cục, v.v.
- Toàn bộ engine được triển khai chỉ bằng biểu diễn bù hai dưới dạng chuỗi literal
Dự kiến tiếp theo
- Sẽ đăng video phân tích chuyên sâu tiếp theo
- Cũng có hơn 60 Shorts đã làm trong quá trình phát triển nhưng chưa thể đăng
6 bình luận
Wow, 1.25PB ghê thật, haha
Đây là sự điên rồ đội lốt tò mò chăng... rùng mình quá trời trời trời
Chết tiệt... quá đỉnh
wow...
"Quy mô mã trước khi tối ưu là 1.25PB" ghê thật..
Tôi chỉ mới thấy trên GN rồi vào xem thử thôi.. Có vẻ thật sự cực kỳ ghê gớm.