   Do i plan the game or learn API first
  I think i have a firm grasp on the concepts of the c programming language but i wanna know do you guys learn to use an api like say SDL or do you write the game idea down first?   
  Write the plan down, so you can decide what engines and libraries you are going to use. Then learn the libraries as you write the game.   ;  Writing small test programs using an unfamiliar API is a good way to learn them too. For example, when learning SDL one might write a pong clone.   ;  Plan. Game. First.You'll find that for any given project of any given type, the vast majority of API's that exist in the world aren't even remotely useful.  Learning an API for the purpose of making a game, then thinking up a game will possibly be either you realizing you didn't need to learn that particular API in the first place, or that you are squeezing and stretching your game to fit inside a specific API, when a different one would certainly accommodate it better.Figure out what you need first, then get it.   ;  Well, if we are talking about SDL, then you can learn this before thinking about what game you are going to make. You can use SDL to render a bitmap.You will likely need more than SDL since it doesn't do a whole lot.   