Beta v1.2.0.7 & working towards a live patch
[p]Hello fellow gamers, Kyle here.[/p][p][/p][p]Before we get into adding the full builder capabilities to the beta branch and a few extras that are going to make it that much more interesting in-game, I wanted to address several performance issues that have plagued the game for quite some time. Specifically, world generation.[/p][p][/p][p]As you run around in Solace Crafting the entire world, from the grass to the mountains is 100% generated in runtime. There is no level until the game is turned on and running. The game also of course has to handle monster AI, player animations, weather, audio, rendering, lighting, post-processing, there are all kinds of systems running at once. And you only get 0.008 seconds per frame to take care of absolutely everything the game needs to do if you want to run it at 120fps. Pretty tall order honestly.[/p][p][/p][p]Thankfully the beta branch does run over 120fps on my good ol' GeForce 1080, but it has had, since the beginning, some very sharp spikes when new terrains come on. Each terrain is 1,048,576 square meters! That's a lotta grass! But I was finally able to make some significant improvements to the world generation performance after many many attempts throughout the years.[/p][p][/p][p]
[/p][p][/p][p]The above graphic is not an accurate representation of the actual speed my computer runs it at as this is running what is called "deep profiling" with a Unity profiler attached to a special developer version of the game used to track down performance issues. In short, it slows the game down a LOT, but it help you spot the spikes. As you can see, there is a very noticeable difference in the severity of the spikes compared to how they were just last week.[/p][p][/p][p]There is still more to be done in this area though. I attacked the big 3 of 5-6 problems and they have made a very promising impact on the performance, but I will continue to work on the few remaining major culprits. In time we will of course focus on more wide-spread improvements that aren't quite the best use of our time just yet.[/p][p][/p][p]Having said all that, it's long time we fix some of these things on the live branch as well. As most of you know my firstborn arrived in November of last year, and it was kind of a whirlwind for a while there. I tried to make a live patch in December by walking months worth of version control backwards to before we started working on the new beta content, but it ended up breaking a variety of systems and I had to roll back the patch. So today I made a completely separate copy of the project specifically for the purpose of working on live patches as the live and beta branches are now too far apart to try and travel back and forth between them within a single project. I will first off implement some of these world generation performance upgrades into the live branch before starting to spend some time each week addressing bug reports related to the live branch. This first patch, as it is again such a long walk back from where the project currently is, will likely be posted on a test branch for volunteers to try out and make sure that there isn't some grave error that I've overlooked, but if all goes well we'll push it out to the public![/p][p][/p][h3]What You Can Do To Help[/h3][p]If you wanna push us up, either one of these will support us more than you know[/p]
- Improved flora generation performance
- Changed global entity spawning to only spawn near the player
- Added "Bushcraft" profession to crafting and moved most unrefined resource based recipes to Bushcraft
- Removed the looping wind audio tracks that were overpowering the ambient soundtracks
- Fixed PoI terrain flattening
- Changed grass to scatter method
- Fixed grass density/range settings
- Fixed /targetframerate console command[/p][p]v 1.2.0.6[/p][p]- Fixed new stones in the plains not being harvestable
- Added a custom animation for lumbering that does not move the character forward[/p][p]v 1.2.0.5[/p][p]- Stalks are now triggers instead of colliders meaning they can be walked through
- Added a custom animation for reaping that does not move the character forward
- Reduced the size of the sledgehammer
- Fixed mountain stamps not auto-upscaling their heightmaps to the new increased terrain resolution
- Altered height fog and distance fog settings
- Fixed swamp random extra clutter positioning itself wrong causing objects to float and go underground
- Fixed plains bushes spawning in tree spawn positions sometimes
- Separated harvestable from non-harvestable trees in world generation
- Added the ability to specify tree collider size on a per-tree basis
- Added the ability to specify a tree collider offset on a per-tree basis
- Reduced maximum noise based ocean depth from 80m to 50m
- Added the ability to rotate spawned objects on all 3 axis
- Added the ability to specify random scales to non-tree objects
- Changed rock spawn types in plains biome
- Added randomly generated clusters of rocks to plains biome[/p][p][/p]
- [p]Keep up the kind words on our Steam posts and the Likes[/p]
- [p]You can get and support the builder here: https://bigkittygames.itch.io/solace-builder[/p]
- [p]Drop by our IndieDB page to help make it visible: https://www.indiedb.com/games/solace-crafting-rebuild[/p]
- [p]Support on our Ko-fi page for our developer Newbery here: https://ko-fi.com/bigkittygames[/p]
- [p]And of course, join us in Discord: https://discord.gg/solacecrafting[/p]
- Improved flora generation performance
- Changed global entity spawning to only spawn near the player
- Added "Bushcraft" profession to crafting and moved most unrefined resource based recipes to Bushcraft
- Removed the looping wind audio tracks that were overpowering the ambient soundtracks
- Fixed PoI terrain flattening
- Changed grass to scatter method
- Fixed grass density/range settings
- Fixed /targetframerate console command[/p][p]v 1.2.0.6[/p][p]- Fixed new stones in the plains not being harvestable
- Added a custom animation for lumbering that does not move the character forward[/p][p]v 1.2.0.5[/p][p]- Stalks are now triggers instead of colliders meaning they can be walked through
- Added a custom animation for reaping that does not move the character forward
- Reduced the size of the sledgehammer
- Fixed mountain stamps not auto-upscaling their heightmaps to the new increased terrain resolution
- Altered height fog and distance fog settings
- Fixed swamp random extra clutter positioning itself wrong causing objects to float and go underground
- Fixed plains bushes spawning in tree spawn positions sometimes
- Separated harvestable from non-harvestable trees in world generation
- Added the ability to specify tree collider size on a per-tree basis
- Added the ability to specify a tree collider offset on a per-tree basis
- Reduced maximum noise based ocean depth from 80m to 50m
- Added the ability to rotate spawned objects on all 3 axis
- Added the ability to specify random scales to non-tree objects
- Changed rock spawn types in plains biome
- Added randomly generated clusters of rocks to plains biome[/p][p][/p]