2
I made a horrible mistake with my first game
(emeraldsocial.org)
Other people have already suggested starting with an engine, I'd like to go a bit further and suggest you start with Raylib. It's an open source game engine that fits into a single header file, written in C.
I think it would allow you to build a couple of small games, while inspecting engine internals in your favorite editor at the same time to learn the ropes.
Wish you the best
A community about game development.
Rules:
More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥