The question of what tools and what programming languages comes up a lot. For me, there's really two answers to that question because there are two major kinds of games. There are sort of big, hardcore games, and then there are big, casual games. I say big because people think of casual games as being little, but they're actually a lot more complex than you might think.
If you want to make games that are going to be on a console, or they're 3-D, and they're going to be complex animation models, then you should know C++, or some other form of object oriented programming. You should know C++. There's really no substitute for that.
If you want to do casual games and web-based games, you should definitely know Flash, and probably HTML5 at this point. Then there are a bunch of other supporting casts of programming languages that you can know, and you need to be flexible and a fast learner.
Game Designers is really great for them to know, in some cases, scripting languages. Whether it's Lua or some other scripting language, depending on what environment you're in, if you're a systems designer, you might actually be writing some code that ends up in the shipping game. Plus, you also need to know what it is the programmers do so that when you ask them for something you really know what you're asking them for.