Dev Blog 9: Push it
There has been a bit of work on back end systems that are difficult to write a blog about, but be sure that I have been working. Some of that work was for organizational purposes, making things easier to access, and overall boring but necessary things I'd been putting off. Primarily this month, my time was spent adding in a system for pushing objects around on the screen. Think of the block puzzles that are in various Zelda games. Essentially I built something similar, where the player can move up to an object for a period of time and the character will eventually animate down and try to move the obstacle. If it has the correct properties, then it will begin to move. Coding this hasn't been difficult at all. Mind you, I'm not actually done, but nearly there.
There are a couple small issues that I haven't yet taken the time to work out. The biggest bug that comes to mind is handling an animation transition from pushing to walking, when the player moves the character off an object, but never stopped pressing a key. I'll have to detect that the player stopped pushing on the object. Again, not something that will probably be that difficult. I also have a little issue to work out due to my movement system, which I know I need to write up an article on someday soon. Basically, I try to make navigation easier so you don't get hung up on the outer edges of walls/blocks, so we slide the character around them. The way I'm using that causes the push animation to sometimes face the wrong direction. Pretty goofy really.
So with all of that I've been creating the animations that are necessary and frankly I'm not enjoying it. Making a new creature or character isn't so bad. I tend to like coming up with ideas and working on fresh things, but figuring out where to start and adding on additional animations is pretty tiresome. As I was working on the art I finally decided that I probably need to bite the bullet and rework the left/right animations I had previously made. There wasn't anything graphically wrong with them, but the actual issue is that it is causing mechanic problems for me. What I mean is that since the angle of the character is slightly turned, as opposed to fully facing left or right, I have to account for that in the other side animations as well as worry about how the character will interact in the world given their angle. This was primarily obvious with the attack animation, as since the character is right handed, that meant that when facing right, his hand was further back on his sprite then it would be when he faced left. If it were real life, the weapon would extend further out when facing left then it would facing right. This means that the player could hit stuff easier and with less risk of being touched if they attacked things on their left side instead of their right. A picture would be best for this example: