2.8
Alright let me be real here.
It's been a long 4 months since the last update
And sorry for that.
There were a couple(?) beta build updates but like
until now there were a lot of weird bugs and optimizations that were in the works.
And now the weird bugs are all gone for new optimizations.
Among those updates:
Anyway there's not a lot to report these optimizations took a long time because writing complex algorithms to manage vertex buffers in GML is something not a lot of people do so it's dumb and arcane and you have to be able to sit there staring at an alarm that has 755 lines in it and you're still not done even after you get 4 sides done but you don't want to have to remember the neighbor vector math for all the stupid faces but you suck it up and get it done because you saw a comment from the day you wrote the inside block face culling for the particle maker and you see it says "be super happy now that you know greedy meshing. Then don't fix the voxels for 3 months. ;0;" and you don't know how or why but you realize that you wrote that comment 3 months ago and it's time to start doing the greedy meshing and then it doesn't work 30 or 40x but eventually it's generating big colored panels instead of tons of smaller squares that are lame and we don't want.
Anyway next is greedy meshing the blocks in the level but I am really not excited for that.
You have to understand that the particle makers are just white textured colored planes and that the ability to greedy mesh them once in the course of the first time its loaded then caching that data is what makes it possible to greedy mesh.
For the rest of the blocks there's a lot more to consider.
For example. when a block is placed and destroyed. How does it figure out how to update the mesh. It needs to delete the face, then add every block associated with that face back to the queue and update the function to take into account the VB ticket for each face of each block.
And then it needs to work with tiling on an atlus which I'm sure is possible but it may require updating the shader, which is really tough to navigate in GML, but whatever it's worth doing to make things faster for this game no one plays.
The billboard and planes batching also took a lot of bugfixes and shader updates. I had to ensure that they would still render normally with shadows off. And there were a lot of instances where I needed to add extra logic to ensure sprites would update when the object was moved (by deleting the mesh and remaking it whenever a variable affecting it is updated).
Anyway none of this matters to you, HopDodger. All you gotta do is start making some levels. You know you want to, don't you?
I want you to. I want to play some more levels in this game. this game is actually awesome and I love it. Thanks good night.
It's been a long 4 months since the last update
And sorry for that.
There were a couple(?) beta build updates but like
until now there were a lot of weird bugs and optimizations that were in the works.
And now the weird bugs are all gone for new optimizations.
Among those updates:
- Static sprites are batched now to reduce vertex batch breaks.
This is something that was a lot harder to do than adding a new feature, but instead of doing that I reduced the frame lag on 9999 instances of coins from 12fps to 60.
So that's exciting to me for no reason since I will never make a level where there are 9999 coins. - Greedy meshing on the level previews.
the level models all get generated in game time and can range from 10-6000Kb
and this way of meshing blocks with a shared face in growing segments reduces the vertex counts by around 50%. This is all nerd stuff so don't worry about it guys. - Wave form visualizer for the MicNotes
Just something to make recording feel a little more reactive. It's not the exact right way to show a waveform, but it definitely reacts to sound coming through the mic. - Goblins are more optimal now
This was because of a weird thing where someone had hundreds of goblins in the floor. as a benefit they are faster now. - Level Updates
I changed the backgrounds on some of the story levels. IDK something to look at while we work on the next story updates. - the spider gets stronger
Anyway there's not a lot to report these optimizations took a long time because writing complex algorithms to manage vertex buffers in GML is something not a lot of people do so it's dumb and arcane and you have to be able to sit there staring at an alarm that has 755 lines in it and you're still not done even after you get 4 sides done but you don't want to have to remember the neighbor vector math for all the stupid faces but you suck it up and get it done because you saw a comment from the day you wrote the inside block face culling for the particle maker and you see it says "be super happy now that you know greedy meshing. Then don't fix the voxels for 3 months. ;0;" and you don't know how or why but you realize that you wrote that comment 3 months ago and it's time to start doing the greedy meshing and then it doesn't work 30 or 40x but eventually it's generating big colored panels instead of tons of smaller squares that are lame and we don't want.
Anyway next is greedy meshing the blocks in the level but I am really not excited for that.
You have to understand that the particle makers are just white textured colored planes and that the ability to greedy mesh them once in the course of the first time its loaded then caching that data is what makes it possible to greedy mesh.
For the rest of the blocks there's a lot more to consider.
For example. when a block is placed and destroyed. How does it figure out how to update the mesh. It needs to delete the face, then add every block associated with that face back to the queue and update the function to take into account the VB ticket for each face of each block.
And then it needs to work with tiling on an atlus which I'm sure is possible but it may require updating the shader, which is really tough to navigate in GML, but whatever it's worth doing to make things faster for this game no one plays.
The billboard and planes batching also took a lot of bugfixes and shader updates. I had to ensure that they would still render normally with shadows off. And there were a lot of instances where I needed to add extra logic to ensure sprites would update when the object was moved (by deleting the mesh and remaking it whenever a variable affecting it is updated).
Anyway none of this matters to you, HopDodger. All you gotta do is start making some levels. You know you want to, don't you?
I want you to. I want to play some more levels in this game. this game is actually awesome and I love it. Thanks good night.