the way i learned was just to read the function list and select which one i needed and how to use. The best way to learn in my opinion is to expirement but im sure if that doesnt work for you there are tutorials on this site.
as far as how i would actually program it i would build some 3d objects: enemies, terrain, weapons, effects, etc. when i make 3d games i also use the camera as the player but you can also make a fully animated character which will take hours then tell the camera to follow the character. then i would make a movement system for the game such as:
void movecamera(int direction, int speed)
{
int camx=dbCameraPositionX();
int camz=dbCameraPositionZ();
float x=dbSin(direction)*speed;
float z=dbCos(direction)*speed;
dbPositionCamera ( camx+x, dbCameraPositionY(), camz+z );
}
if you want to use an object as your character just use the object commands which are almost identical to these.
also you will need a system to look around such as this which is what i always use:
dbXRotateCamera( dbCameraAngleX() + dbMouseMoveY()/3);
of course you need enemies so you will need to program these but i will not go into great detail because this can get very complicated. but you will need some AI that does the following:
-shoot at your character
-walk or patrol the area
-if your character gets close look around
-if see your character point at him with gun animation
-die if get shot too much
you will also need weapons, health packs, etc that you can pick up from the ground. you can accomplish this by something like this:
if (characterX>itemX && characterX<itemX+itemsizeX && characterZ>itemZ && characterZ<itemZ+itemsizeZ)
{
destroy object;
add effect;
}
i am guessing since you are a beginner you cant accomplish all of this but maybe you could experience with bits and pieces of it. hope this helps.