If I wish to make a 2d video game...

What should I learn to do?

for a top down 2d video game. with or without smooth scrolling

A programming language, then a graphics API, as well as any OS specific APIs you might need. Check out coding link on home page of this site for links to tutorials for OpenGL. Also, check out FAQs section from home page of this site to read about OpenGL, and documentaion section to read specs of OpenGL, etc, etc, etc.

Look at: www.gametutorials.com
it may help You.