my name is joe and im 17 years old. Im beginning to get serious about what career id like to pursue and my love for video games and computers has me considering programming. ive never done programming before but id like to somehow see if its something that would interest me. I would love to work on producing new video games, to me, that would be a fun and exciting career. now i do have some concerns about this, im not sure about the job availability in this subject. if i do find that i love programming and i take college majors in it, will i be able to get work with video game companies? i dont want to settle for programming just anything, i really want to work with games. im hoping someone has some advice for me. maybe i can get a head start by learning early (im still a high school junior). id like to learn some stuff and maybe try some programming to see if its something i would want to do for a career. any advice, suggestions or help would be greatly appreciated
I was thinking the same thing at 17, that I wanted to make computer games. Having just graduated with a degree in computer engineering, I can offer some perspective.
Firstly, take a programming class or buy some books and see if you actually like it. Some people have an idealized image of what programming actually consists of, and when they start actually doing it they find it tedious or even tortuous. This wasn’t the case for me, but it happens.
Second, there is nothing about programming games as such that is so different from programming other things that warrants getting an “early start” towards it. The important part is to learn the fundamentals of how computer languages and systems work. Once you get a solid grounding in that, going into a particular application of programming will be relatively easy.
Thirdly, one’s interests change over time as one learns more. When I was 17, I thought programming games was definitely what I wanted to do. After I learned more, I found there are a lot of other interesting problems and applications besides games, and at some point I lost interest in that particular pursuit. You’ll have plenty of time in college to get a better idea of what you actually want to do when the time comes to get a job. Don’t sweat it at this point.
Lastly, I don’t know first hand, but I’m pretty sure that the making of modern computer games involves much more than a bunch of programmers coming up with an idea for a game then hammering out code. I’m betting that even if you do write code, you write only for a particular component of what are now huge programs, e.g. you might work on sound, or video driver compatbility, or lighting effects, or the installer, or something similarly narrow. I’m guessing the people who come up with the game concepts, stoylines, etc do only that, and no actual programming at all. Basically, understand that there is much more to making games (or anything else in the computer industry) than programming. So you could easily make a career in the field without ever writing a line of code.
Thanks alot for the input. Im aware of the fact that modern games are made by huge teams of people and that a single programmer can only handle a small portion of the game. It seems like other than programmers, most other parts of video game creation leans towards the artistic side such as drawings, animation, graphics and other stuff like the story and script of the game. since none of that stuff really interests me, and the fact that im not to artistic, i thought programming would be the way to go if i wanted to get involved in the video game industry. Im not going to rush this programming thing, i guess ill start learning about it to see if its right for me. maybe ill even find another section of video game making that interests me even more. thanks again and if anyone else has suggestions, please let me know
oo yea.. i also was curious about what programming languages are currently being used in the programming of modern games. id like to learn the languages that are being used today so that i can familiar myself with them.
C and C++ are some of the most used languages, due to their speed and efficiency etc. C# is another candidate according to Microsoft, but is not heavily used (but as far as I can tell is probably a great way of making smaller games, being an interepreted language, its not so good for bigger / more demanding games).
However many other languages have been used, someone even made a game in Python so I hear, and Javas good for some smaller games, as youve probably noticed on many sites.
But for mainstream games, C and C++ make the most sense as their are so many powerful code libaries/ tools/SDKs etc that make things so much easier.
thanks so much. ok now i have some questions about careers. Im really not sure about the demand for programmers in the video game world. If you have the right degrees, is it hard to find a job in a big name video game company? The thing is, i dont want to get extremely interested in working on games, only to find that i cant land a job doing what i want to do. so can someone give me advice as to what i should look foward to?
oo i also forgot to ask one more thing. can someone recommend a book to me that teaches these languages for an absolute beginner with no prior knowledge in the subject? id like to learn whatever languages would help me to move towards general programming at first, and then advancing towards programming modern games. as you can see im very new and i am not sure what to expect or what i need to learn. im hoping you guys can point me in the right direction.
C# is another candidate according to Microsoft, but is not heavily used (but as far as I can tell is probably a great way of making smaller games, being an interepreted language, its not so good for bigger / more demanding games).
C# is not interpreted. It is pre-compiled into intermediate language, which is then either pre-compiled (by the software distributor or the local user) or JIT-compiled (on-the-fly) into machine instructions. C# is a language designed to allow the developer to write correct code rapidly. It may prove to be useful for game development via XNA, a game-development platform, but XNA is very recent.