Advanced sprites with (kind of) physics


I’ve played a lot of metroidvania style games, and I’ve wanted to mimic the functions of some of them. The only problem is I have no idea how some of these mechanics were done.

A few examples: in Timespinner, the Asure Queen has weapons on the end of intangible chains. The chains fold and stretch like real chains, and I have no idea how the studio did that.

The second example is with iconoclasts. Really, every boss in that game is fantastic, but I’m not sure how to mimic what the Starworm’s arms do — sort of a bunch of sprites layered on top of each other and moving together (like the final guard in castlevania games)

Anyone have experience with handling sprites like this or can point me to some helpful posts?


Hey @aikky,

I can give you some advice, but I can tell you something in the beginning: it will not be easy ^^ as long as your not an experienced developer.

Every skill you want to implement needs an animation for it's possible states and the functions of it which triggers if the conditions are true for this. So, I think this is understandable so far.

Let's say you want to implement a chain, which you can fire in different directions, and it moves physics depended. I think a good way to achieve this are spine animations

With this, you can control the movement of the animation, depended on the direction, and speed (Or what else) you fire it up. Another, but not very recommended, way to achieve this, could be
create single chain objects, and then create a lot of them for some kind of animation. They control the angle, direction or what else, and transfer this data to the previous chain, and so on. If the chain
hits and enemy, you just have to check for collision with the objects sprite, and if you hit a point where you can cling the chain, it tells the player object and move him physics dependend in the
direction. This could be a concept for this chain mechanic.

Let's say you want to implement a superball, like in super metroid. The payer should be able to crouch to a ball and the dash with highspeed in any direction. If he can activate the superball,
he changes the sprite to an animated, rotating ball, and then you increase the players movement speed until it is over. Something like, if you got a collision with a wall, enemy etc. you go out
of the animation, and back to the normal state. This could be a concept for this superball mechanic.

Now to the bosses. It depends on the possible boss mechanics you want to implement. If you want a very great experience, spine animations would be a solution here aswell. Define different
hitbox-areas in the boss object (Like legs, heads, body) and trigger different code if he get's hit there. For example, if the chain hits the leg of the boss, he loose 1HP; But if the Head got a hit
he loose 2HP. Create a body object, which creates a head, some legs and whatever objects would be a good solution on this aswell. The body controls the main boss mechanics, the legs/heads
objects react to collision and tell the body to loose HP and stuff. In this case, give every part the fitable sprite.

I really hope, this get's you into some ideas :)

- cheers


Thanks! I had no idea spines existed, so I’ll look into that. Thanks also for the heads up. I’m not a beginning developer, but I’m currently studying CS, so here’s hoping that degree can help me understand. I’ll try to post something once I’ve figured out how to work it.