Hey everyone,
The last weekly report was released more than a "week" ago, so it's time for another one! This weekly report and Update 18 will actually be released at the almost same time!
Update 18 took significantly longer to publish than you may be used to. I'm working fulltime on this game, so when something takes longer, it means it was more work than usual.
Adding a desert itself is quite simple, it's just a lot of sand! So why did it take multiple weeks?
There actually was no system for real "biomes" in the game before. There were two biomes, those being "hilly" and "flat". Both were sharing the same base world generation, the same blocks, the same lighting and music and sounds.
So for the desert, I actually had to add a nice system for real "biomes" that can be generated completely independently from each other, have different music, different environmental sounds (you don't want to hear birds in the desert), and also different lighting. They should really feel like different parts of a big world, not just like areas with different blocks.
The majority of the work was the whole code for "transitioning" the biomes smoothly while taking into consideration their height. The world in the game has a height of 800 blocks, which is a lot more than other voxel games, so if you have to transition between a very tall mountain in the regular biome and a quite flat desert, that's something that requires some good algorithms.
It's easy to do in a bad way, but it's hard to do in a good way that's efficient, works well, and is future-proof even if hundreds of new biomes are added. So getting it done like that took a while, but I consider it a great success now :)
Much of the time between the last weekly report and this one was actually spent on optimizing the biome related code, to make sure it's as great as it should be. It did already "work" 2 weeks ago, but it slowed the world gen down quite a bit, so I made sure to optimize it a lot these past 2 weeks.
It is very easy to add new biomes now, and it would even be quite easy to allow external plugins (written by anyone out there) to generate new biomes. If there's anyone interested in that, feel free to contact me!
Apart from just adding the biome system, I also optimized the world generation itself a lot recently, which also took some time to do right, but it too worked out great in the end. It's so much quicker now, that it was fully worth it! If you compare the world gen speed of Update 17 and Update 18, you will notice a very significant improvement, even though Update 18 added all the biome related code that made world gen way more complex.
Perhaps even more importantly, I finally found a very significant bug that caused a lot of issues on CPUs with 8 or fewer threads. This bug was in the game since (most likely) the beginning, and I was never able to actually reproduce it until I actually disabled a few of the cores of my CPU so that it performed like an 8 Core CPU. I then finally saw those issues myself and was able to fix them.
Fixing that bug makes the game feel so much better on such CPUs! No more wrong LODs, missing chunks, or other weird issues with the world. It works perfectly now! Let me know what you think!
There were 14 different beta versions of the game released in the last few weeks, available for the beta testers in the official cyubeVR discord. It's very nice to have the beta testers quickly give feedback and test all new features!
Just to show you how the development actually progressed, I'll actually paste all the beta patch notes for Update 18 on this post so that everyone who isn't in our discord can see how things were added and optimized. It might be an interesting read!
------------------------------------------------
Beta 18.0 is live! - Added Desert Biome! - There is a lot of sand in the desert! The desert biome is not yet "done" in this beta, this beta is meant so that I can get feedback already on the major things while I get some more minor things finished. I'd say this is not yet meant to be shown publicly in streams/videos etc, this is for you being able to test it and give me feedback. Most importantly, I want feedback on the biome transitions (does it work nicely? Does it look good?) and on the size of the biomes (should biomes be smaller/bigger?). And also on graphics in the desert. What's still missing? - Make sure that the player never spawns in the desert when starting a new world - You can't yet destroy any Cactus or desert grass, and the desert grass actually disappears if you get close to it - Currently there are still those very high up birds flying in the desert, I'll remove those so that they only exist in the normal biome Do not use this beta with any of your real worlds yet! If you find anything being wrong with world generation of biome transitions and I'd fix that, any world that already generated a desert before might get very ugly transitions from that, so only test this in new worlds for now This means, if you have used the beta branch before for regular playing, move to the default branch now.
Beta 18.1 is live! - The high up flying birds no longer spawn in deserts now - It's impossible for the player to spawn in a desert now when starting a new world - Fixed dynamic time of day, was accidentally disabled in 18.0 - Made desert grass more grouped and overall less grass, also less cacti - Desert grass is a bit darker now
Beta 18.2 is live! - Fixed wrong biome music playing in the loading screen sometimes (I hope) - Fixed desert biome music not being affected by music volume slider in settings
Beta 18.3 is live! - Fixed crash happening when trying to load old worlds - There is stone below sand now in the desert (regular stone for now)
Beta 18.4 is live! - Fixed wrong music playing when loading into desert biome - 8K screenshot will now always take 2 screenshots with 2 different bloom settings, one high bloom one and one medium bloom one. You can easily pick the better looking one then. The medium bloom one is not overexposed in the desert. - Desert grass is no longer disappearing when you get close to it - Fixed small cactus mesh, was always floating above ground before - Made cacti and desert grass be correctly affected by torch light
Beta 18.5 is live! - Added sounds to desert. Primarily wind sounds. Please test and give me feedback on the loudness of those sounds, is it good or too loud or too quiet?
Beta 18.6 is live! - Significantly improved speed of world generation. The biome transition calculation made world generation slower, but I'm quite sure that its faster now with the biome stuff than before without any of the biome stuff. The world generation should also be significantly lighter on the RAM now, potentially causing less issues with slow RAM. - As part of the improved speed of world generation, ore spawning was completely redone, so ore distribution is different now, hopefully not too different from before. It should look same, but the probabilities for ores are definitely not exactly same as before. If it feels same, that would be good! Take a look at #general to see stats about the current ore distribution - Fixed bug that you could fall through world at bottom in regular biome (bug introduced with beta 18.0) - Fixed desert being more likely than regular biome. Very evil bug. This fix causes deserts to be smaller now than before, so if they are too small now I will probably have to increase overall biome size in the next beta. Please tell me what you think about the size of deserts now! Obviously, test this with newly generated worlds, previous generated deserts will not be affected.
Beta 18.7 is live! - Made part of the biome transition calculation 20 times faster (makes use of AVX now)! Really nice improvement, makes whole biome transition way faster to calculate - Continued to improve performance of ore generation, made that ~5 times faster compared to the last beta where it already was improved. This means ore spawning looks again a bit differently, but the same % values as in the last beta still apply.
Beta 18.8 is live! - Increased overall biome size by 25% and changed biome distribution to 33% desert and 66% regular biome
Beta 18.9 is live! - Fixed crash reported by @Kroy related to destroying many blocks at once - Added "chunk reload" function. If you hold both the "hand" buttons on both touchpads and the right grip button for 2 seconds, all chunks around you are unloaded and reloaded again. This should help whenever you see any issue with wrong LODs being loaded, missing chunks or similar things. You no longer need to go back to the main menu then and can use this function instead.
Beta 18.10 is live! - Improve handling of environment sounds. Some sounds were spawned multiple times before, which isn't good. Tried to fix any potential causes for wrong sounds playing (desert sounds in regular biome, or other way). Desert sounds are in general a bit louder now.
Beta 18.11 is live! - You no longer have to keep the trigger pressed for grabbing a tool! You can grab a tool as usual, but if you release the trigger now the tool will still stay attached to your hand. Only if you press and release the trigger button a second time, the tool will actually be released from your hand. It seems most people prefer not having the fingers hurt after holding a tool for a while, so I guess everyone is happy with this and can enjoy dual wielding even more
Beta 18.12 is live! - Fixed very evil bug that caused issues like wrong LODs being visible, chunks not being loaded at all, teleport not working and other similar issues. This was due to the unload of chunks not being completely run on CPUs with less than 10 threads. For more details, take a look at the discussion in #bug-reports and #beta-build-discussion. This bug was in the game for probably forever, so its very nice to finally have fixed this! The game should run way better now if you have a CPU with <10 threads, you should not see any world loading issues any more.
Beta 18.13 is live! - Fixed multiple bugs with tree saving/loading, it could still happen before that you cut a tree that would reappear again after you exit and load the world again. If you cut more than 25 trees at once, the game also would have probably crashed, no one ever tried that it seems :D - Cacti are now destructible with an axe. You don't get anything from them, apart from more free place to build with, since the cactus no longer exists after its gone. - Reduced smooth loco speed from 9 km/h to 7.2 km/h. It's possible now to press both menu buttons at the same time for getting twice the smooth loco speed, so both buttons at once with controllers pointed in the same direction will mean you walk with a speed of 14.4 km/h (9 mph). Average human jogging speed is 13.3 km/h for man and 10.5 km/h for woman, so you are faster than that with smooth loco now. I hope this makes everyone happy who wanted to see faster smooth loco speed!
Beta 18.14 is live! - The desert grass is now destructible. Hit it a few times with any tool and it will disappear. Axe is the quickest tool for that. - Made the teleport distance be reduced when smooth loco movement is active, since it should not be possible to double moving speed by using both teleport and smooth loco at the same time With both cacti and desert grass now being destructible, the desert is complete I think and can be released in the stable version of the game, unless you find anything that isn't yet good in this and the last beta! Let me know!
So, in a few minutes, Update 18 will be released! I hope you're as excited as I am! :)
Cheers!