As someone who has created a few small games for learning I can tell you what you need to know. Let's assume you have all the resources you need like images, sound and music, also you already know what game you want and it's story, gameplay and so on.
Then comes the actual creation of the game and for that you need:
1. Game Engine:
A game engine is the framework on which the game runs, it handles input, rendering and so on. You could create your own, but that would be too much and it's not necessary. The best option is select one of the many available options.
Popular game engines are: