Best 2D Ghost Physics?

BlitzPlus Forums/BlitzPlus Programming/Best 2D Ghost Physics?

Hi!

I'm currently messing around with some ideas for a simple Helloween-Screensaver.

I want to have a ghost move around on the screen in a "natural looking" way.

Graphics 1024,768,16,1

Global bg_ghost              ; image handle
Global bg_ghostx,bg_ghosty   ; cur ghost pos
Global bg_ghostwx,bg_ghostwy ; next waypoint

bg_ghost=LoadImage("ghost.png")

; Init 
bg_ghostx=Rnd(0,1023)
bg_ghosty=Rnd(0,767)
bg_CreateWaypoint()

While Not KeyHit(1) ; Main loop
 Cls

 ; Waypoint calculation  
 If bg_ghosty > bg_ghostwy Then bg_ghosty=bg_ghosty-1 
 If bg_ghosty < bg_ghostwy Then bg_ghosty=bg_ghosty+1
 If bg_ghostx > bg_ghostwx Then bg_ghostx=bg_ghostx-1
 If bg_ghostx < bg_ghostwx Then bg_ghostx=bg_ghostx+1
 If (bg_ghostx=bg_ghostwx) And (bg_ghosty=bg_ghostwy) Then bg_CreateWaypoint()

 DrawImage bg_ghost, bg_ghostx, bg_ghosty

 ; Output some Debuginfo
 Color 255,0,0
 Text 10,10,"Ghost:         "+bg_ghostx+"/"+bg_ghosty
 Text 10,30,"Next Waypoint: "+bg_ghostwx+"/"+bg_ghostwy

 Line bg_ghostwx-2, bg_ghostwy, bg_ghostwx+2, bg_ghostwy
 Line bg_ghostwx  , bg_ghostwy+2, bg_ghostwx, bg_ghostwy-2


 Flip
Wend 

FreeImage bg_ghost
End ; of all being

Function bg_CreateWaypoint()
; Create new waypoint to be seeked by the ghost
 bg_ghostwx=Rnd(0,1023)
 bg_ghostwy=Rnd(0,767)

End Function


Ghostimage

Any ideas on how to make this movement look better are welcome.

Thanks.