>> My current project is a Doom level renderer in Dart/WebGL, implemented with trying not to look at the original source code. Instead, I use an old document from 20 years ago called The Unofficial Doom Specs.
That brings back memories of playing around with WAD files, pulling out graphics and palettes, reading level data and drawing it with LineTo() and MoveTo() calls, and running into all the limits of a 16-bit C compiler (Turbo C)...