that is totally possible and probably a few steps ahead of starting with say tetris which is a good game to get to know firstly as it helps to have a game with low media content while u learn to code.
You could acheive this in either 2d or 3d. I would explore the commands and features before you really embark on a game tho.
To give u an indication of how this might work in 3d, here is a really small snippet on some of the problems and mechanics you will face in say an rtype game.
using the arrow keys to move up n down allows you to move the cube which is the playes object. the spheres wont collide with you but they represent the badguys movement as well as the updating of them when they are offscreen, It appears there is a constant stream of things moving towards you.
anyway try this little example because it will work for both galaga / galaxian rtype etc.. type game setups.
the difference being is that this is horizontal and other games of a similar nature have the same mechanics but are just vertical in movement.
Personally I would explore 3d for this as it would help you understand 3d aspects and be a good step towards other 3d games you might like to create afterwards.
rem -----------------------------------------------------------------------
rem A very simple layout for a 3d rtype game
rem This demonstrations only shows a few aspects to the games core
rem indi 2003
rem
rem -----------------------------------------------------------------------
rem simple setup
sync on : sync rate 60
randomize timer()
ink rgb(255,255,255),1
set text font "arial"
set text size 12
rem players setup
make object cube 1,1
position object 1,-10,0,0
rem badguy setup
for i = 2 to 10
make object sphere i,1
position object i,25+rnd(5),20- rnd(20),0
next i
rem place the camera
position camera 0,0,-20
point camera 0,0,0
rem temp main loop
disable escapekey
while escapekey()=0
rem control the players movement
if upkey() =1
position object 1,object position x(1),object position y(1)+0.1,object position z(1)
endif
if downkey() =1
position object 1,object position x(1),object position y(1)-0.1,object position z(1)
endif
rem control the badguys movement
for i = 2 to 10
rotate object i,0,90,0
move object i,-0.1
next i
rem reset the badguys when they are off the screen
for i = 2 to 10
if object position x(i) < -20
position object i,25+rnd(5),20- rnd(20),0
endif
next i
score = score + 1
text 10,10,"score : " + STR$(score)
sync
endwhile
rem safe cleanup
for i = 1 to 10
if object exist(i) = 1
delete object i
endif
next i
end
remember have fun and dont be afraid to ask if you get stuck, just be specific about the problem you want answered.