as far as the user is concerned
bitmap:
you can use the print,draw and sprite commands to alter a bitmap, so for example you can draw all the hud info for your game to a bitmap and then use get image to make the hud a sprite (a sprite is an image that is placed onto the screen and persists)
image:
is a picture, you can`t alter it, the only way to alter an image inside a game is to make it into a bitmap and then alter the bitmap, then make it back into an image
heres an example of using a bitmap to draw new imformation to a "floating" hud by copying imformation written to a bitmap into the image used for a sprite, this is the only way to alter the image inside the program, by modifying the bitmap, think of the bitmap as a hidden screen you can draw to and grab images from, you can only have up to 32 bitmaps iirc, but hundreds of thousands of images.
sync on: sync rate 40
create bitmap 1,100,100
set text opaque
hide mouse
do
if timer()>t
t=timer()+100
randomize timer()
set current bitmap 1
ink rgb(255,255,255),0
text rnd(90),rnd(90),chr$(rnd(90)+33)
get image 1,0,0,99,99,1
set current bitmap 0
endif
randomize 1
for i=1 to 200
ink rgb(rnd(255),rnd(255),rnd(255)),0
circle rnd(600),rnd(400),rnd(50)
text rnd(640),rnd(640),"move the mouse"
sprite 1,mousex(),mousey(),1
next i
sync
loop
in this example the "hud" is an oversized mouse pointer and the information is just random characters, but there is no reason why you can`t print score, screen fps etc to the bitmap and have that floating about in the hud, just change the bit inside the if/then section to display whatever messages you like.
Dr Frankenstiens mum told him to make some new friends, not knowing where this was going to lead.