A whirlwind tour of creating an F# version of the classic Wolfenstein 3D
summary
An F# reimplementation reproduces Wolfenstein 3D by writing a column-wise raycaster using DDA raycasting to step grid cells, maps using 64x64 textures, and per-column texture blitting into a canvas byte buffer; it runs in the browser via Fable and as a desktop app via .NET + Silk.NET by rendering to a texture. Sprite orientation uses triangular/barycentric tests to pick animation frames, the raycaster doubles for enemy line-of-sight, and the demo runs smoothly.
AI-written summary · about
chapters (9)
- 0:00Start
- 1:51Wolfenstein 3D and Me
- 3:56Important Principles
- 4:53Approaching the project
- 10:02Raycaster - wall hei
- 10:55Raycaster - simple implementation
- 15:29Raycaster - adding textures
- 20:18Game objects and enemies
- 21:16Animated orientable sprites
related talks
56mRecreating Wolfenstein 3D in F#
01h 00mRendering 3D Worlds in C#
33mRun your favorite games everywhere with WASM: the BlazorDoom use case
29mHow I Ported Doom to the Browser with WebAssembly
01h 01m3D Graphics for Dummies
59mYou can't do that with JavaScript!
26mBuilding a 2D Game from Scratch with WebGPU
59mGraphics Programming with LambdaCube 3D - Part 2 of 2
