Development Tools and environments

Unity3D

Unity3D is a modern 3D Game Engine that can generate executables for Windows, OSX, Linux, Flash and Android. There is a free and community version as well as various academic license options. It is scriptable in any language supported by Mono but focuses on C# and Javascript.

UDK

The Unreal Development Kit is a version of the professional Unreal Engine intended to compete with Unity3D in the independent developer space. It is a more traditional game engine. Its scripting language is its own dialect of C. It can create executables for Windows and IOS. (The full license version of Unreal is needed if you wish to deploy to other environments such as consoles and Android.)

CryEngine 3

CryEngine is another complete 3D game engine that is available free for educational and non-commercial use. It can create executables for Windows, PS3 and OSX. It uses LUA as its scripting language.