CAGD 370 Blogpost 3
For Sprint 3, I was able to make significant progress relating to the player movement. Before this sprint, the play testers had a hard time moving in an efficient and satisfying way. My biggest priority was to improve the player's movement. The next challenge I had was to implement new movement controls while having the previous ones work optimally. This was an issue that was improved but will need more improvements and implementations continuing forward.
Improved Movement
As stated previously, I worked on optimizing the player's movement. This included better camera control, better input reaction time, player speed, and jumping mechanics. First, I will be talking about the improved camera control.
One of the biggest issues we observed at the playtest was that the players could not jump when they pressed the spacebar. This was a big concern that we had to fix immediately. I tried implementing different kinds of move scripts for the player, but they did not solve the issue. I decided to move the movement functions from FixedUpdate to Update in the script. This may not be the best solution since these functions deal with physics-based movements, but it has been more responsive and has resulted in better playtests. Another issue we faced was that the player could not jump off the edges of platforms. This led to them falling off and getting frustrated. To fix this, I changed the jump function from using a raycast to allow jumping to a character controller and IsGrounded statement. With the Update change and revamped jump function, the player movement is much better from last sprint.
Added Features
During this sprint, I was able to implement new features that worked with our revamped movement functions. This included a double jump, wall jump, and a smaller & faster ball option/power up. First, I will discuss the double jump.
For this sprint, I was able to implement a double jump using the new jump function. I made it so that the player could only jump again if they jumped once using the If statement in the code. The double jump bool is set to "false" and is set to "true" if the player activates the jump function. The double jump is simply the same force as the regular jump, but you can do it in midair resulting in a double jump.
As you can see above, the jump and double jump functions are very similar. Next, I will be talking about the new wall jump implementation.The wall jump took the most amount of time, but the wall jump worked how we wanted it to. This will open up the platforming on our map and let the player have more fun playing our level. The way it works is that the player checks to see if it touches a game object tagged "Wall". If it does, then the normal of the surface is multiplied by the speed and pushes off the wall when the space bar is pressed. The only issue we have is that the player cannot change directions when jumping normally. This can be fixed next sprint, but we must address it before the next playtest. Next, I will be talking about the smaller & faster ball.
Finally, I made a smaller and faster ball. It is a copy of the original player ball but scaled down to be smaller and increased speed and jump variables. We have yet to decide if this will be a power up or option to let the player choose this ball before playing to give an added sense of difficulty. We will figure this out next sprint.
Comments
Post a Comment