With a little imagination and a good dose of determination, Unity can help you create any 2D or 3D game. You can make it faster than most other engines, you can make your game highly optimized to run like silk. However, If starting from scratch, mastering a programming language seems a bit daunting and you absolutely must start your idea for the next big game, NOW! Consider Unity.
Unity is free to learn and develop and has an exceptionally supportive community, tonnes of free and cheap resources. Arguably, Unity is comparatively simple coding compared to some other engines. Unity uses the C# programming language.
As Unity is therefor, probably the fastest game engine in terms of getting started and you only need a brief introduction to some basic C# knowledge, you can begin to develop games with Unity straight away!
If you want to give Unity a test run then take a look at these getting started Unity projects.