This week, I fully finished the rough design of the Vermillion Summit which was huge as well as implemented a few other key system changes that I think are going to be very positive going forward.
Level Design
Here is the final rough layout of the Vermillion Summit in all of it's glory. This week the primary focus was on the upper parts and trying to create platforming and combat challenges that were both intense but fair.
It was hard trying to create something that was challenging yet didn't feel unfair or was even possible. However I finally got something that I felt like had good ramps and clear indication of difficulty but still felt reasonable to the player.
Trying to find ways to emphasize the skills learnt and as well as introducing new challenges required me to alter the pacing notably throughout the level, allowing sections that were slower to let the player catch up and collect themselves before plunging them head first into the worst situation imaginable. As I said though, the rough idea is done, now we need to fine tune it, figure out what works and what doesn't.
Programming
My major programming feats this week involved implementing the tinder cache spawner system even though it's not really that, having the player get crushed my the chandeliers if they swung too high as well as fixing the entering walls problem and spike checkpoint system.
The tinder cache spawner isn't actually a spawner, it despawns the instances that were already collected in the previous run by storing the position values of these tinder caches and then checks to see if it matches the logged positions stored in the container. This makes it easier for the level designers as we can directly place the prefab and adjust the values as needed. The second and third feat are noted below. This code essentially makes the player take damage if they get crushed by using raycasting and a transform point at the top of the player's head. If the raycast collides with something on the ground layer and the player is confirmed on the swing grounded, then the player takes damage and the collisions between the player and the chandelier are disabled for a short period of time to make the player fall through. If the player is contacting the wall from the side, the player simply is slid off as it is not a child of the platform anymore.
The feat I am most proud of this week is the spike check point system I developed. Which uses two forms of check point recording. The first being raycasting for proper ground, logging the players position to return to it and then if they collide with upward facing spikes, they return to their last stepped on position. This made it so much easier than me having to place manual check points everywhere. However that previous system also takes some of the challenge away from certain areas, so I devised a second system that can work in tandem a set checkpoint system that so long as the player is in an area, the player will respawn to that one created point.
The Raycasting check point being called in update unless a boolean that is toggled for when they enter a forced check point area is enabled.
The set checkpoint system that is used in the case of sections that would be too easy if the player was able to go back to just before they failed. You can also see it stops working when the leave the collider.
Here is the toggle for certain spikes to reset the player's position. This is done this way as I would have had to put new colliders down or separate the bottom up spikes from the rest, I chose to do the later out of visual ease for me.
Github
As per usual I am the merger, the one who merges branches so that they work. I did that again this week with Mine, Herman and Jon's branches, so now together they form not Voltron but an almost complete game.
Reflection
The end is fast approaching there is so much still to be left done, the game is pretty much playable start to finish but so many many many bugs and things still left to implement! Next week on I Won't Get Much Sleep Z, I tackle bugs with the shop system and implement basic interfaces so that the game doesn't feel as barren and probably fix up some level design problems. Come back next week for more exciting updates!
Comments