Making games from scratch is good learning experience but if you already know how to program and want to make a game rather than never finish it then pick one of available game engines. Saves a ton of trouble.