To expand on what MrAntiFun said in the previous post you will need to first look into which engine suits your needs for your game.
Unreal Engine-
https://www.unrealengine.com/what-is-unreal-engine-4
-
A great engine to create a simple yet good looking game with some great physics. The player models aren't as fluid as some of the other engines but it still looks nice and mostly feels smooth. One of the downsides is how clunky games in the third person view are. It has gotten better over the years so the clunkyness is minimal compared to Unreal engine 3. This engine has possibly the biggest community behind it since it was one of the first AAA engines to offer a public kit that didn't limit the community on what they can do with it. To this day so many games mmorpgs, shooters, rpgs, indie games are made based on this engine.
Unity Engine-
https://unity3d.com/
-
This engine is not as well put together as the unreal engine but still offers quite a bit of content for PC, console and mobile games. It's public just like Unreal Engine with a rather large community since more games are using this engine. This engine is great for creating immersive environments with top of the line graphics. Physics wise it is fairly smooth depending on what you do with the kit. Player models even have a nice touch to them. It does suffer from some negatives one being compression when it comes to large scale products. That can be easily fixed, but also can easily occur. If you want your game to be solid on PC/console and extremely fluid on mobile check this engine out.
Cry Engine-
http://www.cryengine.com/
-This is a more advanced engine but offers possibly the best quality in graphics. This engine is known for its ultra lush environments, amazingly detailed player models, basically detail in general. It's visually amazing, if you want to create a game with breath taking visuals this is the engine for you. Physics are a tad more detailed then the Unreal Engine. It has a large scale community almost as big as unreal engine. Lighting is another huge plus with this engine. It has a steep learning curve in which you will most likely spend almost twice as long reading/watching tutorials then some of the other engines. The free engine does have a limitation which can see pretty bad at first glace compared to what you can do with the sub which is $10 a month. There have been free games that have been able to utilize the free version and execute their games moderately well to great. If you have the time and dedication this engine would be worth using in the end.
Game Maker Engine -
http://www.yoyogames.com/studio
-This engine is an engine that creates stellar 2-D games. It's easy to use, fully free, has quite a few helpful tutorials that aren't to long. You can basically learn how to use it properly within a couple weeks. For 2-d games it is by far the best public based engine. You could make an excellent 2-d game within a couple weeks using this engine. It has a few drawbacks such as updates aren't as frequent as other engines, you can't do as much as other engines when it comes to content wise. You basically are "creatively limited" which means you can modify files in the engine to a certain point. Once you hit that point you can't do more. In the other engines you can go beyond that point.
Test out a few different engines to see which one you like best. Then YouTube/google tutorials on first the simple stuff such as how to create environments, player models, etc. Then look up how to put it all together. It will take sometime whether you are creating something yourself or just watching a video.
After you have done of all that you will learn that there (are possibly) more elements you'll need to learn beyond the engine (depending on what engine you use, and how your game is going to be executed. Some of those elements will most likely be coding in different languages (
Java,
C++,
VB,
C) If that is the case here is a site that is specifically made to give tutorials on coding so you won't have to google/YouTube to much.
Coding Site:
http://landofcode.com/programming-intro/computer-programming-languages.php
Hopefully this will help you out!