Update on progress!
It's been a little while since the last update! Let's get into what we've been up to.
We're getting into polishing up a lot of aspects of the game, so the art's looking better and better!
One of my concerns with the environments were that they were too static. We have a lot of nice art, but most of it has been completely still for a while now. So, we've made a concerted effort to liven up the environments - more environment particle effects where appropriate (leaves blowing in the wind, etc), and animating the pieces of the environment where we can. Below are a couple of examples: some of Amalachi's art that I animated!
Bouncy spring and moving platform
Last update, we showed Royce's new artwork, including the moving platform and the spring. I'm really happy with how those turned out, so I animated some parts of those objects. They're subtle, but every little bit helps to add to that feeling of a living world.
We don't have a lot of menus in the game, but we want the ones we do have to be great. They weren't exactly up to the level that we wanted them to be, so David did another pass on the menus, below is a look at them!
Level geometry art
After receiving the winter level geometry art from Royce, I wanted to give normal maps a try for the level geometry, which you might have seen in the screenshots in the last update. For those who don't know, normal maps are a way to fake depth in game art, to save on performance. In this example, you could get away with having a completely flat plane that looks like it has dents and cracks in it, to add some extra detail.
I wasn't really sure about how it looked, and after talking with Royce, we agreed that we shouldn't bother with normal maps. The game's art style is stylized in such a way that you don't necessarily want tons of depth and detail in every art asset. Also, this was my first foray into using normal maps. After messing with them I learned that, typically, if you are going to use normal maps, that should be taken into account from the beginning, rather than as an afterthought.
Here's how it looks in the current version of the game, without normal maps.
I'm really happy with this one - now, when ceiling walking, movement particles (dust, grass kicking up, etc) will still appear at your feet, but they'll also appear partially at the top of the screen! The goal with this is to help communicate how the ceiling walking works. It's subtle, but I think it just feels natural, to have the particle effects screen wrap where applicable.
There's also a short section of the game that's in silhouette. It's a neat moment, but it requires a decent amount of modified art, including darker particle effects, for every movement particle effect in that environment.
(You can tell that we're getting closer to the end of the project, as stuff like this seems pretty small, but this is when there's a ton of those small tasks, all adding up.)
I also added existing particle effects to the moving ground pieces, to give it that little bit of extra polish. These particle effects already existed for the player's movements, but they also work really well for moving stone.
Ian recently did an audio pass on the game, creating new sounds wherever we were still using placeholder sounds. I think the game is really sounding great, I'm happy with the progress that we're making!
Along with the audio pass, we made sure to apply sound modifiers to all of the sounds in the game. These sound modifiers turn on when the screen is locked, and are effects such as reverb, high pass, and low pass. Previously, the modifiers would turn on and off immediately when the screen was locked, but now they slowly turn on or off, increasing or decreasing the amount of reverb/high pass/low pass over about a second. It feels a lot less jarring, and makes for a really neat effect, especially for one that you will hear so often throughout the game.
Audio bug fixed!
On low-end computers, we were having a really tough time with an audio bug which would repeat sounds every time the screen was locked. After quite a while, I found that it was caused by having too many audio sources in the scene. So I changed the way we are playing most sounds (by creating and destroying most sounds when we need them, rather than having them in the scene at all times), and it fixed it!
Other bits of progress
We finally updated to Unity 5! This was pretty much necessary so that we could port to consoles, so we figured we would finally make the jump. Fortunately, it didn't cause too many problems, and the game actually runs a little bit better now, just from the update.
There's not much to show in screenshots or gifs here, but I did a pass on all the code in the game, to clean the whole thing up. I got rid of a ton of unnecessary scripts and code, did a comment pass wherever it needed it, did some bugfixing, and did some much-needed optimizing as well. As a result, the game is running more smoothly, and the porting/optimization/bugfixing process will be much quicker.
These credits make me really happy every time I see 'em. It's all of you guys! I implemented the Backer credits during a crunch period, and as many of you know, crunch can be brutal. But seeing this list again kept me going!
As I mentioned before, I've been doing some bugfixing. Let's go over one of the tricky ones I recently fixed.
One of the older bugs was a case where players, if they jumped just right, could fall through the corner of a ground tile.
The fix for this involved some extra checking for ground tiles. Normally, the player checks for ground to the sides, upwards, and downwards. To fix the corner collision, I added a check that points diagonally downwards, while the player is in the air. This fixed the corner problem!
That was an old bug that was fixed a while ago, though. Recently, I was running into a similar bug, but involving the screenwrap.
The problem was still with falling through a corner, but this time it was right after screen wrapping.
In the image below, if the player pushed to the right exactly as they screen wrapped, they could get through the top left "corner" of the ground, right next to the red X.
To combat this, I now take into account the player's horizontal movement speed, and add a little bit in that direction when checking for land on the other side of the screen. This fixes the bug in most cases!
Last but not least, I finally added Dpad controls for the gamepad on PC. It's a fairly common request in platformers nowadays, and it was super quick to implement.
See you next update!
-Logan (and the Ludo Land team)