If you liked this, you might like: https://kaushikghose.wordpress.com/2017/09/25/a-modification-to-bresenhams-algorithm/
Learnt this from one of the Graphics Gems books years ago; used it to good effect with graph paper on train journeys to get some nice round towers in Minecraft.
This is a great article. The differences become really glaring when zoomed out, clever idea.
I only glanced at the algorithm, but: is the algorithm minimising only the error for the next step or globally? Could a small error in the current step force a larger error in the next one that is overall larger?