How to prepare yourself for working in game industry?

Started by
6 comments, last by rAm_y_ 10 years, 1 month ago

Hey,

I already have quite good knowledge of C++. I've written 2d game in DirectX 9, played with network programming a bit and WinAPI. Now I would like to start learning 3D game programming and I wonder what would be the best approach? Should I learn DirectX 11 and try to create my own engine? I've already tried to learn DX 11 but it seems to be pointless... Going through DX 11 tutorials is a pain for 1 person and takes too much time in comparison to knowledge achieved. So maybe should I learn some 3D library like Ogre or download a game engine like Unity or Unreal? I would like to go with a solution that would give me most abilities and knowledge used in professional game development.

I would be very grateful if someone with experience could share his thoughts!

Advertisement

<uncalled for general negativity about the industry removed>

The Four Horsemen of Happiness have left.

It really depends on what kind of company you want to be working at. Small indie companies obviously won't have the resources to program hole engines, so these studios usually use existing game engines like UDK, Unity or even GM. Many larger companies build their own engines, but that doesn't mean you have to know DirectX or OpenGL if you work at such a company (it's a good idea though wink.png ).

OpenGL and DirectX are both good choices to experiment with because you will learn much more basic things using them, which will also make it easier to learn higher-level engines. DirectX is, for as far as I know, more used inside big companies than OpenGL.

If you work in the games industry it is very unlikely that you will be asked to write a games engine by yourself from scratch. However you may have to tweek or improove one so having a working knowledge of how games engines work would be a good idea. Read books like Game Engine Architechture to get a basic understanding of how an engine should work. Also try making a game using an existing engine such as UDK or Unity just so you can see what you get with a fully featured engine.
A lot of companies that use an in house solution will have something a lot lower level than UDK so also have a play around with engines like gameplay3d or Ogre to see the difference.

Some things I want to mention:

1.) Follow the community and interact to get a feel for how programmers think (other people's problems might be your problems, soon)
2.) Try to get feedback while you are working on your projects somehow
3.) Write low-level toolkits and frameworks for simple things - to learn how to design systems and components
4.) Bring existing software together - to learn how to do research and use APIs
5.) Think about what purpose specific high level libraries serve and play the thought of how you would design something that is better suited for your needs
6.) Take a look at the theory out there - what problems will you run into and what are known solutions for those problems

If it is at all possible try to team up with others to see what problems arise when several people concurrently work on the same codebase.

I guess playing the thought ... implementing and designing in your mind only ... that is underrated and a great thing to turn into a habit.
Given enough eyeballs, all mysteries are shallow.

MeAndVR

What kind of role would you like play in the game industry? Do you want to work at a small company making 2d games? Then iterate and continue to make 2d games, maybe branch out and try different engines and target different platforms, as 2d games tend to show up on every platform you can think of.

Do you want to do graphics? Then dig into graphics apis, write shaders, make cool graphics demos. Do you want to do gameplay? Make games, don't worry so much about directx or opengl or whatever, just use an engine and demonstrate some gameplay.

Do you want to do AI? Make games where AI is the showcase, or write AI for existing games, enter AI competitions, etc.

The pattern should be pretty apparent by now, if there is an aspect of game making that you are most interested in, than spend lots of time learning and becoming knowledgeable in that area.

If you don't know, then I suggest trying out a little bit of everything. Try writing some graphics specific stuff, dig into animation, try your hand at a 3d game, try some physics, etc. If you find something you don't like, then don't concentrate on it. =) Though just be sure to know the difference between finding something difficult and finding something distasteful.

Also, make sure you have your portfolio available for prospective employers to look at.

Moving to Breaking In.

Now that it is in the right forum, please read the Forum FAQ, as it answers the question in depth.

Haven't watched all of this but seems good so far, also a lot of good stuff on this channel and other channels also.

Here's another good channel.

http://www.youtube.com/channel/UCStZs-X5W6V3TFJLnwkzN5w

This topic is closed to new replies.

Advertisement