Something to consider, if you do happen to be targeting an HP48: actual pixel on time is very important. This is because the pixels of its LCD are quite slow to transition between on and off states, and you are effectively drawing directly to the display. If your processing time per frame is very high, it's very helpful to avoid the pattern of
- Undraw Sprite at old location
- Do Heavy Calculations to choose new position
- Draw Sprite at new location
- Delay for FPS
and instead use a pattern that resembles
- Retain Copy of old location
- Do Heavy Calculations to choose new position
- Undraw Sprite at old location
- Draw sprite at new location
- Copy New Location over Old Location
- Delay for FPS
This approach could be helpful in other situations, too, such as when you're targeting eg 30 or even 15 fps due to massive processing requirements. While the above may seem obvious, the issue it would solve usually seems insignificant in Octo. Both eg my own game, Octopeg and the lander game Sub-Terr8nia, while perfect in Octo, were initially basically unplayable on a real HP48: each game's main sprite was basically invisible. Both games were modified from the first pattern to the second, and then both played perfectly.