You can use any drawing/paint program that can generate .bmp (bitmap) files to draw the tiles for the game you are programming. Typically, these tiles would be spaced so that you could easily pull them off the bitmap and store them as images for use in your program.
You can make the tile images whatever size you want. I suppose a typical would be around 32 X 32.
If you wanted, you could use DB to create these tiles so that there would be no need for external media (for the tile images anyway). You would draw using lines, boxes, dots, etc. to the screen and then grab the image from the screen, clear out the drawing area and then do the same for the next image until you have drawn them all.
Backgrounds could be done just like the tiles. Again, size is a matter of preference. To me, it takes less effort to simply draw the background using a paint program, save it as a .bmp file and then simply load in the entire bitmap. You could also pull images from a bitmap and place them on the screen to create a background too.
You idiots! You've captured their stunt doubles!