Hey guys! I'll be talking about the progress made lately, and what to expect in the closed testing demo and beyond!
[b][h1]Performance Improvements[/h1][/b]
Significant performance improvements have been made. Here's the highlights:
[b][h2]Chunk Lighting Rework[/h2][/b]
In the past couple weeks I've spent the majority of the time rewriting how chunk lighting works. This has no visual impact on the game, just a large performance one.
There were a couple issues with the previous chunk lighting system. These included:
- Slow performance
- Caves deep underground being lit
To alleviate our performance problems, several improvements to how light is propagated were introduced. The biggest improvement however, has been changing our lighting system from an "on-demand" system, to a more "scheduled" system.
Basically, instead of calculating lighting right when the chunk asks for light, we schedule that task at a later time when the terrain generation system is less busy. This change spreads the workload over a longer time, and in turn alleviating potential lag spikes on lower end hardware.
The other issue is we had caves deep underground being completely lit. This is because in Runeforge we have a vertical render distance and sunlight is calculated from the top blocks in that render distance and travels down until we hit a solid block.
But what if we're deep underground and the top most block is part of a cave? The sunlight will travel down the air blocks in the cave and light the cave.
It's not technically feasible to simulate lighting when you have no information on every block on the Y-axis. So I implemented a simple solution: Check to see if the top chunk is underground, and if we are we do not light it. In our lighting system we have to assume light does not travel down forever, so sunlight cannot travel down a certain limit underground, kind of like how it happens in real life in the deep sea. We just pretend that sunlight slowly fades away into the darkness of the depths...
[img]{STEAM_CLAN_IMAGE}/41441434/75389db2788fd27034a2e62333d4c89333d9e2db.jpg[/img]
[b][h2]Chunk Update Pool[/h2][/b]
In the last development update I talked about how the amount of chunks being generated is limited per frame. This system has expanded further and the chunk generation system will only update a certain amount of chunks per frame. This further spreads out the workload and significantly improves performance. The amount of chunks updating per frame will depend on your computer hardware.
[b][h1]Closed Testing Demo[/h1][/b]
Lots of progress has been made towards releasing a closed testing demo recently. This demo will be a very barebones version of the game that will be available to Patreon supporters.
Initially this demo was going to be released as some sort of tech demo. The only features available would be terrain generation and building/mining. I believe that would be a little bit too early in the development process, and I'll now be including combat, mobs, and character customization.
So you can expect:
- Character customization
- Designing your own weapons
- Combat
- Exploring a procedurally generated world
- Building/mining
[b][h1]Roadmap[/h1][/b]
Here's what you can expect within the next several months of development:
[img]{STEAM_CLAN_IMAGE}/41441434/7314e40e1812e53156f3c5f410ff6f4a0c784036.png[/img]
A few things you may have noticed are on that roadmap that has not been previously confirmed:
- Minibosses
- Trait system
I think running around killing procedurally generated mobs with your personally-designed sword is fun, but I thought running into the occasional miniboss would be a fun challenge.
Secondly, since there's no classes (you design the spells, weapons, armor, & weapon skills so there's no need for premade classes), there's limited customization options for your character compared to other RPGs. So, if you've played games like Project Zomboid or even Deepwoken (a Roblox RPG), you'll be familiar with this system. Basically you'll have trait points, and positive traits will cost a certain amount of points (depending on how good they are). If you want more points, you need to apply negative traits to your character.
I thought it'd be a neat addition that adds another layer of customization and replayability.
[h1][b]What's Next?[/b][/h1]
Over the next couple of weeks I'll be working on improving terrain blending (it's pretty slow at the moment), and fixing bugs. I'm just about done with the major optimizations/cleanups, so I'll be updating the combat mechanics pretty soon.