The timing function (in this case steps) , when you set an animation with multiple keyframes, applies to the transition between one keyframe and the next.
So, even if it seems strange, the CSS should be
#ryu {
-webkit-animation: dance 8s steps(1) infinite;
animation: dance 8s steps(1) infinite;
}
that is, with only one step