thellrazor :
Hi guys

I'm goingt to study computer engineering and my dream is to make video games but Idon't know if I want to do game programming or game designing. Here is one of the things that I'm asking for your help. I want to work for well-known companies like Crytek, Valve, Rockstar Games etc. but I don't know what the engineers those work for them do. Of course there are so many parts of game but I want to be the one of those guys who makes the heart of game. And to do this I must learn something before the school starts. My questions: Do I want to be a game programmer or game designer? What should I do before I start studying? Which programming languages should I imphasis most to learn? I'd be so happy if you answer, thanks.
Hi, computer engineer here.
A Computer Engineering program will not set you on the right path for game development. It will certainly give you some of the right skills and the right mindset, but much of your academic experience will be inapplicable.
Most professional game developers have Computer Science or Software Engineering backgrounds.
As for what you will need to know.
Academics:
Data structures and algorithms. This is fundamental to computer science, computer engineering, and software engineering. I spend an immense amount of my spare time trying to think of more efficient ways to perform repetitive tasks.
Operating system design and theory. This is essential to knowing how programs interact with the system and with eachother. You can learn a lot of the nitty gritty details before school. Many computer engineering programs include this.
Real time systems. If you want a smooth and functioning game you must learn how to get your programs to meet real time constraints.
Calculus. This is a basic engineering fundamental. All engineers and computer scientists have to take multiple calculus courses. In terms of game development, most simulations boil down to discrete calculus. It's used everywhere, but it's hard to appreciate until one finds an application for it.
Geometry. This is not a topic taught in computer engineering and it will be a major gap in your knowledge if you intend on ever working on 3D game engines.
Technical Skills:
C. If you want something done right, do it in C. This is a good skill to have on your resume when applying to any computer-oriented job
C++. This is the most common game development language. It's also the most common source of crappy developers, who are easily identified by thinking that having written a few labs in C++ means that they are C gurus as well.
HLSL/GLSL: These are the languages in which GPU shader programs are written. They're not particularly difficult to learn on their own (they're quite simple) but shader programs have to be
very efficient so the work that goes into them is immense. Having some exposure is always a plus.