Gamemaker can take a week or two to learn (tutorials are provided) but it is well worth it. With Gamemaker, you can build simple games very quickly, no coding required. Large scale commercial games are also possible, and can be released across a variety of platforms.
If you plan to develop a 3D game, I would suggest Blender and its game engine.
The pros are: an integrated environment for both content production and run-time execution, both visual and text-based programming approach, all the power of Python at hand, very light for loading and execution, multi-platform deployment (but not web).
Cons: Some practice with 3D editing is required, must be skilled in Python programming, low performances compared to other game engines.
I would, as well, suggest Unity3D as it is a free game engine and easy to learn with a lot of preset assets to add into a 3D game (e.g. first person player, terrains etc)