I’ve noticed a problem with the vertical screen scrolling: it doesn’t go far enough. Before, it only went up 80 pixels. However, it should go up 96 instead. This meant I needed to redesign the level to accommodate the new scroll rate.
This new scroll rate presents an interesting situation. The vertical size of the level cannot snap properly to sizes that are multiples of 96. The screens do not line up properly when the player reaches the very bottom of the level. Instead, the size should be a multiple of 96 minus 32. Bear in mind that the screen size is 160 pixels tall, which is a multiple of 80, but not of 96.
As for the character being able to climb ladders, I have rearranged the code so that I can support a state machine that handles stuff like climbing onto ladders, scaling walls, etc. I have made a start on the ladder mechanic. The player will now latch onto a ladder when they pass in front of one whilst holding the “up” direction. Tomorrow, I will finish this up by having the player let go when the jump button is pressed, or if the player reaches the top or the bottom of the ladder.