r/creativecoding

▲ 7 r/creativecoding+3 crossposts

If you enjoy listening to music while studying or coding, try this:

For a better experience listen in shuffle mode. Transparency statement: contains audio and visual OC. Feedback appreciated.

reddit.com
u/itsachillaccount — 12 hours ago
▲ 66 r/creativecoding+1 crossposts

[OC] Fractal Merkabah (3D model linked)

I've always thought that mountains and tree are dual images symbolically. They both relate the one to the many. For mountains, the many starting places at the base converge towards the peak at the top as you climb. For trees, the trunk branches into a wide canopy. Both embody unity and diversity at the same time, but in opposite ways.

3D model: https://observablehq.com/d/1f1e526de8158cce

u/LaoTzunami — 1 day ago
▲ 43 r/creativecoding+2 crossposts

Experimenting with a modern “longwave service” inspired by vintage broadcast stations

I’ve been building a small project called WIRE-38 inspired by old longwave and shortwave broadcast aesthetics.

The idea was imagining what a continuously operating modern “longwave service” might sound like if:

  • interval signals never disappeared
  • late-night radio still felt atmospheric
  • public information broadcasts evolved instead of vanishing into apps and feeds

The system rewrites current headlines into condensed radio bulletins with generated announcer voices and sparse ambient presentation.

A lot of the inspiration came from:

  • Cold War-era broadcasts
  • numbers stations
  • BBC interval signals
  • late-night AM radio
  • longwave continuity announcements

What surprised me most is how differently modern news feels when presented as detached radio bulletins instead of infinite scrolling feeds.

It feels less like doomscrolling and more like discovering a signal.

Curious what people here think makes old broadcast formats feel so distinct compared to modern media presentation.

First bulletin: WIRE-38 Bulletin #1

u/TideAndCurrentFlow — 2 days ago
▲ 10 r/creativecoding+1 crossposts

Deterministic generative art from collective human interpretation

Something I've been building: a daily generative art system where the algorithm's inputs are human interpretations of a cultural prompt rather than a random seed.

Each submission is an (x, y) coordinate on a grid. x = performed to honest. y = dividing to uniting. The prompt text is hashed to seed the RNG, so the shuffle order is deterministic and reproducible. The rendering algorithm is recursive subdivision - each submission cuts the canvas and claims territory in one of four colors based on quadrant position.

The interesting constraint: because the prompt seeds the RNG rather than a transaction hash, the same word always produces the same shuffle of any given submission set. The artwork is verifiably reproducible from its inputs. The algorithm is implemented identically in Solidity (onchain SVG) and TypeScript (frontend preview) so the rendered output is the same in both.

The first prompt, THE INTERNET, is up for auction. The submission window for the second prompt, CONTENT CREATORS, just opened.

Happy to share more about the rendering logic or the Solidity implementation.

Where do you stand?
mixedmessages.fyi

u/Icy_Way7154 — 2 days ago
▲ 10 r/creativecoding+1 crossposts

Update on GitBiome: every GitHub user now has a personal galaxy

Hey y'all,

Last week I posted about GitBiome, allowing you to view any github repo as a unique, 3D world. I appreciate all of the feedback so far!! In the meantime I was working on a way to explore the indexed repos as a galactic system, which was listed as a "beta" feature last week

Took me a bit, but I'm happy with where it is now :)

First, https://gitbiome.com/galaxy is a 3D map of the ~170 most popular repos on GitHub, grouped into 8 star systems. Each planet is a real repo that you can click into to view its world

A friend of mine mentioned that this was cool, but he wanted his own system 😆

So the part I'm most excited about: every public GitHub user can now have a personal galaxy. Each planet is one of your repos, which can be used to navigate to their worlds. Sign in with GitHub, claim the galaxy, and the URL is ready in a few seconds. Stick it on your resume, your bio, wherever :) (mine for example: https://gitbiome.com/dylandubois)

A few small things on top:

- QR code generator for sharing your galaxies

- Resync button to pull your repos from GitHub anytime

- OG cards so the link looks clean on Discord, Twitter, etc

At the moment you can only pull in your public repos, but I'm planning to change this as most of mine are private :)

Would love any feedback or feature requests <3

— Dylan

(p.s. shoutout to this post yesterday, my graphics aren't nearly as sick)

u/Dyldinski — 2 days ago
▲ 273 r/creativecoding+8 crossposts

ASCII Paradise - [Real-time video filter]

Real-time, audio-reactive ASCII filter for TouchDesigner.

Don't know why the algorhythm decided to resurface this few years old system of mine on social media, but quite a few folks ask me if I could make it available.

Available exclusively through the recently released Tools Store

PS: There might be a couple of cool discounts in the Tools Store for the first brave ones to access them. Enjoy!

u/TasTepeler — 4 days ago
▲ 28 r/creativecoding+2 crossposts

Do you like flowers?

A small MarkovJunior-style rewrite engine in vanilla (almost) Wolfram Language https://github.com/JerryI/MarkovJunior

Why WL? It is generally built around pattern matching; therefore, MarkovJunior can be implemented easily using native ReplaceAll, Rule, and Pattern symbols. Most of the code is used for building a friendly API and performing error checks.

For example random filling can be done using:

Black -> Red

For self-avoiding walk:

{a___, Red,Black,Black, b___} :> {a, White,Gray,Red, b}

For this particular example (flowers) it is written as a set of replacing rules, which gradually build soil/sky and then grows some flowers...

AppendTo[rules, {
1, 1, Automatic, {
(* seed the soil region *)
Black -> Yellow
}
}];

AppendTo[rules, {
1, 3, Automatic, {
(* seed several sky regions *)
Black -> Red
}
}];

AppendTo[rules, {
1, Infinity, Automatic, {
(* grow the sky and soil regions from their seeds *)
{a___, Red,Black, b___} :> {a, Red,Red, b},
{a___, Yellow,Black, b___} :> {a, Yellow,Yellow, b}
}
}];

AppendTo[rules, {
All, Infinity, Automatic, {
(* convert temporary region colors into sky and soil *)
{a___, Red, b___} :> {a, LightBlue, b},
{a___, Yellow, b___} :> {a, Brown, b}
}
}];

AppendTo[rules, {
1, Infinity, All, {
(* plant the first stem segment along the soil line *)
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, Brown,Brown,Brown, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , Brown,Brown,Brown, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];

AppendTo[rules, {
1, Infinity, "MirrorX", {
(* grow stems and leaves with mirrored variants *)
(* weight it with some probabillity as well *)
{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,Green, b2___},
{a3___, LightBlue,LightBlue,LightBlue, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,Green, b2 },
{a3 , LightBlue,LightBlue,LightBlue, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}],

{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,Green, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , LightBlue,Green,Green, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}],

{
bf___,
{a0___, LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,LightBlue,LightBlue, b0 },
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; Length[{a1}]==Length[{a2}]==Length[{a3}]==Length[{a0}],

{
bf___,
{a0___, LightBlue,LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,Green,LightBlue,LightBlue, b1___},
{a2___, LightBlue,Green,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,LightBlue,LightBlue,LightBlue, b0 },
{a1 , LightBlue,LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Green,Green,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue,LightBlue, b3 },
af
} /; RandomReal[]<0.5 && Length[{a0}]==Length[{a1}]==Length[{a2}]==Length[{a3}],

{
bf___,
{a1___, LightBlue,LightBlue,LightBlue, b1___},
{a2___, LightBlue,LightBlue,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a1 , LightBlue,LightBlue,LightBlue, b1 },
{a2 , LightBlue,Red,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; RandomReal[]<0.2 && Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];

AppendTo[rules, {
All, Infinity, All, {
(* turn mature stems into blossoms *)
{
bf___,
{a0___, LightBlue,LightBlue,LightBlue, b0___},
{a1___, LightBlue,Red,LightBlue, b1___},
{a2___, LightBlue,Green,LightBlue, b2___},
{a3___, LightBlue,Green,LightBlue, b3___},
af___
} :> {
bf,
{a0 , LightBlue,Red,LightBlue, b0 },
{a1 , Red,Yellow,Red, b1 },
{a2 , LightBlue,Red,LightBlue, b2 },
{a3 , LightBlue,Green,LightBlue, b3 },
af
} /; Length[{a0}]==Length[{a1}]==Length[{a2}]==Length[{a3}]
}
}];

u/Inst2f — 4 days ago