it does depend on the requirements for the game, but if you need real time 3D rendering, your on the right track with C++ and OpenGL. Be sure to have a good knowledge of both before starting something big though.
I would stay away from ActionScript and the like, unless your true goal is to make a bunch of browser games. The Flash market seems to be quite different from all the rest of the games, so that's a decision you'll have to make.
If you're making desktop games, there's no doubt that C++ is the root of your choice. Now whether or not you program directly in C++ is up to you... The thing about C++ is that it gives you a lot of power (which is good), but it's up to you to make your code cross-platform. You'll find plenty of libraries for Windows game engines, or DirectX this, OpenGL that, but I find it most beneficial when you can write a game and deploy it on Macs, PCs, Linux, the works.
I recommend BlitzMax to get you started with game programming. It uses the simple/non-intimidating syntax of BASIC, but under the hood it's really just a wrapper around C++ and open source libraries. It's actually quite genius, and as you grow as a programmer and learn more about memory management and whatnot, you can essentially do whatever you want with it.
C++ and OpenGL is really the way to go. Blender is a 3D design tool more than it is a game language. From what I understand, you can do some limited programming in it, but for flexibility's sake, you're going to want to use Blender just to design your 3D models, and a real programming language to write your game.
For my project, we're using Ogre3D as our graphics engine. It is extremely flexible, well documented (books have been written on it), and portable between different platforms, so ultimately, it can be used to write games on PC, Mac, and Linux. There are also a bunch of third-party libraries and interface very well with Ogre3D that can help you handle physics. Very helpful.
This is a frequently asked question on Daniweb's gaming forum. Make sure you read the posts more thoroughly before you post a question as broad in scope as that again.
Not sure as I haven't seen anyone mention this language, but I personally use DarkBASIC Professional as a programming language for games development; mainly due to the fact that it was created for the purpose of making games and I find it easier for use with 3D programming.