For the past month Anton and I have been working primarily on polish, bug fixes and optimization. We both assigned ourselves/each-other tasks to get done over the month and got to work!
Polish
Particles
First up on my list for polish was adding the code for footstep and landing particles. I made Dougald burst particles as he walks and when he lands on the ground. He even bursts a different particle type based on the type of ground he's on.
Bubbles
After that I created the bubbles you can see at the top of this post. These get created for most motion under water as well as to visualize Dougald's breath. Rather than just creating bubbles of random sizes, they are dynamic. Smaller bubbles actually join into bigger ones and their speeds change based on size. Not a required feature by any means but I appreciate attention to detail like that and I think it's a nice touch.
Foreground rain
Anton suggested ages ago that we add some extra rain to the foreground to add some extra depth to the scene. I went ahead and rigged that up using a simple particle system and he sure was right!
Not only did it add more depth to the screen, but it allowed me to lower the simulated rain drop count which is nice for performance.
The list of polish changed goes on but if I talk about everything this will go on forever so lets move on.
Bug Fixes
There were plenty of bugs that had been plaguing Eldritchvania for months now. The worst of them were related to collisions with moving platforms and the ability to get stuck in walls in some rare but frustrating situations. Definitely not the kind of thing you want in an end product!
During some time off work I decided to finally investigate the bigger issues and see if I could work out why these things were happening. It took a long while, but I did find the cause! Then as promptly as I could, and with a few hiccups along the way, I managed to eventually fix things up. No more getting stuck in walls! ...I hope.
I also managed to patch up a fair few of the smaller bugs that were lingering. As of writing this we have 6 bugs left on the list! That's a pretty decent effort. I'm sure we'll find more but I'm pretty happy with where we're at now. The game feels significantly less broken!
Optimization
So we got the game feeling and working much better. However, there were some issues regarding how fast all of this was happening. It was time for optimization!
So I got to work searching for drops in frame rate and paying attention to what the game was doing during those times.
Here are few examples of some optimizations:
Bubbles! After a major reduction in collision testing they now not only look cool, but are super fast too! Collisions take time. Less is better.
Water rendering: I re-ordered and optimized the process of rendering our water. This slightly increased the speed.
Screen effects: I went and combined some of our shader effects into one and ensured we skipped any unnecessary steps taken during the drawing process. This reduced the processing time for each affect to be layered on top of one another and helps with speed in most cases.
Input Gathering: I found a major mistake that was causing our input framework to produce a significant overhead. I patched that up and it's now running as fast as it was designed to!
With those changes and a few more smaller ones, Eldritchvania is now running much smoother! There is still some work to be done down the line though.
Summary
Anton and I made a lot of small tweaks this month and we're now in a much better position to move forward onto the next part of the game! We'll have to repeat this process a few times as we go to ensure the game remains polished, functional, and fast. I'm sure by the time we are done we'll be super proud of what we've made.
Thanks for reading and supporting us as we make this game!
I'm curious to know what kind of posts you'd like to see in the future. Let me know using the poll options below, yeah?
0 comments