- Es ist gelungen, DOOM ausschließlich mit dem reinen TypeScript-Typsystem auszuführen
- Insgesamt 3,5 Billionen Zeilen und 177 TB Code
- Die Erzeugung des ersten Frames dauerte 12 Tage
- Dafür wurde eine WASM-virtuelle Maschine ausschließlich im reinen TypeScript-Typsystem implementiert
Technische Herausforderungen und Lösungen
- Größenproblem
- Vor der Optimierung betrug der Codeumfang 1,25 PB, und die erste Berechnung benötigte 3 Monate
- Durch Optimierungen wurde dies auf 177 TB beziehungsweise 12 Tage reduziert
- Beschränkungen des TypeScript-Compilers
- Der Compiler wurde modifiziert, um Grenzen bei Stacktiefe, Rekursion usw. zu überwinden
- Kodierung der Spielressourcen
- Alle Spielelemente wie Maps, Texturen, gegnerische KI und die Physik-Engine wurden als Typen kodiert
- Es mussten ein Garbage Collector auf Type-Ebene, ein L1-CPU-Cache, Dead-Code Elimination, ein Memory Compactor in Echtzeit und ein globaler Stack implementiert werden
- Die gesamte Engine ist ausschließlich mit Zweierkomplement in Form von String-Literalen umgesetzt
Danach geplant
- Als Nächstes soll ein Video mit einer tiefgehenden Analyse veröffentlicht werden
- Es gibt außerdem mehr als 60 Shorts, die während der Entwicklung entstanden, aber nicht veröffentlicht werden konnten
6 Kommentare
Wow, 1,25 PB krass
Ist das Wahnsinn unter dem Vorwand von Neugier ... unglaublich.
Heilige Scheiße.... GOAT
wow...
„Die Codegröße vor der Optimierung betrug 1,25 PB“ Krass..
Ich habe es mir zuerst auf GN angesehen … mehr habe ich dazu gar nicht zu sagen … Es scheint wirklich unglaublich beeindruckend zu sein.