Runaway Reindeer December 2023
A little (8-kilobyte) season's greetings in ROM form, for MSX computers (MSX1, using only the TMS9918 video controller). I wrote it in Z80 assembler language.

Screenshots:






Pocket Tangrams Vol. 1 April 2022
A game based on Tangrams for Gameboy, written entirely in assembly.
It received the 2nd place prize at Revision 2022

Screenshots:






Zero Percent August 2021
A 4-kilobyte demo.
It received the 1st place prize at Evoke 2021 (a.k.a. Névoke).

(OpenGL, GLSL, Pixel Shaders)

Source code is available on Shadertoy here.


Screenshots: 1 2 3 4






Making Good Progress April 2021
A 4-kilobyte procedural image.
It received the 3rd place prize at Revision 2021 among 21 entrants.

(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.




The Real Party Is In Your Pocket April 2020
A 4-kilobyte procedural image.
It received the 2nd place prize at Revision 2020 among 16 entrants.
It was also nominated for a Meteoriks award: Best Executable Graphics.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.




terrarium August 2019
A 4-kilobyte realtime demo.
It got 2nd place at Assembly 2019. It was also nominated for a Meteoriks award: Best Small High-End Intro.
Click here for the source code.

(OpenGL, GLSL, Compute Shaders)

Screenshots: 1 2 3 4





IIII / IV April 2019
A 4-kilobyte realtime demo released at Revision 2019.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

Screenshots: 1 2 3 4





A Fish Best Served Cold April 2019
A 3-kilobyte procedural image released at Revision 2019.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.




Bad Syndrome November 2018
A demo with diseased vibes, made with Notch.

It came 1st in the Vortex 2018 demo competition in Finland.
A screenshots gallery can be found here.




From The Seas To The Stars August 2018
A 8-kilobyte demo made entirely out of particles, rendered by a single compute shader.
It received the 3rd place prize in the 64kb competition (despite being only 8kb) at Evoke 2018.
It was also nominated for a Meteoriks award: Best Small High-End Intro.
Click here for the source code.

(OpenGL, GLSL, Compute Shaders)

Screenshots: 1 2 3 4 5 6 7 8 9 10 11





Isokala July 2018
A demo with summery vibes, made with Notch.

It was made for Nordlicht 2018.
A screenshots gallery can be found here.




Oscar's Chair April 2018
A 4-kilobyte demo with various lighting effects and a grand finale consisting of a firey inferno.
A write-up about this demo's development can be found here.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

It got 1st place, out of 18 entries, at Revision 2018.
It also won a Meteoriks award: Best Small High-End Intro. Woohoo!

A screenshots gallery can be found here.





The Colours and Lights of The North April 2018
A demo created with Notch, to promote the Nordlicht demoparty.

Released at Revision 2018.
A screenshots gallery can be found here.





Alive Here Now, Forever December 2017
A 4-kilobyte demo featuring voxel-based cloud effects with shadows and light scattering.
It got 2nd place at Under Construction 2017.
Click here for the source code.

(OpenGL, GLSL, Compute Shaders)

Screenshots: 1 2 3 4 5 6 7 8 9 10 11





お花見 (Ohanami) October 2017
A 4-kilobyte demo featuring a tree in various phases of life and annual cycle, rendered with a painterly effect which is entirely procedural.
Released at Deadline 2017.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

I've put the main effect from the demo on Shadertoy.

Screenshots: 1 2 3 4 5 6





Dropletia August 2017
A 4-kilobyte demo featuring voxelised particles with dynamics which produce a look similar to fluid simulation. The dynamics are not based on stored particle positions and integrated velocities but are computed semi-analytically within a vertex shader so the simulation is able to run 'in reverse' and is 100% stable. It also includes a trick for producing soft shadows from circular disc occluders.
Click here for the source code.

Released at Evoke 2017.

(OpenGL, GLSL, Pixel Shaders)

Screenshots: 1 2 3 4 5 6 7





Horizon Machine April 2017
A 4-kilobyte demo featuring voxel cone tracing, reprojection anti-aliasing (also known as TAA), and bloom. The theme of this demo is based on the idea of an ancient alien machine which has been awakened long after it's creators are long gone.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

It got 3rd place (out of 16 entries!) at Revision 2017.
It was also nominated for three Meteoriks awards: Best Soundtrack, Outstanding Technical Achievement, and Best Small High-End Intro.

Screenshots: 1





Takochu Kiss February 2017
A 2007-byte procedural picture of a couple of Takochus (a kind of rare Japanese collectible toy) made of out voxels. The shading is done only with closed-form math, there is no numerical integration of lighting in this one.
Click here for the source code.


(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.




Glittermorphosis December 2016
A 4089-byte demo focusing on particle rendering, with front and back bokeh depth-of-field, motion blur, bloom, and lens flare effects. The bokeh aperture shape image is pre-rendered into a 3D texture, and the particles are drawn with GL_POINTS immediate mode. Each point covers the motion streak of the particle as a bounding box and a perpendicular distance test discards fragments early. All particle positions are produced by a closed-form pure function of time.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

It got 2nd place at Under Construction 2016.

Screenshots: 1 2 3 4 5 6 7 8 9 10





Blue Morpho October 2016
A 8192-byte demo featuring depth-of-field effects (and something similar to anti-aliasing) produced using mipmapped volume textures and regular raymarching, and tree-like 3D forms produced by reaction-diffuse simulations. Use of OpenGL extensions when generating the volume textures is minimised by using framebuffer zero as a temporary store, and GLSL packing and unpacking functions are utilised to gain extra precision from that temporary store.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)




Blocked Shower August 2016
A 4096-byte demo featuring geometry which is defined by a signed distance field but rendered as voxels. This is done by alternating between raymarching and uniform grid traversal depending on the current distance to the geometry. The result is that the amount of geometry (the number of voxels, you could say) can be much higher compared to a uniform grid alone. It also makes shading easier for free since the SDF can be used for ambient shadowing. Directional shadows are produced by stepping through a fixed number of voxels from the hitpoint.

(OpenGL, GLSL, Pixel Shaders)

It got 4th place (out of 9) at Evoke 2016.

Screenshots: 1 2 3 4 5





Verlockend August 2015
A 1249-byte picture of a dangerous-looking plant with some spider silk hanging around it, hinting that the venomous spider who spun it may still be lurking in the shadows.

It came 1st in the Sundown 2015 4k procedural gfx competition. But it's under 2k!

(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.





Love Reaction June 2015
A 3526-byte demo featuring some kind of love story, told via the medium of fluid dynamics simulation. To be precise the simulation is an implementation of the Gray-Scott reaction-diffusion model, in fixed-point arithmetic using MMX instructions to make it fast and universally repeatable. I wrote the main code and designed/directed this thing.
Click here for the source code.

(OpenGL, GLSL, Pixel Shaders)

It came 3rd in the Nordlicht 2015 PC demo competition.

Screenshots: 1 2 3 4 5 6





Emerge December 2014
A full-sized PC demo featuring raytraced reflections, particle effects, landscape shadowing, and keyframed animations. It was created to promote Revision 2015. As well as serving as an invitation to the event, the engine and assets were used to create animation which were shown at the event itself. Also uses GPU distance field evaluation for the collision detection of small debris.
The demo also features deferred lighting, cascaded shadowmaps, ambient scattering, screenspace motionblur, and screenspace ambient occlusion.

Click here for the source code.

(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)

Screenshots: 1 2 3 4 5 6 7 8 9 10 11 12



Decay November 2014
A 3092-byte procedural executable picture featuring tree-like shapes, volumetric shadows and compressed image data. It was not entered into any competition.
Click here for the source code.

(C, OpenGL)

Click here for the full image.




Blitzgewitter April 2014
A full-sized PC demo which was produced to promote Nordlicht and features a handful of effects such as screen-space collision detection, raytracing, voxel-based illumination and glossy reflections, simple volumetric scattering (for explosions and clouds), and flashy glowing stuff. I wrote all of the code and did most of the visual design.

Click here for the source code.

(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)

It won 2nd place at Revision 2014. It was also nominated for a Meteoriks award.



Hilixir October 2013
A 1644-byte procedural executable image featuring volumetric filtering used to produce depth-of-field and motion blur effects.

(OpenGL, GLSL, Pixel Shaders)

Click here for the full image.




RCM Invitro 2013 October 2013
A full-sized PC demo which was produced to promote Retro Computer Museum. It features a retro style and fake low-fi effects such as TV distortion and low-precision transformations. It was not entered into any competition.
Click here for the source code.

(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)

Screenshots: 1 2 3 4 5 6 7 8 9 10





Overdrive August 2013
A large Titan production featuring many never-before-seen effects on the Sega Mega Drive (aka Sega Genesis) console. My work on this consisted of the invention of a fast cube-rendering trick (ab)using the scrolling hardware, a couple of transition effects, and a pixelart animation processing tool.

(C, Motorola 68k Assembler)



4koders April 2013
An animated demo which I designed and coded, but required the work of 3 other coders to fit into 4KiB!

(OpenGL, GLSL, Pixel Shaders)



The Careless Wizard December 2012
A 4KiB procedural executable image featuring finely-tessellated parametric surfaces, many types of procedural texture, and a CPU-based tilt-shift blur. I wrote all the code and did most of the design. It won 1st place at the Ultimate Meeting 2012.

(C, OpenGL, GLSL, Pixel Shaders)

Click here for the full image.



Erosion October 2012
A 4KiB animated demo featuring a rust effect created using ambient occlusion, and some rain. This was entirely created by me, except for a synth library that I used - the highly popular 4klang.

(OpenGL, GLSL, Pixel Shaders)

It won 1st place at TRSAC 2012 and my prize was an NVIDIA GTX 670!



Hexahedron March 2012
A PC demo featuring a few different effects. This was entirely created by me, including a very simple synth and sequencer. The music is generated dynamically using SDL audio callbacks. It was not entered into any competition.
It features signed distance field raymarching, shadowmapping, screenspace depth-of-field, bloom, render-to-texture and more.

(C++, OpenGL, GLSL, Vertex Shaders, Pixel Shaders)

Screenshots: 1 2 3 4 5 6 7 8 9 10 11 12 13 14