I'm learning the Godot Engine, so here's the stuff I've made.
This basically uses many of the same fundamental aspects as the 2D Godot tutorial, so it's not really anything new.
I'm using this project to learn tiles, cameras, collision physics, spawning, item pickup, dynamic animations, dynamic hitboxes, particle effects, and more.
Currently using a basic noise generator to get a basic 0/1 cell layout, eventually I'll use Moore neighborhoods to implement a cellular automata, and non-boolean noise data for "biomes".
Ultimately, I'd like to fully automate procedural map generation with interesting (read: non-flat) tilemaps, but that's very advanced for me at the moment.
This is done, in theory, but it is atrociously inefficient. There are two major classes of potential improvement:
This one's weird because the compiled executable shader is not acting like the in-Godot shader preview, and the examples I followed used deprecated variables, which led me to a fairly different end result.
Still, for my first shader ever, it's pretty neat.
This water-like shader is now working properly. I think there was some bug between the previewer and the compiler because loading the project again fixed the issues, and I can now adjust all the parameters as expected. Nice!
I've gotten a fire shader "working," but I have major issues:
(2023-04-15) - I've stepped back to shader basics and have gotten up to a noise/fog shader.
My goal is to understand all the parts I need to successfully create fire / magic / smoke / water shaders myself without a lot of copy-pasting.
I feel like I've gotten some part of the way there, but fragment shaders are not easy to understand, and I feel like I've maybe learned 0.005% of them.
(2023-04-20) - Substantially better fire implemented by just adding a bunch more randomness / noise.
Next up is a "magic" effect, and I'd like to improve the water shader across the board.