Posts

Showing posts from January, 2020

Clouds and Video

Image
Finally, after around 3 months of hacking away late at nights, throwing up my hands in frustration and throwing away the first 3 implementations, I've finally made the volumetric cloud + atmosphere shader that I've dreamt about ever since starting this project. The shader uses raymarching to render a volumetric noise field, and a rayleigh and mie scattering simulation to provide the lighting.   Everything is unified - the atmosphere, clouds and planet lighting - so reddening sun at sunset will light the terrain as well as the clouds, clouds cast shadows on objects flying beneath them, the atmosphere and clouds also render into the ambient cube-maps, meaning they reflect on objects and on water too! Every planet has unique procedurally-generated cloud and atmosphere properties such as particulate density which impacts scattering, climate maps to designate where clouds are and which type.   The clouds themselves have programmable features such as height ranges, water density

2019 Progress Retrospective

Happy 2020! Games take a lot of work, especially ones like Pegwars with the enormous scope of being a universal sandbox.  Although I haven't made any blog posts in quite a while, I have indeed been working hard throughout 2019 on fixing many bugs and implementing various new features. Highlights for the year are : - A beautiful procedural volumetric cloud system, fully integrated into the atmosphere shading - that unfortunately is still way too slow and so has been removed for now.  These clouds just have to go in one day, they add so much to the game and I really must work out (hopefully in 2020) how to make them fast enough to be included for good. - The UI has been rounded out and polished, bringing much of the meta-game into play.   Markets, Shipyards, the player's galactic Empire are now fully represented and playable.   3D Views are incorporated into the UI. - Combat is finally fun, mainly due to the introduction of gimballed lasers.  Prior to this it was just t