RecoN64bit said:
I am very interested in video game development but also other things like, computer programming, network security and robotics. I mean you hear all the time, that the United States needs more engineers to compete with other countries. I'd like to try to be a part of the country's bright future. Even If I barely help along progress, I'd still like to be a part of it.
I want to work on at least one video game during school, and then work on one after I graduate. After that, I'd like to move on to other things. Is this possible or am I being naive?
Hello RecoN64bit.
I used to do this (video game development), so I'll give my advice based on my own experiences.
First thing as people have mentioned it is competitive.
Second thing, many places are outsourcing their work where they have access to cheap labor and a labor force that has the required skills. For example in Australia, since our currency has gone up, we have lost some companies which have shut down and development has moved elsewhere. You should be aware that many creative industries operate this way like movies, cartoons, video games and so on.
Third thing is that you will be worked hard for little money. You do not get into this industry for money.
In terms of skill sets, for modern video game development, you need a lot of skills. You have to realize that modern video games are really complex platforms and you need to be able to get a code base of more than half a million lines of code (for the engine alone), and you have to digest that quickly and be able to do what you need to do.
In modern game engines you have a lot of math (numerical calculus, spatial classification, every application of euclidean geometry that you can think of), computer science (every algorithm class that you can think of), software engineering (games engines are based on designs that have an enormous amount of metadata that is used to interface an abundance of features like incorporating a complex scripting system with the compiled source code just as an example), and incorporate every kind of coding paradigm that is required.
On top of that, you need to be a very good communicator. You won't get away with poor written skills.
In my opinion, the best way to prepare for a job in this industry as a developer is to make a small demo with other kinds of people like artists and a designer. What you should do is get access to a decent engine of good complexity, and then create a game.
I can not think of a better way to prepare for the industry than that. In the process you will have to handle everything from user interface routines, to collision detection, to lighting, to making sure the geometry exporter for 3DS MAX works properly, and so on. It's the best way to really understand what game development is all about.
Doing the above will eliminate all forms of naivety, because it will show you what you have to do.
If you do the above, I recommend you do a degree in something like mathematics, computer science, engineering, or something along those lines in conjunction with learning. It might be better that you do a double major in mathematics and computer science, and then apply your knowledge in a demo game project.
That is the best advice I can give you for preparing for this industry.