That makes matters easier.
You could also try fixed points if you need a bit of extra precision.
(I know a good library for that.)
SQ8x8 gives you 8 bits of signed integer and 8 bits of fraction,
which means it can represent 1/256th of a pixel for movement purposes.
It still uses half as many bytes as
although multiplication can be expensive.
That makes it somewhat easier.
If you need to switch movment pattern then that’s a bit more complex.
If you only need one or two patterns then it’s not too bad,
a simple state machine should do.
When I say ‘path’, I’m thinking more like multiple points to follow.
Just moving to a single point is less of a path and more of a direct line.
The downside to that approach is that it can be imprecise when using integers.
E.g. if you wanted to move from 0, 0 to 10, 9 over 5 frames,
10 / 5 will correctly give you 2, but 9 / 5 will give you 1,
so you actually end up at 10, 5.
It would work using
floats or fixed points though.
Ultimately it depends whether you want to be able to say “move from here to here in N frames” or “move from here to here at this speed”.