I do not know how to program. Can I contribute in any way to game development?
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
Yes, you can.
Developing games requires, generally, a variety of skills. Programming is one of those skills, but it's not the only skill involved. Games generally require art and sound, gameplay mechanics design. They often require writing. Voice acting, marketing, QA testing, and so on.
If you can offer any of those skills, you can potentially find yourself in a position where you can contribute to the development of a game.
Even if you don't know how to program, you can still contribute to game development in a variety of ways by being one of the following:
-- Artist - Nearly every image you see in a game was drawn by an artist. If there weren't artists, then game graphics would be just as good as doodles. However, special effects (flashes, explosions, etc.) and lighting require programming to make (techniclaly, you can draw anything frame by frame, but special effects are the ideal and more performant way of drawing special effects). Also, the technical details of how to use and animate the images are handled by the programmer. OpenGL and DirectX are used for the programmer-side of things.
-- Musician - A game needs music and sound effects, of course. Programmers can also participate in this by doing interesting things with the sound card (OpenSL, Direct Sound, something similar is for this)
-- Translator - Needed for when you need a game in a country whose language you don't know.