Rune Skovbo Johansen
@runevision
Indie game developer, procedural generation enthusiast, Dane in Finland. I made Eye of the Temple, now working on The Big Forest. 📍 Turku, Finland
Here's a video flying up to the clouds. I had to implement a limit to the ray distance to avoid holes being carved into the clouds at horizon level. The fix makes distant clouds disappear when approaching cloud altitude, but that seems like a much better tradeoff.
I'm impressed with the emergent self-similar features. Like the long thin line right-down of the center here, which kept changing directions in similar ways over and over. There'd be small variations that made it deviate for a while but then it's still get back in the same groove.
I learned recently that the skybox I use has an artificially low horizon, which actually makes my landscapes look better. But it means I had to make the clouds curve down to "meet" the horizon. After futile attempts curving them in 3d, I settled on curving them "in 2D" stretching the image.
I've been experimenting with volumetric clouds. This is based on Enviro 3 from the Unity Asset Store, with a whole bunch of hacks of my own to work with my atmospheric perspective, low horizon, and other tweaks.
Here's the texture in case anyone else needs a mysterious Reference Man. (Let's see if Bluesky keeps it as a transparent PNG.)
Here's a cautionary example from my old game Eye of the Temple. I didn't follow the rule back then, and the approximately real-life speed of the fire particles makes them move so fast they don't look nearly video gamey enough.
I've implemented better fog (atmospheric perspective) in my shaders, so distance fades not just towards a single color (like classic fog), but a color which itself gets paler with distance. This adds so much depth to distant parts of the view and I feel it makes the landscape "breathe". #GameDev
Only missing piece is to get MicroSplat by @slipster216.bsky.social to work with it too. Unfortunately its built-in solution to handle a floating origin just adds the origin (specified in floating points!) to the shader positions, defeating the point of a floating origin and causing major glitches.
I just implemented the last piece of the puzzle; a floating origin. Since rendering in the end has to happen in floating points, the player and the world around is regularly shifted to be close to the origin.
I'm just now experimenting with adding more octaves to the steep cliff erosion. Here's before and after with one more octave. I tried two more too, but that didn't look good. Is this what you had in mind, or something else?
I also tweaked the colors a lot. Especially making the grass notable darker, which makes the terrain feel less off. But also less blue trees, paler fog, darker skybox, brighter sunlight, plus some color grading tweaks. Attached before/after images.
Mountain flight at 80m/s (290 km/h) I got shared CPU/GPU code working for the terrain generation, so early layers can spot sample heights for POI and path generation on CPU, while the later landscape layer can calculate heights on GPU at different LODs. #procgen
Thanks! Hmm, I do have an inspiration folder full of pictures, but this wasn't particularly inspired by any specific one, and doesn't quite look like any of them. Here's two with a bit similar features.
Here's an aerial view showing the terrain shape more clearly.
I've been looking forward to Gecko Gods by @inresin.bsky.social for a long time, and this launch trailer is breathtaking! It's available now on Steam: store.steampowered.com/app/1290760/...
I'm repurposing my 'Eye of the Temple' Discord server to be about all my games (like my current game in development, The Big Forest), my YouTube videos and side projects, and general procgen and gamedev discussion. It's here if you'd like to join: discord.gg/yGN7bDQ
I know I've been talking about this for over six months now, but I swear I'm working towards releasing the source 😅 - along with an explainer video and a blog post.
I learned of a neat CSS trick to discourage line breaks in specified spans of text, while still allowing them as a last resort. Just set the spans to 'display: inline-block'. Notice the text in parentheses (middle+right column) break to a new line *before* the contents inside the parentheses do.
Luminescent Growth Stateless shader based on Phacelle Noise. Video compression makes it pale; it looks better in the Shadertoy: www.shadertoy.com/view/tXGcWR #ProcGen #Shaders #Shadertoy
I made a directional noise type I call Phacelle Noise which is pretty fast! Is it new or does something functionally identical already exist? I'm not sure! But I didn't come across one like this yet anyway, so here's my findings: blog.runevision.com/2026/01/phac... #Graphics #Shaders #Shadertoy