I'd like to start designing and creating games in either C or Java (as these are the primary languages I know). Is there a good book or online guide on where to begin development with these languages? I know the syntax and how to use the api libraries but not the best way to go about using them when designing games.
To give a sort of goal: I'd like to be able to create something of a similar sort to Mario(side scrolling) or Pokemon (isometric/top down world view) as a start before I move onto 3d design. In other words its more learning how to move sprites and create tile based worlds that move with the sprites.
Any help on getting me started would be appreciated.