13 คะแนน โดย qyurila 2025-02-27 | 6 ความคิดเห็น | แชร์ทาง WhatsApp
  • ประสบความสำเร็จในการรัน DOOM ด้วยระบบชนิดข้อมูลของ TypeScript แบบล้วนๆ
    • โค้ดทั้งหมด 3.5 ล้านล้านบรรทัด ขนาด 177TB
    • ใช้เวลา 12 วันในการสร้างเฟรมแรก
  • เพื่อสิ่งนี้ ได้อิมพลีเมนต์เครื่องเสมือน WASM ด้วยระบบชนิดข้อมูลของ TypeScript แบบล้วนๆ

ความท้าทายทางเทคนิคและแนวทางแก้ไข

  • ปัญหาด้านขนาด
    • ก่อนการปรับแต่ง ขนาดโค้ดอยู่ที่ 1.25PB และต้องใช้เวลา 3 เดือนในการคำนวณครั้งแรก
    • หลังการปรับแต่ง ลดลงเหลือ 177TB และ 12 วันตามลำดับ
  • ข้อจำกัดของคอมไพเลอร์ TypeScript
    • มีการแก้ไขคอมไพเลอร์เพื่อก้าวข้ามข้อจำกัดอย่างความลึกของสแตกและข้อจำกัดด้านรีเคอร์ชัน
  • การเข้ารหัสทรัพยากรของเกม
    • เข้ารหัสองค์ประกอบทั้งหมดของเกม เช่น แผนที่ เท็กซ์เจอร์ AI ของศัตรู และเอนจินฟิสิกส์ เป็นชนิดข้อมูล
    • ต้องอิมพลีเมนต์ Garbage Collector ระดับ type, L1 CPU cache, Dead-Code Elimination, Memory Compactor แบบเรียลไทม์ และ global stack
    • เอนจินทั้งหมดถูกอิมพลีเมนต์ด้วย two's complement ในรูปแบบ string literal เท่านั้น

สิ่งที่จะตามมา

  • มีแผนจะเผยแพร่วิดีโอวิเคราะห์เชิงลึกต่อจากนี้
  • ยังมี Shorts มากกว่า 60 ตอนที่ทำไว้ระหว่างการพัฒนาแต่ยังไม่ได้เผยแพร่

6 ความคิดเห็น

 
mido01111 2025-02-28

ว้าว 1.25PB เลยเหรอเนี่ย

 
tsboard 2025-02-28

นี่คือความบ้าคลั่งที่อ้างความอยากรู้อยากเห็นเป็นข้ออ้างหรือเปล่า... สยองสุดๆ

 
esolanglover 2025-02-27

บ้าชิบหาย.... GOAT

 
kuthia 2025-02-27

ว้าว...

 
wkbae 2025-02-27

"ขนาดโค้ดก่อนปรับแต่งอยู่ที่ 1.25PB" โหดจัด..

 
honglu 2025-02-27

เห็นจาก GN ก่อนแล้วก็ได้แต่คิดว่า.. สุดยอดมากจริง ๆ ครับ