Try looking into Unity3d Game Engine. It can compile for many major game consoles including wii and ps3. Supports many programming/scripting languages such as C++, C#, Python, Javascript, and many others. It’s very flexible and I have used it personally before and was quite satisfied. Although I never finished anything or care too much for 3d video games, I will say that they have outdone themselves and it is a pretty good engine. I wouldn’t use it for 3d modeling though. Blender 3d is pretty good for that and can dub as an animation software. As a game engine I personally think that Blender is weak in those areas, but is outstanding for modeling and animation and supports all of the same languages as Unity3d including Python Console. Therefore, Unity3d and Blender 3d complement each other pretty well. Unity3d has a strong engine, weak graphic design, and Blender has a weak engine, but strong in graphic design and animation.