On a grid map, line drawing is useful for for visibility, the path of an arrow/bullet, and enemy AI. There are several fast algorithms for this but I prefer using a very simple algorithm. Here's the algorithm in action:

Let's look at __l__inear int__erp__olation, or *lerp*, for numbers:

lerp( 0, 1, ) = lerp( 0, 100, ) = lerp( 3, 5, ) = lerp( 5, 3, ) =

Let's look at linear interpolation for points. We can separately linearly interpolate the x and y values, and it behaves as we might expect:

Try varying t = .