I implemented that mesmerizing swirling background in Balatro 🌀 into my game - shader code straight from Balatro with full customization in Godot
The pixelation effect is my favorite part. Watch how adjusting one parameter transforms the entire aesthetic from butter-smooth to retro 8-bit instantly
I broke down the entire shader - the math, the UV warping, the 3-color blending system, and why it's performance genius.
Checkout the full breakdown on my page 👇
https://t.co/IePNNggffC
FYI~ in case you didn't know:
-- (because it's not clear)...
🔳 pixel = "picture element";
🧊 voxel = "volume element";
An example of picture 'element' ('atomic' minimum data/value unit) is simply 2D screen/frame coordinates, and RGB colour.
An example of a voxel element is 3D grid point and size data.
Realtime fluid sim. being used for powdery sand, satisfyingly driven through. You can also do something like read the velocity and any other of the sim's data for actual physics/forces.
The 'standard' underlying technique is treating a texture as a field of some resolution (like 512×512), where each cell is some data about the simulation (that is 'advected'), and there is input (ink/dye/colour, ...forces).
^ What you do with the results of the processing/sim is up for creative grabs. "Fluid" can work for sand/dust, flowers/leaves, water... it's simply a matter of mapping the data, itself correlating in form, motion, and so on, such that we recognize "fluid"[-like] results.
Reminds me of this demo from about 20 years ago: an actually 3D, volumetric [128x64x64], interactive smoke/fluid sim I could play with on my 9800 desktop GPU.
I expect it'll run ~smooth/stable on my 2022 phone today.
Genie summon VFX from the original Kingdom Hearts (PS2, 2002): surprisingly dense and complex particle systems, with visuals that look great even today. ✨
I used to be immersed in the world and story of this game. I remember being in Traverse Town, thinking about how they did things, and how the game was made, years before being involved with game development myself.
It's incredible, that years after, I can just see the data/information of the simulation <- the systems, actually behind the gameplay and mechanics. 👀🧠
Kingdom Hearts had incredible tech.
> On the PS2, around ~2002!
Even *the* most basic enemy, a shadow 'heartless', had complex rendering and behaviour [for the time].
Flatten, render -> top-down texture, duplicate intersecting polygons, *then* sample the texture on that geom.
People create software products by iteratively describing them to specification.
If you want your own custom Photoshop-like app or video game -> you describe it into existence.
^ It all holds true, both before and after AI.
-- *without* needing to know C/C++/C#, or HLSL/GLSL, or Unity, or Unreal, or vector math, etc... (and such).
^ This is new.
It's easier than ever now, with AI.
Just a year or two ago (or even earlier *this* year), you'd need similar skill(s) on the project to truly see it through.
We're back to what's still true:
Someone (you?) would need to translate those ideas in your head into instructions the machines would execute, logically and precisely, in order for it to be realized into actual, functional, and -good- (UI/UX) software.
And what's new, specifically:
But now, much of the nitty-gritty of that programming is everyday natural language/communication with things we put together; we're talking to tools/software/machines like we talk to humans like us.
I started using After Effects ~18 years ago.
I started game dev. a couple of years after.
Today, I release my first (+FREE) AE plugin:
🟠🟢🔵 Advanced Radial Blur 🔴
^ Which combines a bit of both skills. 🙂
🔗 https://t.co/zpfISGGCHO
🙁 After Effects' built-in glow/bloom is basic.
I've ported my shaders as an actual,
fast (but very experimental) plugin. ✨
Looks much better, and more realistic?
-- It's based on legacy Unreal Engine.
Generative AI may be the most 'magical' human tech. thing I've actually come across in my entire life so far.
We can conjure data/values and entire systems by prompt. We *describe* what we want to exist, and then it exists, to spec?
It's much more high-level than what I'm used to, but it ~works.
And now we have 'agents'-- operating as autonomous little ghosts possessing machines (tools, systems, hardware).
It happened so fast.
Wild.