![City building games have a Soul Problem pt.2 [Written Article, Level Design, UX, NotGodot]](https://external-preview.redd.it/2UQvRaR21gIqRvnpe3-PrTDHKWhPYvix3483n7lXwnQ.png?width=140&height=78&auto=webp&s=d7f4384075e33c2b7ccde45b60cd70c56d772822)
![City building games have a Soul Problem pt.2 [Written Article, Level Design, UX, NotGodot]](https://external-preview.redd.it/2UQvRaR21gIqRvnpe3-PrTDHKWhPYvix3483n7lXwnQ.png?width=140&height=78&auto=webp&s=d7f4384075e33c2b7ccde45b60cd70c56d772822)
SDF vs MSDF vs Slug: GPU Text Rendering (Slughorn) [Written Article, UX, Fonts, Rendering]
alphapixeldev.comProcedural Pixel Creatures – pure code creature generator, animation framework, and genetics system
I present a pure code pixel creature generator, animation framework, and genetics workshop in Godot 4.5 (.NET / C#).
Everything is generated procedurally from seeds: body shapes, limbs, faces, markings, rigs, and multi-directional animations (idle, walk, run, hit reactions). There are no pre-rendered sprite assets involved. Anatomy, color, pattern, and motion use separate seed streams to keep generations fully deterministic.
It features 9 creature families (quadrupeds, humanoids with equipment, dragons, arthropods, aquatics, etc.) and a full genetics mode where you can edit individual genes, lock specific traits, tweak mutation rates, or breed parents. You can also view up to 100 creatures roaming a terrain with slopes and ponds, or export everything to transparent PNGs, JSON presets, and animated sprite sheets with metadata.
The C# core is engine-independent, so the generation logic can be extracted outside Godot.
GitHub Repo:https://github.com/idlerunner00/procedural-pixel-creatures
LowPoly 3D Terrain Builder - Godot Plugin
I made a plugin for godot that lets you generate 3D worlds from pixel art images. And yeah, you can also paint/build the terrain manually. It's nothing too crazy, but it's free and it solves a problem for me, so maybe it will also work for your use case.
Using any C++ library in Godot [Written Article, GDExtensions]
blog.conan.ioBasic Environment and Lighting Setup [Video Tutorial, Rendering, UX]
youtube.comExplosion VFX with advanced shader techniques [Video Tutorial, Rendering]
youtube.comemiljecreates Godot Tutorials [Video Tutorial Series, Water, Rendering, Character Controllers]
youtube.comismailivanov/TressFX-Godot: Real-time hair and fur port of AMD TressFX [GdExtension, Animation, Rendering]
github.comHow to Write an Effective Software Design Document [Written Article, Planning, Project Management]
refactoringenglish.comMold: vector graphics library for Godot [Free, UX, Rendering]
dkliao.itch.ioInverse Kinematics and Foot Locking [Written Article, Animation, Rendering]
theorangeduck.comThe Transvoxel Algorithm for Voxel Terrain [Written Article, Level Design, Asset Creation]
transvoxel.org3D realtime water simulation - all the references you need | 3d water Godot
I finally compiled all the references you asked me for under the last post. It's a big list, so brace yourself. Or just wait for half a year until I open-source my own simulation :)
Simulation
- Position Based Fluids — Macklin & Müller, 2013 - the foundation, incompressibility through iterative particle-position constraints
- The Affine Particle-In-Cell Method — Jiang et al., 2015 - APIC particle-grid transfers with better momentum preservation and less numerical damping
- Position-Based Material Point Method — EA SEED, 2024 - the PB-MPM formulation and its position-based constraint model - this one was the reference for the Breakpoint
- Breakpoint — Daniel Gerhardt - the open-source 3D GPU PB-MPM implementation I actually ported. Just a very solid reference for 3d water. Basically, I took what they created, and optimized it for non-nvidia gpu
- Unified Spray, Foam and Air Bubbles for Particle-Based Fluids — Ihmsen et al., 2012 - classifying and rendering secondary particles as spray, foam and bubbles. This one makes your water so much more alive
- Fluid-Sim — Sebastian Lague - you know this one :)
- A Unified Sparse Material Point Method Framework for Spatially Sparse Scenarios — Zhao et al., 2026 - for sparse simulation. This basically allows to forget about the limit of dense grids that can't normally be forced above 128x128x128 without huge memory and compute costs. But this does not come for free - about 1ms/frame is used for dynamic allocations in my experiments, so the trick is situational
Screen-space water rendering
- Screen Space Fluid Rendering for Games — Simon Green, 2010 - golden; the depth, thickness, smoothing and compositing structure behind the screen-space renderer
- Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernels — Yu & Turk, 2013 - weighted-PCA anisotropy, smoothed particle centers, bounded eigenvalues and volume-preserving ellipsoid scaling
- A Narrow-Range Filter for Screen-Space Fluid Rendering — Truong & Yuksel, 2018 - smoothing particle depth without destroying silhouettes or merging unrelated surfaces
- Narrow-Band Screen-Space Fluid Rendering — Oliveira & Paiva, 2022 - restricting reconstruction work to active surface regions for better GPU performance. A must-have boost for real time
- Anisotropic Screen Space Rendering for Particle-Based Fluid Simulation — Xu et al., 2023 - directly combines weighted-PCA ellipsoid particles with screen-space depth filtering
Marching cubes / ray-marching water rendering
- A Real-Time Adaptive Ray Marching Method for Particle-Based Fluid Surface Reconstruction — Wu et al., 2022 - direct reference for what I implemented: density-grid ray marcher, empty-space skipping, adaptive tile rates, iso-surface search, refinement and hybrid normals. So many good techniques in one paper!
- SplashSurf - my second reference for some visual effects
What I did with this all
- Ported Breakpoint’s 3D GPU PB-MPM into Godot’s compute shaders - this was a foundation for everything else
- Connected the simulation to editable voxel terrain through signed-distance-field collision data using Voxel Tools - a super-performative Godot voxel engine
- Reused the pb-mpm grid and passes for literally everything. All the methods consume the same values where possible, nothing is calculated two times. I cut corners in foam physics to not introduce a separate grid, preserve cheap depth-map to reuse in ray-marching initialization, reuse voxel world to collide water with usual 3d-models. Such moves allowed me to go from 30 fps 24k particles to 120 fps 300k particles
- Added a support-aware ballistic fallback for isolated particles, fixing the hovering and excessive damping produced by sparse APIC transfers. Without this individual water particles liked to "float" above the water mass gathered in 3x3 cells underneath them. Honestly I just don't remember the reference for this... But this makes water much, much better in terms of dynamics.
- Created this post.
I hope this gives enough inspiration to those in need. Mind, that this list gives you an image of the final result - but you will end up googling "my water becomes a ball after 1.33s of simulation what is wrong with it" - this is totally okay, this is expected. Just keep believing you can do it.
If you want to see more images and follow dev path towards even better results - you can join this info-only discord. No messaging allowed for now, so its purely to sit and wait until I start creating a game with this all. But I post some funny updates there!