Frontier’ish generation

Recently I was screwing around with frontier: elite 2/frontier: first encounters procedural generation and it lead to some interesting results.

I started by reimplementing what JongWare already done 11-12 years ago – whole generation was dissected, so reimplementing it in c# was relatively easy. http://www.jongware.com/galaxy1.html

Original generation via JongWare's own viewer, accurate to FFE

Same sector in unity3d

Next I moved it to shader. Funny thing but Unity CG supports all the bitmasks and bitshifts you can think of.

After that came actually original part – improving on original generation.

Here’s how that go – first thing which i needed to do was throwing out most of the manual interpolation and noiser code and making my own versions of it. With some struggle – that was done.

Original noise distribution, okay for slopes, fails miserably with >=255 brightness at center of the galaxy

My own is in reverse - slopes are a crappier, but tops more position reliant hence they are more distributed.

Additionally high-power parts had an issue with final distribution, and the code itself was producing repetitive results

After adding more noise-power +coordinate reliant shuffling and doing more shuffle steps (just one more to be more specific) – that got fixed.

And finally the whole thing

 

After that, for posterity sake, I made a star field demo which uses this method. You can poke it here

https://smoke-th.itch.io/starfield

With Update 1.1 i added background galactic volume