This week the menu was "path-based special effects", aka fun time-wasting with shaders. The reason is because I want to get a steam page going. To make a steam page, I need some sort of trailer (even with alpha features). To make a trailer I need interesting visuals. So, I need to create a few spells and spell effects, as they're always good candidates for showcasing things. By path-based, I mean continuous visual effects (ray, or fire blobs) along a path represented as a polyline, where we could either be moving tile-by-tile, or jump many tiles at once. Some examples below, with associated videos.

Lightning. This can take the form of a bouncing long bolt, if your remember Baldur's Gate
Fire. This will be used for a firewall spell for example, where the player specifies start/end points and a bresenham line is created
Rope. I've wanted for a long time (years!) to create mobility skills that would include a rope/grapple hook, e.g. target a wall tile and immediately jump there. So at last I've made the visual effect that I always had in mind.

There's a single particle system that is used for all these, which spawns quads along the polyline path, and sends them to the shader (alongside path information). The shader uses the path data to figure out how close to the path each pixel is, and set the pixels appropriately. It took me a few tries to create a version general enough to support these 3 effects easily, and obviously it should support many more.