Every pixel is code. Every note, too.
A rainbow logo. A scrolling message. A screen full of stars. There is no image being played back and no soundtrack waiting in a folder. The program is making the picture and the sound as it runs.
That is the idea behind demoscene: a collection of small intros built on a Mac, using modern C++ and AI as a pair-programmer. Not a game. Not a video. Code doing something simply because it is interesting to watch.
Start with a few characters
The ASCII intro is a good place to begin. Its RFDS logo is made of hash characters. A tiny 5×7 bitmap font turns each character into rectangles. Sine and cosine offsets make the letters wave; a hue function moves the colors through the rainbow. The starfield and the scrolling greeting give the whole thing a pulse.
Underneath is a synthesized chiptune: a kick, a bass, and a square-wave arpeggio. The picture is procedural, and so is the sound. That makes it possible to open the source and follow the whole effect, instead of searching for the asset that makes it look right.
Same idea. Very different pictures.
The other intros push that idea in different directions. A fake UNIX session types across a green CRT. An amber monitor adds raster bars and a funk groove. One island is drawn with a small indexed-color palette and chunky nearest-neighbor zoom; another uses raymarched terrain, animated water, lighting, and fog.
The shader intros move much of the work into a fragment shader. A tunnel comes from coordinates, rings, spirals, and noise. A kaleidoscope comes from folding space and repeating a small transformation. The images are very different, but the question is the same: what is the smallest set of rules that makes this happen?
From an effect to a creator
TinyIntro takes the experiments into a native macOS app. Its pixel panel lets you choose scenes, adjust parameters, preview the result, and read the explanation behind each effect. A plain-text .tro file holds the arrangement.
The renderer works in 320×200 indexed color, with sine tables, a pixel font, and a timeline. The audio sample position supplies the master clock, so the visuals can follow the beat. Baking compiles the selected effects into a standalone native program. The platform layer uses Cocoa and CoreAudio, without external libraries.
AI is useful. Understanding is still the point.
Getting a working effect is only the start. The more useful exercise is to change one thing and predict the result. Make the scroller taller. Slow the palette cycle. Remove the glow. Change the waveform. Then compare what happened with what you expected.
AI can help explain a formula, build a small starting point, or untangle a compiler error. A good-looking frame, by itself, does not prove that the code is understood. The repository includes notes and exercises to keep the learning part visible.
The fun is not just watching the machine make a picture. It is finding the rule that makes the picture possible.
The source and screenshots are on GitHub. These examples run locally on macOS; the image on this page is a screenshot, not a browser port. Build requirements differ between the SDL-based intros and TinyIntro.