AR Pixel Art Frustum
Sometimes rendering at half scale and scaling it up just doesn't cut it.
Creating a Programming Language
Why is there no common icon for a compiler? Whereas if I say, "we need a database icon", I'm sure we're all picturing the same thing.
WebGPU is HERE!
If the picture for this article is in colour, then it's being rendered by your browser using WebGPU!
If not, I'm sorry (and you're missing out)
Ports of My Stadia Test Apps
These web ports of my personal Stadia test apps feel like a rather hollow replacement for the real thing, but they are pretty to look at.
Goodbye, Stadia
I've been working at Google on Stadia for the past 4 years now, and it's a little sad seeing it go away...
Let's Cobble Something Together
Imagine a world where there was build system that made it easy to prototype with, without it getting in the way.
To Build a Website (Part 2)
Bad tooling sucks. It slows down development and hurts motivation.
Ask me how I know.
Hindsight is 2020
I'll never be able to look at that saying the same way again.
And now onto 2021: 2020 Two.
LLVM on Node ... But, Why?
Javascript is great for prototyping. There's no header files, declaring classes is optional, and if you need to save a value for later, just add a new property to your object.
Custom ECS Storage
Most standard ECS libraries I've found on GitHub don't allow custom storage strategies. When you need to eke out the most performance, that can be important.
Reading in Colour
Now that the majority of what we read is digital, do we have to stick to the tradition of black text on a white background? What if tweaking the text colour can make it a lot easier to read?
Maelstrom
A Web Assembly experiment.
Compiled from C++ using LLVM. Running a custom ECS engine. Rendered using WebGL.
And particles. Lots of particles.
Voxel File Format
The MagicaVoxel .vox file format is a great file format, but have you looked at the size of those files? Now imagine storing the same data at a fraction of the size.
To Build a Website (Part 1)
Asynchronous EJS. Or why I built a ridiculously simple templating engine.