Making a game can be hard at times. So here are some options you can do.
Option 1: Use a game making program such as Gamemaker Pro or FPS creator
Advantages: Easy to use, can be done quickly and can be a good start to the world of programming/gamemaking
Disadvantages: quite limited software and can cost money.
Option 2: Using SDK's such as Cryengine 3, Source SDK or Unreal SDK (source would be the best IMO)
Advantages: Already has an engine built off of it, can create 3D games with good graphics very quickly and has quite a lot diversity.
Disadvantages: Still has limitations on how a game is made, can be quite hard to understand and you should have some experience in 3D modeling.
Option 3: Using programing languages such as C++, Java, VB, Python etc.
Advantages: Complete freedom in how your game is made, no limitations you create what you want.
Disadvantages: You have to learn how to program using the language, can take a VERY long time and can be quite difficult.
I also don't want to demotivate you, but making a game for a big time publisher like Ubisoft, EA and stuff like that would be very hard. Think of making a game in terms of man hours, lets say Ubisoft takes 450 employees, they work 8 hours a day, and it takes 300 days to complete a game. That's 300 x 8 x 450 (1,080,000) man hours it took for them to complete a game. So if you wanted to complete a game as good as the ones published by ubisoft and such, by yourself, it would take you approximately 123.28 years. However, that does not mean you can't make an awesome game, I'm just making sure your goals are feasable