TPicture.create; <- This code is not allowed. TPicture is a property of TImage, not something you can manually use.

The technique you need is Doublebuffering. TImage or form may have property you can set like Doublebuffered:=true. Alternatively create a TBitmap, draw the map, tiles, players and all in the Bitmap.canvas and draw bitmap to TImage with 1 draw command.