Skip to main content
added 2264 characters in body
Source Link

If I recall correctly, both Prince of Persia and Flashback (as well as its predecessor, Another World/Out of This World) only allowed movement in set 'steps': if the player ran or walked, they would move a predetermined amount of space (i.e. 8 pixels for a single step, or 32 pixels for a running stride). They were effectively tile-based, and the player's avatar was confined to moving increments of one tile. As mentioned by Philipp, this led to very smooth animation but could feel 'floaty' as players didn't have absolute control over their avatars. Clever level design stopped this from being an issue - as well as the fact that the terrain didn't scroll (the action just moved from screen to screen).

The animation is the problem here, rather than anything programmatic. I've opened up your .gif file in Adobe Fireworks, and I can see that the feet are only changing position every four frames while the floor is moving at a constant rate, which looks to be four pixels per frame. The player's stride appears to be around the right length - 40-odd pixels - but because the feet don't move as fluidly as the ground, it looks like they're sliding.

To fixI took the liberty of putting together a gif showing your character walking over a stationary floor. The stride looks a little odd:

walking animation

Prince of Persia and Flashback both used rotoscoping for their animation, which gave them their fluidity. I don't suggest you go down this route yourself, but you really need to study how people walk- your animation doesn't seem very natural at all.

To really address the issue, you'll need to re-animate your walk cycle. However, for a quick fix you could:

  • slow down the movement of the terrain (though I suspect you'd end up with rather jerky scrolling)
  • add more frames to your walk cycle (the foot in contact with the floor needs to animate at the same speed as the floor)

I'd be inclined to take the second approach, though it means more work.

Animation is hard. Even harder than programming. But if you really want to make your game look good, you could do much worse than invesing in some books on the subject. I've added a few links to ones I personally recommend below. The only way to get better at animating is to practice, so don't worry if your early efforts don't work out.

Animation books:

If I recall correctly, both Prince of Persia and Flashback (as well as its predecessor, Another World/Out of This World) only allowed movement in set 'steps': if the player ran or walked, they would move a predetermined amount of space (i.e. 8 pixels for a single step, or 32 pixels for a running stride). They were effectively tile-based, and the player's avatar was confined to moving increments of one tile. As mentioned by Philipp, this led to very smooth animation but could feel 'floaty' as players didn't have absolute control over their avatars. Clever level design stopped this from being an issue.

The animation is the problem here. I've opened up your .gif file in Adobe Fireworks, and I can see that the feet are only changing position every four frames while the floor is moving at a constant rate, which looks to be four pixels per frame. The player's stride appears to be around the right length - 40-odd pixels - but because the feet don't move as fluidly as the ground, it looks like they're sliding.

To fix this, you could:

  • slow down the movement of the terrain (though I suspect you'd end up with rather jerky scrolling)
  • add more frames to your walk cycle (the foot in contact with the floor needs to animate at the same speed as the floor)

I'd be inclined to take the second approach, though it means more work.

If I recall correctly, both Prince of Persia and Flashback (as well as its predecessor, Another World/Out of This World) only allowed movement in set 'steps': if the player ran or walked, they would move a predetermined amount of space (i.e. 8 pixels for a single step, or 32 pixels for a running stride). They were effectively tile-based, and the player's avatar was confined to moving increments of one tile. As mentioned by Philipp, this led to very smooth animation but could feel 'floaty' as players didn't have absolute control over their avatars. Clever level design stopped this from being an issue - as well as the fact that the terrain didn't scroll (the action just moved from screen to screen).

The animation is the problem here, rather than anything programmatic. I've opened up your .gif file in Adobe Fireworks, and I can see that the feet are only changing position every four frames while the floor is moving at a constant rate, which looks to be four pixels per frame. The player's stride appears to be around the right length - 40-odd pixels - but because the feet don't move as fluidly as the ground, it looks like they're sliding.

I took the liberty of putting together a gif showing your character walking over a stationary floor. The stride looks a little odd:

walking animation

Prince of Persia and Flashback both used rotoscoping for their animation, which gave them their fluidity. I don't suggest you go down this route yourself, but you really need to study how people walk- your animation doesn't seem very natural at all.

To really address the issue, you'll need to re-animate your walk cycle. However, for a quick fix you could:

  • slow down the movement of the terrain (though I suspect you'd end up with rather jerky scrolling)
  • add more frames to your walk cycle (the foot in contact with the floor needs to animate at the same speed as the floor)

I'd be inclined to take the second approach, though it means more work.

Animation is hard. Even harder than programming. But if you really want to make your game look good, you could do much worse than invesing in some books on the subject. I've added a few links to ones I personally recommend below. The only way to get better at animating is to practice, so don't worry if your early efforts don't work out.

Animation books:

Source Link

If I recall correctly, both Prince of Persia and Flashback (as well as its predecessor, Another World/Out of This World) only allowed movement in set 'steps': if the player ran or walked, they would move a predetermined amount of space (i.e. 8 pixels for a single step, or 32 pixels for a running stride). They were effectively tile-based, and the player's avatar was confined to moving increments of one tile. As mentioned by Philipp, this led to very smooth animation but could feel 'floaty' as players didn't have absolute control over their avatars. Clever level design stopped this from being an issue.

The animation is the problem here. I've opened up your .gif file in Adobe Fireworks, and I can see that the feet are only changing position every four frames while the floor is moving at a constant rate, which looks to be four pixels per frame. The player's stride appears to be around the right length - 40-odd pixels - but because the feet don't move as fluidly as the ground, it looks like they're sliding.

To fix this, you could:

  • slow down the movement of the terrain (though I suspect you'd end up with rather jerky scrolling)
  • add more frames to your walk cycle (the foot in contact with the floor needs to animate at the same speed as the floor)

I'd be inclined to take the second approach, though it means more work.