Towards the light: Developing Threshold

Introduction:

For some reason whenever I start working on an idea, it usually ends up around 160 bytes for the core idea, so i'm always jumping around between optimising it and making it 128 bytes, or adding a bunch of fluff and make it a full 256 bytes production. But with so few parties around with 128 byte intro competitions, i'm always left with a bunch of intros that might be cool for 128 bytes, but not impressive enough in a full fledged 256 bytes intro compo.

This intro is one of those cases where it would work better as a 128 byte intro.

Design and Development:

The idea for this intro was to create a futuristic corridor with various pillars and a futuristic colorscheme/fog. And to give the overall visuals a little more oompf, I wanted to add just a little titling to the camera to make it less 'straight up' and a more interesting composition.

With a similar setup to some of my other 128 byte raymarching intros, the challenge here was to get the overall scene and pillars looking nicely with good colors and composition. The distance function is derived from a basic cosgrid type of configuration (px=cos(u), py=cos(v), pz=cos(z+t)) with some bells and whistles added to it:

px = acos(sin(z * (x / 111.0 - cameraswing - 1.0));
py = cos(z * ((y+tiltvalue) / 111.0 - 1.0));
pz = cos(z+t);
d = px*(py+pz)-pz;

The use of acos(sin(u)) instead of a regular cosgrid defiitition is a trick to 'straighten out' a smooth curve into more of a sawtooth formation, which helps with the definition of the pillars. This is complemented by the final distance calculation which was shortened from: d = px*py + px*pz - pz; which help to 'blow up' the pillar definitions even more.

The final movement and composition was achieved by adding a cameraswing value (sin(time/8.0)) which makes the camera direction go left and right, as well as the tiltvalue of x/8 which adds a slight tilt to the vertical direction.

Texture and Colors:

I'm kind of pleased with the colorscheme i was able to get for this intro. It starts with some of the inverted grays we all know and love from the sweetiepalette, but then it rolls over into the first few Cyan colors of the MicroW8 palette, which i think gives it that nice futuristic fog i was looking for.

Final texture and color calculation was done as follows:

color = ((cos(py*16_f)*pz+z)+randomf() - 4_f);

Adding the random noise is debatable here and i went back and forth on it. Since there only about 12 colors used, adding some dithering helps with the ramping, but it takes a little away from the 'clean look'.

Conclusion:

Trying to match releases with parties is always a bit of a gamble, so when Shadow Party 2025 rolled around and I got word they were low on entries, I figure i'd send in this 128 byte intro as a compo filler.

For more information, you can check out the intros at demozoo: Threshold (2025)

Return to blog overview