Programmer Looking To Transition Into Games Industry

Started by
7 comments, last by frob 11 years, 9 months ago
Hello GameDev Community,

Ever since playing my first video game (Super Mario for NES) I knew that I wanted to try my hand at programming games. This was a primary reason I decided to major in Computer Science. After graduating, I took a job working on fighter jet simulators for the defense industry. I thought this might be close enough to game development to quench my thirst, but alas, I was mistaken.

I recently completed another degree, which my company has paid for. However, I am obligated to stay with my company for at least two more years (otherwise, I must repay them for my education). I plan to take this time to learn and expand my knowledge of the game industry and brush up on the required skills to work as a programmer in the game industry. I am currently working on a master two year schedule that will allow me to become a more sought after candidate. This schedule will ultimately be broken down into monthly milestones, and perhaps even weekly "inchstones", allowing for me to track progress and adjust accordingly.

I am looking for some guidance/suggestions from any veterans of the industry as to what some good tasks , exercises, and/or reading material may help me better prepare for such a transition and to help build a portfolio. I have recently started searching through job postings on gamasutra.com to get an idea of the requirements of game programmers. Below is a rough list of tasks/exercises I have currently come up with.

+ Become familiar with OpenGL Programming in C++ and Java
- complete NeHe Productions OpenGL tutorial set
- read at least 2 books on the subject. Also, look into how OpenGL is being used on mobile devices

+ Become more proficient with Java Development (primarily a C/C++ developer right now) and Object Oriented Programming in general
- perhaps port an older open source game into Java?
- read up on design patterns

+ Become more familiar with commonly used development tools throughout the gaming industry
- create a small, polished game using Unity3d / C#
- familiarize self with Unreal Development Kit / Scripting. Complete a small project/game using this toolset.

+ Brush up on algorithms related to AI and gain exposure to new techniques
- read one book on AI design specifically for games
- read a no less than 5 white papers on recent AI techniques used in modern games.
- Try to implement at least two algorithms from white papers

+ Review 3D Math / Linear Algebra
- read

Mathematics for 3D Game Programming and Computer Graphics

- pull out old college text book/files. Try to complete handful of questions from tests/homework

+ Better understand game design and what makes games fun
- read at least 3 books on game and level design
- create "complete" game design documents for two smaller game projects mentioned above
- complete David Perry's Game Challenge (play 100 games and write 1 page critique for each on their design, keep journal on "cool" ideas from games)

+ Learn more about the industry and network
- read daily blog update from gamasutra
- subscribe to and read number of RSS feeds for industry news
- attend at least one game development convention (next years GDC?)
- get involved with local game development enthusiast group.
- attend as many game jams as possible... (at least 2)
- if possible, try to make contacts with industry veterans using social media without being creepy or annoying.


Is there anything huge or obvious I am missing here? Is there anything listed that may be unnecessary? If anyone has any specific ideas for projects to help build a portfolio, I would be anxious to hear any/all suggestions.


Thanks for your time and all feedback is greatly appreciated!

Advertisement

Hello GameDev Community,

Hello.



Is there anything huge or obvious I am missing here?

No.
You hit the major points, which are certain educational aspects and networking aspects. Just make sure you are not too creepy about the networking aspect and be patient. Beginners don’t network—not “for real” anyway. Your major contacts will only start to come once you have established yourself in the industry. Until then, expect a lot of false contacts that are just humoring you. Treat them the same they though, only purposely refrain from being offended when you detect that they are just humoring you.




Is there anything listed that may be unnecessary?

Yes and no. Yes because you will certainly end up learning a skill that will not help your career in any way.
No because it doesn’t matter. Unless you can predict the future, learn all you can about everything you are interested in learning. One reason I mention your personal interest is because not learning something can actually be a shield against a terrible life.
I would rather be jobless for 1 or 2 more months than to learn PHP and get a job making web pages. I would be miserable for 2 or 3 years instead of just a little stressed for 2 months. If there is anything on your list that is not something you can easily see yourself doing every day all day, erase it.
Sometimes you start to lose your mind and think, “I need a job, even if it is a crappy one! I will quit after a few months!”, but that is never the right answer, and never the way it goes.
My ex-coworker is going into year 4 of his hell and he sees no end to it.



If anyone has any specific ideas for projects to help build a portfolio, I would be anxious to hear any/all suggestions.

Tetris clones, small games that you can complete on your own, etc.
Small games should be made entirely on your own, and show more merit since there is no question about how much of it you actually made yourself.
Medium games (still small enough for one person) are not bad either using Unity 3D or UDK since many companies are now using these engines, so that experience will be applicable.
But in any case, get things done, and get as many of them done as you can. A lot of little projects shows passion, and they are things you can complete on your own, which allows you to avoid the mistake of showing something incomplete to a potential employer, which they hate.


L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

L. Spiro,

Thank you so much for taking the time to respond to my inquiry! From your response, it seems you are a programmer yourself within the industry. Is this the case?

If so, would you feel comfortable briefly discussing what you included within your portfolio when starting out?

I may be taking you a bit too literally, but is there really an advantage to having a Tetris clone in your portfolio? I suppose this would show that you have some basic programming knowledge, can use some graphics API, and can see a product through from start to finish? I also understand that if I am to complete a project on my own, it is going to have to be very small in scope (especially if I plan to complete more than one, in a two year period, while working full time!)

I was just concerned that "cloning" projects might show a lack of creativity?

Thanks again for your input and expertise!
I may be taking you a bit too literally, but is there really an advantage to having a Tetris clone in your portfolio?


After positing, I re-read this and realized that it may come across as if I was questioning your advice. I apologize as that was not my intent at all. Just looking for clarification.
is there really an advantage to having a Tetris clone in your portfolio? I suppose this would show


The advantage is for you personally, not to impress someone else. Nobody cares that you made that game. But your having made that game helps you understand games better. It's a stepping stone. Hirers only care that you climbed the stairs and got to the level they need. They don't really care about each and every stairstep you climbed along the way.

That clone is not a portfolio piece. It's a lesson you studied.

-- Tom Sloper -- sloperama.com


Is this the case?

Yes.



If so, would you feel comfortable briefly discussing what you included within your portfolio when starting out?

I may be taking you a bit too literally, but is there really an advantage to having a Tetris clone in your portfolio?

You are not taking me too literally. I still have it to this day and I might even rewrite it so that it is not framerate-dependent. It is too fast on my current PC.

But at the same time it was a learning experience that I do not regret at all. That is your ultimate goal in any project that is just meant as a clone.


[background=rgb(250, 251, 252)]If so, would you feel comfortable briefly discussing what you included within your portfolio when starting out?[[/background]



[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]A Tetris clone with online support (coded entirely in mIRC script) (and they loved it), MHS (Memory Hacking Software), and SS7O (Something Something 7 Online, which was just a rip of Final Fantasy VII, ported to online playability.[/background][/font]




[color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif]

[background=rgb(250, 251, 252)]It got me my first job overseas easily and I have been working overseas since. You do need to remember that the entire world is your oyster, not just your country.[/background][/font]





[background=rgb(250, 251, 252)]L. Spiro[/background]

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

Hi,

I'm a huge noob in graphic programming and I'm not in the industry, however for the tutorials I recommend you to do a modern tutorial too, like this one : http://www.arcsynthesis.org/gltut/
because from what I saw, the NeHe tutorials explain old methods which are not used anymore. Nonetheless, I did a lot of Nehe tutorials and they are really well made smile.png

For the arcsynthesis tutorials, at first, you just have to compile some tools separately, but when it's done it's a really good tutorial I guess : it explains VBO and shaders at the beginning and a lot of other features.


As I'm not a pro, an expert can confirm.

For more OpenGL tutorials, you should go here http://www.opengl.or...Getting_Started
I'll check it out. Thanks

for the tutorials I recommend you to do a modern tutorial too

While on the one hand it doesn't make much sense to learn obsolete technologies, on the other hand it doesn't make sense to offer a beginner steak when they can barely tolerate milk.

It is important to learn the principles and theory behind how things work, and often the best way to do that is to build it yourself first.

Even though advanced rendering libraries are available, universities with graphics courses still have their students write software rasterizers. It is similar to how they will teach you the algorithms behind linked lists and trees to help you understand container classes, teach you ten ways to sort objects rather than just relying on built-in sort, and so on.

The NeHe tutorials are a little dated, but the theory in them is still very applicable. Most of the new technologies are just faster ways to do exactly what the tutorials do. Once you understand the fundamentals then the more advanced stuff will come naturally.

This topic is closed to new replies.

Advertisement