Hey everyone, this weeks post is entirely about the feedback so far from the graduation show at UCA Farnham. I have not had a chance to work on the game since the first day of the show last week because I got ill. However, I did manage to get the boss ready for the show build of the game, which I was very pleased about! If you do manage to get to the show, let me know what you think of the game!
The instant people began playing the game I was noticing everything that could be improved. It always amazes me how much you see when someone other than yourself plays your game. The main aspect people could not get to grips with was the wall jump segment in the tutorial. I'll admit, I have not play-tested the wall jump prior to this and I had suspicions it would be difficult to use. The wall jump part of the level is a vertical corridor that is too long to helix dash up, so it forces players to use the wall jump. Unfortunately, it would seem that the physics based movement makes it hard to use the wall jump. Due to the number of players who struggle with it I will be changing the way the wall jump works to make it easier.
In the previous post, I described how pleased I was that I had got the game working with a controller. However, the first player to try playing with one revealed a massive bug. Whenever the player used the helix dash in an exactly vertical or horizontal direction, the screen would go black and then they would reappear at the spawn point. This is a big problem because I had no idea what could cause this. Upon further investigation I can reproduce the bug without a controller which means that the problem has been around since the dash has. It has happened before with the mouse but it happened so infrequently that I thought little of it. I have now found the cause of the bug and fixed it but it is very technical so if you are not interested in that, skip the next paragraph.
Turns out, the cause of this was a method I created to stop the player ending up in a wall at the end of the dash. In the method, I calculate the horizontal and vertical distances the player will be from surrounding walls at the end of the dash. Whichever distance is smallest will be the one I use to stop the player before a collision occurs. In these calculations I use the Cosine maths function. I found that when the direction is directly up, left, right or down, one of the output cosine values is tiny. If you are interested, that cosine value was cos(1.570796). The way I then use this gives me a huge negative number, which just so happens to be smaller than the correct value, meaning it is used. This makes the end position of the dash an astronomical distance away from where it should be and the player ends up outside the level, which is why they reappear at the spawn point. All it took to fix this was to check which value is smallest if they were all positive and then use that value. I hope that didn't confuse you too much!
Back at Rezzed in April, many people mentioned that they did not like the enemies being able to pass through the player's infested enemy. Nothing felt solid and this impacted their satisfaction. I agreed with this but could not see how I could implement it at the time. Through perseverance I got it working, but now I am seeing that it has created problems. To make the player's enemy collide with others I made all enemies push each other apart. However, I seem to have made this a little bit too strong. The enemies now block each others path and this makes gameplay really slow at times. The ideal solution to this is to have the enemies climb over each other but this is very hard for me to make work with the pathfinding at the moment. For now, I think I will turn down the force they apply when they collide with each other but I will strive for the ideal solution.
That's it for this week's post! I know it was quite a technical post but I hope you enjoyed it anyway. Thanks for reading!
I'm the game developer for Squillamorph. I'll post here on the devlog as often as I can.