Programmers do the programming (shocker). They use programming languages (its getting clearer by the minute) such as C++ (the most common) to create the logical structure to the game. All computer software is built by programmers, you have to break down every problem to its most basic structure and write code in a purely logical way. Its requires the right kind of mind: logical, mathematically capable, with a skill for seeing the big picture while focusing on the details. Its very hard to explain it if you've never tried to write a program before, but its very easy to start: just download a compiler (many use Visual Studio) and find some online tutorials.
In the context of games, games as you play them have 2 different elements: the content and the mechanics. The content is all of the artwork, the models, the audio, the layout, the design. And the mechanics are everything that holds it all together: they give you a space to play in, they give you controls to play with and a structure that creates gameplay. The mechanics are created by the programmers, under direction from the designers. Effectively programmers make everything that you cannot directly see or hear in game.
This goes well beyond the scope of the gameplay of course, the rendering engine for instance (thats what takes the gameworld inside the computer and shows it to us on screen in a form that we can understand) is entirely code. The network code, lighting solutions, animation system, data storage and access, and on and on: it's truly huge and the reason why most teams have more programmers than any other group.
A game designers writes documents, lots and lots of documents.... so do programmers actually, but not nearly as many.
A typical game team will have a single lead designer, 1 or 2 game designers and several level designers (some people do both). The lead designer is responsible for the game as a whole: not the deliverable, but how much the player enjoys what they're playing (discounting bugs). They hold in their heads (and in many many documents) the entire scope of the game, the work out everything from the story to the art style, from gameplay to HUD, the lot. Its their responsibility to ensure that the whole thing comes together as one great glorious whole.
Now of course they dont come up with everything on their own: everyone else in the company shares the load, pitching ideas, testing and refining, sharing their knowledge and experience (its a very creative and collaborative process). The game designers share the tasks in a more official capacity: every system of the game requires design, and many many redesigns: the end product is always very different from the original idea. Consider for a moment how big and complex games are: every single element of that complexity was created by hand, and hence every single element was designed to some extent: thats a lot of work, particularly since most of it needs to be documented, so thats what the designers do.
Level designers are slightly different in that they focus on the levels; the playing areas, and usually they create them as well, using the level editor tools created by programmers for that specific job. If you want to become a level designer then pick a game with an extensive editor included and get cracking making your own maps / levels / games. Unreal Tournament 3 is a good one to try.
The developer is the company. These days games are made between 2 companies (even when its one company, e.g EA, that does both, they are still very much performing 2 roles): the developer and the publisher. In brief: the publisher fronts the cash for the game, they handle marketing and distribution. They are also very much aware of exactly what type of game they want, and so have a lot of input in dictating the type of game to be made. The developer is the half that makes the game: they employ the programmers, the artists, the designers, the production staff, the QA (Quality Assurance - aka the testers). At its simplest: the publisher pays the developer to make the game that they want.
So in summary:
Developer is a company, it hires designers, programmers, artists, sound engineers (etc etc).
The designer comes up with, formalises, structures and refines the game ideas: they design the game.
The programmer makes the nuts and bolts that hold it all together.
The other group that you didnt ask about is Artists. The artists make all of the content: from HUD graphics to the character models, from the weapon models to the weapon sounds effects. There are many many flavors of artist, just as there are many flavors of programmer. Some artists specialise in animation, others in texture work, etc etc.
Answered By: Isan - 1/12/2010