Hello friends and cyber-family! In this Development Update, we’ll be covering a wide array of progress within the game. This will range from changes to terrain generation, to the addition of the ice giant, Nemesis, and many things in between. *Insert Street Fighter voiceover* “Round 1: Fight!”
Up first we have the transition from 32 bit GPU generation implementation to full 64 bit multithreaded CPU generation for terrain and voxels. This will allow for greater flexibility in generation, as well as improving voxel generation detail, but will result in lower quality terrain, at greater distances, than before. We had to make this transition due to precision issues with 32 bit floats on the GPU. but we are confident that the generation will still be able to keep up with the camera during normal play.
Also on that note, we have added back in voxel terrain generation and optimized it. There is still a lot of work to be done before it is back to the quality of 0.1.6 terrain, but progress is fast! In addition, our new Look-Behind Greedy meshing algorithm has greatly increased meshing speed, which will help a lot during cellular automata physics. "Basically", Greedy meshing of a quad now happens in a single lookup, rather than requiring an iteration of the previous row, which results in noticeably faster mesh generation. For now, we have stripped out voxel lighting, which will significantly increase generation speed, though we intent to add voxel lighting back in, but we would be replacing voxel sunlight with regular shadow-mapped deferred lighting, as well as other dynamic light sources in the game.
We have also added in testing for displacement mapping and normal mapping – both of which give the illusion of 3D to textures, making them seem less flat and boring! There are still some bugs with this, but when it's finished it will make things such as cave systems much more interesting! It may cause a conflict with the pixelated textures, however, so we are experimenting with filtering.
A higher top level API has also been in the works along with developing the modding API a bit. It would ideally abstract away from Direct3D and OpenGL. This will allow us to save development time and expedite the production process!
We have also started working on a tool for artists that shows blocks in different arrangements so that connected textures can be tested. It has much work to be done on it, but when it is finished it will make texture packs much easier to test! Here's an example test for grass.
There has been an addition of the ice giant, Nemesis, and its moons to the Trinity star system (along with some circumbinary asteroids and dwarf planets for the Trinity AB double star).
We have also gotten some math together to calculate the tidal heating of our gas giant moons and compared them to Jupiter’s and Saturn’s moons. This lead us to discover that Hyperion’s inner five moons (Kolasi, Apollo, Gemini, Aldrin, and Darwin) show too extreme tidal heating. For example, Kolasi’s is nearly two million times stronger than one of Jupiter’s moons; Io! To alleviate that, we will lower the orbital eccentricities for those moons a bit to give them more realistic values. Continuing along the lines of being more accurate, we will be refining our method for denoting planets and moons. As opposed to the simple “Planet” or “Moon” classification, we now use more precise terminology such as Gas Giants, Terrestrial Planets, Ice Moons, etc.
There has also been work on a bloom shader effect in order to reproduce a real-world camera’s effect which produces fringes of light extending from the borders of bright areas in an image, which contributes to the illusion of an extremely bright light overwhelming the camera or eye capturing the scene.
Screen space ambient occlusion is also receiving some attention. This is an approximate effect that makes ambient light darker depending on how many objects are preventing light from reaching a given pixel. The current implementation uses a hemispherical, normal-oriented sample kernel; although there has been some discussion within the team about neighbor pixel comparison, which is less realistic, but likely to be more accurate and faster. Right now it's not quite finished, but here's a picture of it anyways!
To finish up, we’ve also been working behind the scenes on the narrative of the Seed of Andromeda story. We won’t give TOO much away on that front, but expect it to be dark; and expect it to challenge your humanity.