Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is Open Source and free for any purpose, including commercial ventures, thanks to its liberal license. Go ahead and grab it here. To learn more about Panda3D's capabilities, visit the gallery and the feature list. To learn how to use Panda3D, check the documentation resources. If you get stuck, ask for help on the forums, our community is very active.
This engine is incredibly powerful and fun to use. It's incredibly easy to make a working prototype that will eventually become a full fledged game for any desktop platform.
Documentation and tutorials are well made and explain the basics of what you can do with the game in both python and c++. However, python can be a bit deceiving if you don't learn python before working with this engine, or you may write very inefficient code that does more harm that good.
You can use any IDE to program in python and do your best jobs with it, you have no restrictions and the architecture is open as well so you don't have to use a defined structure for your game logic to making things work.
the big problem this engine has is that there is no default scene editor so you need to either look for one you can use, or, use a 3D software or write one in code. Or else you will have to do a lot of trial and error and this drags more expansive development
The engine uses the very readable Python language for scripting a complete game engine. Not just a rendering engine like others, but tools for just about everything you need to make a game.
The best part is the community. There's a forum ready to answer your questions or even creating tools like the new Blender exporter for 2.5+.
The only thing stopping me from giving it a 10/10 is a scene editor, although there are attempts made by the community (see?) so you can either wait to see an official editor one day or make one yourself.