- last post: 01.01.0001 12:00 AM PDT
First of all, I currently work in an engineering capacity and not for a game company, but I have designed and built maps before, and I have extensive programming experience, so I'll throw in my two cents. My advice to you would be to get a rough idea of what you want to do first of all. Do you want to design and build game engines, AI, new physics simulators, or is designing maps your thing? Does creating world objects and character models sound exciting or does creating environments, sky box designs, and the look and feel of a game rather than its function strike you? Once you decide what sounds the most interesting - something that you wouldn't mind doing 9-10 hours a day, 5-6 days a week (because you're going to be working those kinds of hours on modest pay, so it should be your passion) - then plan on gearing your education (wherever you get it) toward that focus.
Now keep in mind that you will inevitably get sucked into multiple projects that require knowledge and experience in things that are not your primary focus, regardless which company you work for. You need to have a broad skill set, so think of what a "second" or "third" area of interest is for you and study those as well. For example, say you love creating game engines but you also like designing environments. Then you'd not only want to become adept at programming, but you'd want to take courses in graphic design, and familiarize yourself with a variety of graphics platforms. If you want to compete for a job you love you need to think of your skill sets as commodities, and market yourself with them. The more you can do or are willing to do, the more likely you are to get hired.
Finally, I've left one thing out: your portfolio. Start it now. No wait, start it yesterday. The only way you learn is by doing, so even if you feel you have no talent in a certain arena, start programming now, designing/drawing/painting now, creating crude models now, etc. And save all of your work on disk, keep a collection of it by subject (design, engines, models, etc). Because when you apply for a job, it's not just your education and what you *say* you can do, it's what you *show* you've *done*. Bring your best work from your portfolio to the job interview.
And a few closing words of encouragement:
Programming isn't hard, it just takes time and organization. If you're willing to sacrifice sleep, you can program anything. Also, the hardest math you'll ever take to be a programmer is likely statistics, linear algebra, & trig (I would be surprised if you have to take basic calculus but it's a good idea). You should also study basic algebra-based physics and graphic design. You don't have to go to college for any of this, but it certainly helps to have those letters after your name. And remember that your actual portfolio may bear as much weight as the education you've had. Good luck!
- Drone Daddy