2 – Basic Platformer Movement, Integration of 2DDL and Level Designs

Today I focused on implementing the foundations of the game: the controls, as well as integrating 2DDL (2D Dynamic Lights) which was the Unity Store plugin I mentioned in the last post.

Movement

 
Getting base movement was simple enough, the jump height required tweaking as I wanted the player to be able to jump as high as their height. I feel like this is a staple in platformers and also makes it easy for the player to know how high their jump actually is.

I also had a problem of the player getting stuck on walls but that was quickly fixed by applying a low-friction PhysicsMaterial.

For now i’m using PC controls A/D and Space for movement and jumping, this is to make things easier to test in the development-environment (aka on the PC).

2DDL Integration

I couldn’t get the plugin to work properly with the Player GameObject for some reason but eventually I found out that it was due to the Box Collider 2D that was attached – after looking at the plugin’s example scenes apparently it only works with Polygon Collider 2D so I changed my Player object accordingly

The plugin came with various Light Material styles and I explored various options til I found one that fit my aesthetic:

Picture

 
Level without Light
Picture

 
 Diffuse Light
Picture

 
Gradient Dark Shadows
Picture

 
Gradient Level Shadows
I ended up settling with the last one which had a soft gradient surrounding the player as well as the typical raycasted shadows.

I chose this as the soft gradient is something akin to a torch-like effect as seem in games like Terraria, I chose to have the shadows the same colour as the level platforms as it allows a new range of gameplay: using light to reveal platformer

 

Level Designs

I created some annotated designs that showcases and introduces the player to different gameplay elements as well as different scenarios and ways the player can use said powerups.
Picture

 
Picture

 
Picture

 

Leave a Reply

Your email address will not be published. Required fields are marked *