How purchasing an over priced graphics card led me on an unexpected journey.
Earlier this year (2021) I purchased at 3090 RTX Graphics card. This is unusual for myself as I tend to be rather conservative with my purchases, always looking for that point of diminishing returns. However, the pandemic and crypto mining has created a severe shortage of graphics cards and general. Because the 3090 has an already astronomical starting price of $1500 it ended up being easier to acquire than than alternatives.
From here I felt the need to justify my purchase by putting the card to full use, which in my case ended up being video game development with Unreal 4. I started with this udemy course and quickly realized the massive amount of effort involved with developing even the most simple of games. More specifically, I was going to need to learn how to model and texture things.
At this point my programmer instincts kicked in.
This lead me to procedural modeling and texturing with World Creator and Houdini
Procedural Volcano Biome in World Creator
Procedural Lung in Houdini
Frozen 2 wave sequence created with Houdini
After playing with both for some time and creating some simple projects I pulled it all together in this simple game where you Sun Wukong from Journey to the West wondering around on this tropical island. The character model was borrowed from the Epic Paragon set.
To sum things up, video game development is incredibly challenging. Even with tons of procedural generation and borrowed assets it still requires massive amounts of time, effort, and artistic skill.
By this point my focus had shifted almost completely to the ideas behind the procedural generation. How was it possible that these realistic looking items were being generated with almost no human input?
Enter chaos, complexity, fractals, and non-linear dynamics.
Let’s start with the most common example, the Mandelbrot set:
zn+1 = zn2 + c
And the logistic map, which is actually part of the Mandelbrot set. It actually provides a connection back to the natural world. See this interactive tutorial.
The basic concept is, simple iterative rules result in an infinite complexity that never repeats. My first experience with chaos fractals actually came when I was 16 and checked out this book from the library, A New Kind of Science. Specifically, the rule 30 cellular automata. The boxes below have all the information you need to generate this non-uniform sequence.
Now let’s do something a bit more realistic and satisfying. Pulling a piece of bread apart using continuous damage material algorithms.
These are the things that got me interested but by themselves they really aren’t enough to appreciate the full meaning of chaos. It’s at this point I started looking into the theory, history, and mathematics. Chaos and complexity got it’s start in the 1960s when Edward Lorenz messed up some inputs to simplified model of the weather. It’s a system of non-linear equations called the lorenz system.
Here is the Lorenz system visualized.
He realized that no matter how close two points are in the system, they will eventually diverge. Making the system very sensitive to initial conditions as well as making it completely unpredictable, while still being completely deterministic.
This lead to one of the most famous and startling ideas in science, “The Butterfly Effect” A butterfly flapping it’s wings on the other side of the world can affect the weather everywhere else.
See this video for a much more in depth analysis:
Some people might misunderstand the butterfly effect and see as complicated things being complicated. But the truth is quite the opposite. The weather is governed by simple rules of physics. These rules interact with themselves and create complex behavior in an unpredictable way. This is why we will most likely never have accurate predictions of the weather more than a week out, even 100 years from now.
For anyone who loves the predictability of Newtonian mechanics, this is very upsetting. It’s proof that certain knowledge will always be just outside of our grasp.
This is just the tip of the iceberg. After reading Chaos by James Gleick (it has a great audible track too) Complexity by Mitchel Waldrop and Misbehavior of Markets by Benoit Mandelbrot I’ve started realizing complexity is everywhere.
It turns out Chaos governs just about everything we care about. This includes pretty much all human systems, markets, politics, and even ourselves.
See this awesome project that simulates life on your GPU.
It can even make connections between disparate things like qwerty keyboards and political issues adopted by parties. Qwerty keyboards were designed to be as inefficient as possible to prevent type writer jams. But now we use qwerty keyboards simply because we use qwerty keyboards. Political parties often adopt policies and ideas for historical reasons that are no longer relevant, but continue the policies simply because there are whole systems of laws and people around them.
As of this moment I’m still lost in the woods, trying to figure out how to view the world through this new lens. There were so many amazing visualizations and tutorials that kept me interested. I’ll leave you with a few extras:
Side Note: 3blue1brown is my all time favorite YouTube channel for learning mathematics