Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

thomastc | frozenfractal

@thomastc@mastodon.gamedev.place
mastodon 4.7.3
  • Open on mastodon.gamedev.place

Making games under the name Frozen Fractal.

Currently working on Around The World (working title), a roguelite game about navigation, exploration and discovery in the Age of Sail. The header picture shows a preview.

100% GenAI and LLM free.

Making games + not a dick = insta-follow.

I almost exclusively toot in English but may reply in Dutch and broken German as well.

598 Followers
804 Following
37 Posts
Joined January 24, 2023
Website:
https://frozenfractal.com
Portfolio:
https://frozenfractal.com/games
Devblog:
https://frozenfractal.com/blog
Pronouns:
he/him, they/them
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 2mo ago
Replying to
But! Once I remembered to normalize my basis vectors, good stuff started to happen. With a bit of tone mapping and glow, this could be nice.
11
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 6mo ago

I finally got round to writing that blog post y'all were badgering me about! Finally revealing how those waves are made 🌊

https://frozenfractal.com/blog/2026/3/27/around-the-world-30-making-better-waves/

#GameDev #IndieDev #IndieGame #GodotEngine #Godot #ProceduralGeneration #ProcGen

Around The World, Part 30: Making better waves
frozenfractal.com

Around The World, Part 30: Making better waves

I previously blogged about how I’m modelling and rendering water waves in the game, but that was in the previous incarnation on a sphere. I’ve finally ported that over to the current version, and made some considerable improvements along the way. People told me it looks good, and I tend to agree. Let’s dive in!

32
1
11
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 1mo ago

#GoogleDocs added a new "feature": the text cursor now keeps blinking even while you move it by keyboard (e.g. arrow keys). That means, half of the time you cannot see where you currently are. Grrr.

mastodon.gamedev.place

Gamedev Mastodon

1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 2mo ago
A question for #Graphics programmers out there! I'm rendering clouds using two quad meshes used as height maps, one for the top and a flipped one for the bottom. Height is sampled and applied in the vertex shader. Wherever the height becomes negative, the fragment shader discards the pixel. The problem is that this gives a seam of 2 pixels wide between the two meshes. I suspect it's because Godot uses dFdx/dFdy and those don't work when a neighbouring fragment is discarded. Any ideas?
3
0
2
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 4mo ago
Replying to
@vicgrinberg@mastodon.social @bkahn@beige.party Interesting! So how do we know that these black holes were caused by single supermassive stars rather than having grown over time?
3
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 3mo ago
Replying to
@evansky_arts@mastodon.social Lovely! The lighting is much better in your painting than in the original.
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 6mo ago
Replying to
@runevision Thank you, this made my day! 🤩 I didn't realise that the basic idea was so simple, with at best half-baked explanations of "gavoronoise" out there. You explained it clearly and succinctly. In part 3 of the video, it seems like you're still using the absolute height value to decide whether something is a minimum or a maximum. Could the *second* derivative be used for that instead? I think it might work for stacked fading too.
3
3
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@lisyarus@mastodon.gamedev.place For modding, have you considered Java? It may sound crazy but does meet most of your requirements. The bytecode is platform independent and performance is decent. Sandboxing has been a feature since the applet days. Direct memory access (at least arrays of primitives) is a thing. C interop also exists, though I'm not sure how much overhead it has. As a bonus, modders could use other JVM languages like Kotlin and Scala. I'm not sure how big an embedded JVM implementation is though.
2
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@lisyarus@mastodon.gamedev.place Related talk by Rose Peck a.k.a. sixfold-origami at last year's RustWeek (not specific to Rust): https://www.youtube.com/watch?v=JY4nYnLrnt8 Probably no new insights there for you, but maybe for others in this thread, and very entertaining in any case.

Floating Point Hashing - Rose Peck

2
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 4mo ago
Replying to
@eniko@mastodon.gamedev.place Happy birthday! Have a very fancy coffee!
1
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@runevision@mastodon.gamedev.place Huge improvement!
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@lisyarus@mastodon.gamedev.place Why particles and not just advect a density field? Since that is what splatting will eventually produce anyway?
1
2
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 6mo ago
Replying to
@anthropy My wife is still using her 2008-ish ThinkPad, onto which we installed LUbuntu when its Windows version became "obsolete". I think it lacks video encoding hardware because Zoom and friends are not working well, but for basic use it's still doing its job. Oh and we installed a second hand SSD at some point. Not sure if it would still be usable on a spinning rust hard drive, with software being the size it is these days.
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 13mo ago
Replying to
@catraxx So... wtf is happening here? Covering up the arrows does not prevent the effect, so the gradients must be responsible somehow.
3
5
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago

@aeva Yeah, the five-page article I saw the other day about "How to scroll to the end in less" lacked such an image to warn me. I had to rely on the heading "Why scroll to the end in less" to warn me.

(Context: the End key used to do this, and it was changed briefly, and I thought I was going mad. The change has been reverted.)

1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@su_liam Pure procedural. The spikes are an artifact of the diamond-square algorithm used at the local scale. I am still pondering ways to soften them, because they are cool occasionally but way too common right now.
1
3
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@tartley Thanks! The waves look even better in motion (see some of my recent posts) but this is a still image because I have some crazy camera jitter bug at the moment 😛
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@f03n1x @lisyarus Tbh, although Around The World would be a reasonably good name for the final game, I do consider it a working title. Haven't done much research whether it's already taken, might cause confusion etc.
1
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 8mo ago
Replying to
@jonikorpi Thanks, filing that away for potential future web projects.
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 17mo ago
Replying to
@eniko@peoplemaking.games @eniko@mastodon.gamedev.place Good to know, thanks. And happy birthday!
2
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 33mo ago
Replying to
@danilo@hachyderm.io The faster the vehicle, the slower the manufacturer. E-bikes are booming, but I expect NFTs in airplanes in 20 years or so.
1
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@ric@mastodon.qweb.co.uk KitKat was peak Android. The one where the screen went like an old CRT TV when you turned it off. It was so satisfying.
0
2
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 17mo ago
Replying to
@eniko@peoplemaking.games @eniko@mastodon.gamedev.place Just curious, if you're willing to share, what's your reason for the migration?
0
2
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 13mo ago
Replying to
@skyglowberlin@fediscience.org @brembs@mastodon.social Oof, that needs a better URL that doesn't say "Europe" four times.
0
2
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
All this screen has done so far is crash on me. I didn't even get to the point of seeing the new features. And now I can't get the screen back anymore. Also the square button (app switching) randomly stopped working and a reboot only briefly fixed it. Great new features, indeed. Vibecoded rubbish, more like.
0
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 2w ago

#Gmail made the yellow stars in the web UI blue to give them better contrast: https://x.com/gmail/status/2100358267004428541

Now basically everything is shades of grey and blue, and the stars no longer stand out as important, so I want out.

In Settings I turn it back to using yellow stars only, and then toggled the blue stars to yellow. But only those changes stick that I made right after changing the setting; changes made after reloading the page seem to work but don't stick, so I now have a mix of yellow and blue…

x.com
0
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@su_liam In particular, this post: https://frozenfractal.com/blog/2025/6/23/around-the-world-24-local-terrain/
Around The World, Part 24: Local terrain
frozenfractal.com

Around The World, Part 24: Local terrain

Now that we have a plausible looking height map for the entire world, it’s time to zoom in and see what the terrain looks like up close.

0
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 13mo ago
Replying to
@infobeautiful@vis.social There is a joke about laser printers and laser pointers here somewhere, but I'm too tired to find it...
0
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@Natasha_Jay If Death talks in allcaps instead of smallcaps, does that mean he's raising his voice?
0
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@jef If you want it to! It's all procedural, but who knows where the RNG gets its inspiration?
0
0
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 4mo ago
Replying to
@marlies@tacobelllabs.net Maar dus toch nog mooi vóór kernfusie!
0
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 7mo ago
Replying to
@stranded_output@indieweb.social I use a checklist in Obsidian, one file per milestone.
0
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 5mo ago
Replying to
@sol_hsa@mastodon.gamedev.place I wonder if ✨maths✨ (algebra in particular) rather than brute force can answer these questions. I remember similar puzzles being proven impossible by calculating a parity bit from the puzzle state, in such a way that the value remained constant when a valid move is made. The converse might be harder. Also, if you can prove that a particular state is reachable from any start state, and moves are reversible, then any state is reachable from any other.
0
1
0
0
Open post
thomastc | frozenfractal @thomastc@mastodon.gamedev.place
· 4mo ago
Replying to
@electron_greg@oldbytes.space Ohhh that voice brings back memories. I used to tweak the spelling and punctuation so it would pronounce things right.
0
1
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 02:13:03 UTC