Posted September 05, 2020 by hassankhan
Overview
A first-person platformer with a momentum-based movement system. The player will have to build up enough speed to reach the end of the level.
Movement
I started the game out by importing a movement system I'd made previously. It's nothing too complicated, but it has acceleration and max speed, which is pretty much what I need for my game. The only problem with it is that I limit the speed by directly altering the velocity, which is bad and leads to problems.
Here's the line of code for anyone who can read it.
if (MovementVelocity.magnitude > maxSpeed) { rb.velocity = MovementVelocity.normalized * maxSpeed + YVelocity; }
One of the problems that it leads to is that if my max speed is too low, the movement is jittery--the player stops suddenly, then starts back up. So I have to go and figure out a way to fix that. But once I do, the momentum based movement should be pretty easy to implement; I just have to set acceleration low and max speed high, then increase max speed when needed.
MapLayout
Since my drawing was on paper and my writing is pretty light, I decided to go into Photoshop and recreate my layout. Here's what it looks like:
Note: Those are 3 different images that join to make one long level. The end of one image is meant to connect to the other.
It's a bit boring right now, but I plan to improve it after I've finished the movement script.
I also put the layout into Unity and white boxed it, so here's what that looks like.