What changed
26 fixes2 additions3 changes0 removals
- Compatibility
- Maps
- Performance
- Fixes
- UI and audio
- Events
addedThis release brings the Beta another step closer to a full release and as usual its mainly full of bug fixes but I did also add a new performance feature (for good reason). A huge shoutout/thanks to Spike for reporting/helping me debug a bunch of these issues!
addedWorld Auto UpdaterOne thing I want to point out is that I've added an auto updater for bringing existing worlds into the beta. I've needed to do this because cave generation has changed which means worlds wont know how to mix old chunks with new ones properly. What I mean by this is that say in your old world it generated a cave and you hit a block on a chunk with that cave. The data for that chunk has now saved. For the new cave generation formulas, there might not be a cave in the same place. The problem now is that you have say half a cave saved from the old world but in the new world, no cave needs to generate. What the auto updater does is detect these scenarios and fill in the gaps, which means you are likely to now see perfectly straight walls as the two systems clash. This is only the case for existing worlds, new worlds should generate smoothly. I was hoping for this build, whilst still being on the beta branch, to let you load existing worlds but I'm still not confident enough in its stability and I've not done enough testing on it yet.
changedTreesI said I would be changing gears from performance and focusing on stability, which is what I've tried to do but one of the last big open issues for me to look into was to do with a GPU memory corruption. Its something I noticed earlier with these performance updates is that occasionally things would utterly corrupt the rendering of the graphics card but I also spotted that as I generally was fixing other issues that the frequency was reducing to the point of this issue being very rare. The last consistent scenario I knew about was rendering an entire world filled with jungles, which I figured made sense since its the most taxing biome to render.
changedTreesWhat I discovered is the trees are the cause of this bug but it was corrupting in such a bizzare way that I couldn't begin to explain why! All I knew is that trees where the last thing that still used my old tools for instancing to render and I could see how some of its techniques could potentially corrupt memory.
fixedTreesSo I had to go back on my word a little and remade how trees render to hook into my new systems. The reason I avoided this before is because trees needed systems for something called LODs (Level Of Detail) which is a standard system for rendering different versions of a mesh depending on how far away it is from the camera. When up close, you render the highest detail mesh, at a distance, you render a really low detail version because you can't see the details at that distance and its quicker to render. Its pretty standard stuff however when paired with instancing you need to do these things manually and can't use Unitys built in tools (well you technically can, but not the way I'm doing it). Its why this update took a little longer is that I needed to make new systems for trees as well as new systems for them to be able to handle LODs in order to render in a sensible amount of time. On the upside, that corruption seems to be fixed and trees are rendering faster than before.
fixedBugsFixed Cicas not rendering in jungles
Aiyana changes
addedThis release brings the Beta another step closer to a full release and as usual its mainly full of bug fixes but I did also add a new performance feature (for good reason). A huge shoutout/thanks to Spike for reporting/helping me debug a bunch of these issues!
addedOne thing I want to point out is that I've added an auto updater for bringing existing worlds into the beta. I've needed to do this because cave generation has changed which means worlds wont know how to mix old chunks with new ones properly. What I mean by this is that say in your old world it generated a cave and you hit a block on a chunk with that cave. The data for that chunk has now saved. For the new cave generation formulas, there might not be a cave in the same place. The problem now is that you have say half a cave saved from the old world but in the new world, no cave needs to generate. What the auto updater does is detect these scenarios and fill in the gaps, which means you are likely to now see perfectly straight walls as the two systems clash. This is only the case for existing worlds, new worlds should generate smoothly. I was hoping for this build, whilst still being on the beta branch, to let you load existing worlds but I'm still not confident enough in its stability and I've not done enough testing on it yet.
changedI said I would be changing gears from performance and focusing on stability, which is what I've tried to do but one of the last big open issues for me to look into was to do with a GPU memory corruption. Its something I noticed earlier with these performance updates is that occasionally things would utterly corrupt the rendering of the graphics card but I also spotted that as I generally was fixing other issues that the frequency was reducing to the point of this issue being very rare. The last consistent scenario I knew about was rendering an entire world filled with jungles, which I figured made sense since its the most taxing biome to render.
changedWhat I discovered is the trees are the cause of this bug but it was corrupting in such a bizzare way that I couldn't begin to explain why! All I knew is that trees where the last thing that still used my old tools for instancing to render and I could see how some of its techniques could potentially corrupt memory.
fixedSo I had to go back on my word a little and remade how trees render to hook into my new systems. The reason I avoided this before is because trees needed systems for something called LODs (Level Of Detail) which is a standard system for rendering different versions of a mesh depending on how far away it is from the camera. When up close, you render the highest detail mesh, at a distance, you render a really low detail version because you can't see the details at that distance and its quicker to render. Its pretty standard stuff however when paired with instancing you need to do these things manually and can't use Unitys built in tools (well you technically can, but not the way I'm doing it). Its why this update took a little longer is that I needed to make new systems for trees as well as new systems for them to be able to handle LODs in order to render in a sensible amount of time. On the upside, that corruption seems to be fixed and trees are rendering faster than before.
This release brings the Beta another step closer to a full release and as usual its mainly full of bug fixes but I did also add a new performance feature (for good reason). A huge shoutout/thanks to Spike for reporting/helping me debug a bunch of these issues!
World Auto Updater
One thing I want to point out is that I've added an auto updater for bringing existing worlds into the beta. I've needed to do this because cave generation has changed which means worlds wont know how to mix old chunks with new ones properly. What I mean by this is that say in your old world it generated a cave and you hit a block on a chunk with that cave. The data for that chunk has now saved. For the new cave generation formulas, there might not be a cave in the same place. The problem now is that you have say half a cave saved from the old world but in the new world, no cave needs to generate. What the auto updater does is detect these scenarios and fill in the gaps, which means you are likely to now see perfectly straight walls as the two systems clash. This is only the case for existing worlds, new worlds should generate smoothly. I was hoping for this build, whilst still being on the beta branch, to let you load existing worlds but I'm still not confident enough in its stability and I've not done enough testing on it yet.
Trees
I said I would be changing gears from performance and focusing on stability, which is what I've tried to do but one of the last big open issues for me to look into was to do with a GPU memory corruption. Its something I noticed earlier with these performance updates is that occasionally things would utterly corrupt the rendering of the graphics card but I also spotted that as I generally was fixing other issues that the frequency was reducing to the point of this issue being very rare. The last consistent scenario I knew about was rendering an entire world filled with jungles, which I figured made sense since its the most taxing biome to render.
What I discovered is the trees are the cause of this bug but it was corrupting in such a bizzare way that I couldn't begin to explain why! All I knew is that trees where the last thing that still used my old tools for instancing to render and I could see how some of its techniques could potentially corrupt memory.
So I had to go back on my word a little and remade how trees render to hook into my new systems. The reason I avoided this before is because trees needed systems for something called LODs (Level Of Detail) which is a standard system for rendering different versions of a mesh depending on how far away it is from the camera. When up close, you render the highest detail mesh, at a distance, you render a really low detail version because you can't see the details at that distance and its quicker to render. Its pretty standard stuff however when paired with instancing you need to do these things manually and can't use Unitys built in tools (well you technically can, but not the way I'm doing it). Its why this update took a little longer is that I needed to make new systems for trees as well as new systems for them to be able to handle LODs in order to render in a sensible amount of time. On the upside, that corruption seems to be fixed and trees are rendering faster than before.
Bugs
Fixed Cicas not rendering in jungles
Fixed vines sometimes rendering white
Fixed issues crafting chandeliers
Fixed palm chandeliers not existing at all!
Fixed reeds playing a negative feedback audio when being placed
Fixed various decorative blocks such as reeds and seashells from being able to be placed without reducing inventory count
Fixed seashells always glowing
Fixed underwater portals not being selectable and showing their control hint
Fixed the feedback form not displaying its info in the right positions
Fixed the Creating Backup text rendering slightly off screen
Fixed wood and stone chests always looking dark in your hand
Fixed the Steam achievement for challenges registering progress in a strange way and resetting each time you attempt a challenge. If you start and end a challenge it will submit your highest wave from now on
Fixed culling not behaving correctly when the camera moves for things like opening crafting benches
Fixed being able to see through the world whilst mining
Fixed being able to see through the world when structure preview meshes are in use
Fixed energy blast particles not rendering properly when rendering near water
Renamed 'Snowy Tree' to 'Snowy Oak'
Fixed some structure builder screens not showing properly
Updated the Tech UI so the 'Decorative' title feels less lost
Fixed fish looking Really bright in hand
Fixed animals sometimes getting stuck at the bottom of the world whilst loading
Fixed water logic for tilled dirt not playing nicely with the new data upgrade logic
Fixed backups not always ensuring the files are up to date before they are being made
Fixed issues with backups not saving their files correctly when using a bed
Fixed clouds being culled when using Furnaces etc at odd angles (for real this time!)
Fixed not being able to place things like pots anywhere ontop of large blocks like tables (would always snap to one place previously, or not place at all)
Fixed chunks sometimes not rendering at all until you hit them