Avoiding Trigonometry (2013)
Tutorials and articles of Inigo Quilez on computer graphics, fractals, math, art, demoscene, shaders and more.
The latest blog posts to take off on Hacker News. 2,047 posts.
Tutorials and articles of Inigo Quilez on computer graphics, fractals, math, art, demoscene, shaders and more.
I've been obsessed with procedural maps since I was a kid rolling dice on the random dungeon tables in the AD&D Dungeon Master's Guide. There was something magical about it — you didn't design the dungeon, you discovered it, one room at a time, and the dice decided whether you got a treasure chamber or a dead end full…
In this post I’m going to cover a neat technique for rendering regions of fog with varying density. I’ll start by covering some of the basic principles behind fog rendering and a few co…
A conversation with lead producer Laura Kröger on the making of Odysseus and what it would take to become a permanent institution.
Virtual reality for a 286 processor
(TL;DR: this is a blog post about the process of writing my guide to SDF fonts .)
My cavapoo Momo vibe coded playable Godot games. All I had to do was teach her to type, route her input to Claude Code, and build the right tools.
An in-depth overview of some of the unusual and very advanced technical tricks used in the Commodore 64 game, Seawolves.
INT. WAREHOUSE - NIGHT Following my recent rants about computer generated effects ( here and here ), I thought it would be fun to look i...
Since AlphaZero, lc0-style chess engines have been trained with RL. Specifically, you have the engine (search + model) play itself a bunch of times, and train the model to predict the outcome of the game.
Over the last few weeks, I created a computer game set in the Arctic. Or maybe I’ve been working on it since 1981. It all depends on how you count.
Do you notice a difference? The image on the right appears “yellower” than the image on the left, which looks more goldenrod by comparison.
AI automation and the Four Horsemen of the paper jam.
An interactive deep dive into building halftone shaders in GLSL, covering everything from classic dot patterns and CMYK color separation to Moiré interference, gooey effects, and animated displacement.
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites. This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
Relax or experiment with over 500 materials in this falling sand simulator.
How games implement roads
I made a Game Boy Color game that renders images in real time. The player controls an orbiting light and spins an object.
Experimental simulation of emergent complexity through graph-rewriting automata.
How four layers of authentication in a production anti-cheat driver still hand you a complete BYOVD toolkit
In November, my friend and fellow Recurser, Frank , picked up an arcade machine for the Recurse Center . We call it the RCade. He wanted to leave the original CRT in - which I think is a great choice! - and drove it off of a Raspberry Pi. Eventually we wanted to move to a more powerful computer, but we needed a way to…
Note: I’ve seen some online chatter about the possibility that the footage shared in this post could be AI generated (which is pretty depressing, but here we are I suppose). I just wanted to …
A few days ago, The new York Times (owner of Wordle) announced that from 2 February it would start reusing some words from previous years. Their announcem...
Recovering and preserving Crimsonland, the 2003 top-down shooter, through reverse engineering of its original binary.
I built a scriptable 3D game engine for the Nintendo DS so you can write and run games directly on the console itself. Written in C using libnds , it compiles to a 100KB .nds ROM that runs at 60 FPS . Features a touch-based code editor on the bottom screen and real-time 3D rendering on the top screen. Ships with a…
Understanding Threshold Map in Ordered Dithering.
Video games are art, but a strange art: their essence is transformation of the player, not description to the player. This makes meaningful criticism nearly impossible—you can point at the moon, but it’s not the moon, and once someone sees it, they no longer need the pointing.
In the OpenGL course I'm teaching at a university, my students learn that the GPU uses something called rasterization to draw stuff on the screen. Then, I explain how — in theory — rasterization works, e.g. how would one write the code to draw a fixed triangle on screen. Of course, the GPU does that for us, but it is…
One of the first significant things I ever coded in QBasic was a falling snow simulation- I think they're very soothing to watch, fun to customize, and there's lots of possibilities for extra little delight. Here's one I built on idle afternoons over the holidays this year at my parents. Enjoy!