GUI

Blitz3D Forums/Blitz3D Beginners Area/GUI

You could parent the GUI to the camera. In multiplayer games, just hide the GUIs of the cameras not belonging to the current character before rendering.

There is also 3rd party solutions, one that looks pretty good is Sprite Candy.

Also, your second solution, with a camera far away from the character, is not tough at all. As a matter of fact, that is basically how I did my GUI here. The second camera is actually below the plane pointing down, and the GUI is drawn there.

This is how I set up the camera for the hud.
hud = CreateCamera() ;create the camera for the GUI
CameraClsMode hud,False,True ;do not clear screen before rendering but clear z space,
 ;so it will be drawn over items from camera 1 but be able to maintain it's own z-order
CameraRange hud,1,75 ;shorten the range for quicker rendering
CameraProjMode hud,2 ;use orthographic projection
CameraZoom hud,.04 ;This zoom setting seemed to work best for this program.
PositionEntity hud,0,-50,0 ;put camera below plane
RotateEntity hud,90,0,0 ;point camera away from plane.

You just need to make sure that the GUI camera is created after the main camera so that Renderworld renders in the correct order. Beyond that, it's just a matter of putting your GUI elements in front of the camera.