Getting Started

So you want to break into the video game industry (you want a game biz job). First, you have to know which type of job you want -- if you don't know which you want, you need to read about the game industry and the types of jobs in it. Then you might need to make a decision. Third, you need to be qualified for the job. Fourth, you need to know how to find information and how to ask good questions (you need to not ask bad questions). Finally, we have tips for getting the job.

Hey folks.I just want to know if it is kinda possible to become a professional gamedeveloper learning at home.

Im currently learning win32 in c++ from Michael Morrisons book "Beginning Game Programmng" and i aim to learn directx afterwards.There are many good books out there that teaches directx.. so i kinda think its possible to become a professional without a school, but im not that sure.

The reason why i dont wanna choose to go learn game programming through the school (which is much more safe way), is because then i have to go to college first which takes 2 years. And in those 2 years i will get tortured with homework and have to learn all kinds of subjects which i dont even need(only math, but i can take single courses with it).

So after the college i can go to a university in computer science... but i dont even know if they are teaching c++ which i chose and im pretty happy with it. Also i dont know if they will teach directx because thats what i aimed for since im learning win32 at this moment, so it will be a giant waste of time if i find out in the university that they teach java or c#.

Right now im just learning at home and i have a job besides me, so im not doing anything than that. Im 20 years old by the way.

If i choose to learn it through the school... then i start in 2013 after summer. So i have like 8 months from now on to learn it at home (without any homework/school interruption) before i get tortured in the college in two years. (and if i find out in my future university that they teach c# or java... then... thats like losing $1 million in poker)

I just want to know if it is kinda possible to become a professional gamedeveloper learning at home.

Yes, sure....

But the real question is, what is necessary to get a job in the game industry.

When you are a rookie you need some references and a degree is a good reference (demos too), so going to school, getting a degree will increase your chances a lot. Without a degree it is likely that many companies will stop reading at your missing degree, giving you never a chance to demonstrate your skills.

Yes, you can become a professional after learning at home, getting your first job without a degree will be significantly harder than getting it with a degree though.

The hard part when applying for the first job is always to get to an interview (if you know what you're doing and manage to get to an interview it is fairly easy, most people suck even though they have a degree). Applying at smaller companies or getting connections in the industry will help you get past the initial screening (Which is where a degree matters most)

You shouldn't choose university based on what languages they are using, Few CS educations use C++ since it is a shitty language to use in education, most CS and SE concepts are far easier to teach (and learn) using other, more specialized languages, (Normally they don't teach languages at all, they might use a language to demonstrate concepts though), at my first year in uni we had to use Java(OOP), StandardML(functional programming), C(Systems programming) and Prolog(logic) and in some classes(Datastructures and algorithms for example) we could choose between Java, C and C++ for our assignments. (We never had a class that required C++ though), we were expected to pick new languages up as we went along. (For the systems programming class we got a 2 hour introduction to C and then it was all about pipes, processes, semaphores, etc and it was up to us to figure the language out)

Also, you shouldn't restrict yourself to a single language, you will become a far better programmer if you pick up a few different ones. (Personally i wouldn't hire a programmer who only knew C++ even if it was the only language we used in production)

Edited by SimonForsman, 15 October 2012 - 04:24 AM.

I don't suffer from insanity, I'm enjoying every minute of it.The voices in my head may not be real, but they have some good ideas!

Hi, of course it's possible, I did it myself, (well I learned a bit of C++ at school, but it was anecdotic...).
Nowadays there are a lot of useful resources, books, internet ...

If I were you I would try to team up with a like-minded guy or two. Developing alone can become frustrating in the long run (I've done that).

Is there a specific branch you're more interested in ( rendering, sound, physic, gameplay ... ) ? The sad reality is, it's good to know a bit of everything, but at the same time if you want to be strong on a particular branch you'll have to focus on it.

Another advice: if you're aiming for rendering, I would STRONGLY suggest that you begin by studying ray-tracing (more precisely path-tracing), the rendering equation, BRDF and things like that. Keep in mind that actual DirectX / OpenGL games (rasterization) are mainly dirty hacks above dirty hacks, to approximate the "rendering equation".

Moreover I think path tracing is the (not so far) future, see raytracey blog ...

When that is done, it would not be useless to try to implement a small old-school software rasterizer, it will help you understand how 3D cards work internally.

Then and only then you should have a look at directX11, also, try to get familiar with CUDA/DirectCompute it's becoming very important.

Don't hesitate to ask me questions, I can also give you some advices on books and lectures.
( I strongly suggest you buy the "Game Engine Architecture" book by Jason Gregory )

I dunno, if you're afraid get getting a formal education because it requires that you work hard and spend a lot of time on things that are not of immediate personal interest to you, how do you think you're going to get on in the professional world where you have to work at least as hard and spend even more time doing things that are not of immediate personal interest to you, and the only help that's generally available is help moving on to another job?

look at all those indie devs now on steam making money from self teaching them self

Do they ? You would be surprised how large some of these indie teams are, what budgets they got, what education they have and that many successful indie teams have their roots in the dependent industry.

You can do anything you want with enough dedication and effort. Having that said it wont be easy, you need a lot of skills. Yes a degree counts but i am convinced if you teach yourself enough and publish a good solid game you are already one step ahead of someone without a degree. Both a degree and a finished project show off determination to finish your goals but a solid finished product will get a lot more attention and perhaps some money rolling in.

The problem is, you will need a lot of skills to get a solid product on the market. Graphics, programming, music, sound, design, marketing, etc should all be good enough to get that attention. If you lack one of these skills you have to invest money prior to getting anything out of it, and perhaps you wont get anything out of it. It takes a long time till you are ready to start a good project on your own and finishing such a project generally takes even more time. There is just a lot involved in a project of your own so if you want to be professional getting a degree is the fastest way, you can work on your personal skills and projects in your spare time while still learning and gaining experience at your job.

Yes, it is possible to get a job in the games industry if you are self taught. However, you will find it much more difficult to get an interview, as degrees are now expected for the majority of positions. Independent development of course requires no particular formal education requirements. Formal education isn't just about learning the material -- it's about showing dedication and the ability to follow through with tasks that aren't necessarily interesting, and about teaching you to be self-sufficient.

it will be a giant waste of time if i find out in the university that they teach java or c#

No offence, but that's a terrible attitude to have. If you're working on your own professional projects or aiming to be a self-employed indie developer you can use whatever language you wish, but if you're not willing to even consider other languages you're disallowing yourself from a large number of professional development jobs using languages such as C#, Objective-C, Java, Lua, Python and others. Whilst C++ is generally the go-to language for AAA development there are plenty of other languages used professionally, both for games themselves and for the creation of tools. Other languages are also perfectly fine -- and possibly even superior to C++ -- for teaching programming concepts to beginners. It's fine to have a preferred language, and to use whatever you like for your own projects, but you should be willing to use other languages as well.

If you want a job in the industry, you should get the best formal education possible. Otherwise do whatever you feel most comfortable with.

You can get a job without formal education, but it'll be much more difficult.

Like a guy who gave us a talk about entering the software development industry "Languages can be learnt easily but programming concepts, that's a different story...".

Point is, programming language is a tool, like Photoshop for a graphic designer or AutoCAD for an architect. But you don't see any architect saying "Oh man, in uni they teach us all these weird math but no AutoCAD at all!" (and if you do, I wouldn't trust him a building if I was you).

Programming concepts like algorithms, paradigms, structures, design patterns, etc are (almost) the same for all languages. In uni (well, in some of them at least), the point is not to learn Java, C# or 8086 assembly, the point is learn to be a programmer. You'll have sometimes to play different roles like web designer, project manager or micro-controller programmer, and learn the kind of things that those people deal with. Maybe low-level coding for ARM architectures is your thing and you just don't know it yet!

The idea behind a guy who gets a degree is not that he knows the most used languages but that he knows what developing a piece of software is about. He knows about design, about structure, about how to tackle the problem. So when that dude sits in front of a computer and someone says to him "Code this and that, in C++ please" he, even if he doesn't knows the language perfectly, will write good quality code nevertheless.

Besides, you will learn what "programming" is about in all sort of things, from low level CPU stuff (registers, memory addresses, etc) and operative systems, to high level languages, visual design, web development, data bases and more project management oriented stuff like design patterns or how to handle different people working on the same project.

Some of that will interest you, some of it won't, but that's the price of broadening your knowledge. But I mean, I wouldn't recommend you to go to university if you keep your "I want to learn C++ because that's how games are coded" mindset because you will be frustrated about it, it will seem to you that you're learning nothing useful and you'll be just yearning for a degree and to get the hell out of there. Now, if you go to university for the sake of having knowledge, if you stop measuring things in "how useful they are" categories, you'll learn a lot and you will appreciate things differently.

To me, knowledge for knowledge's sake is fun. I'll never find an use for Intel's 8086 architecture probably, but I enjoyed learning it. Now I'm learning OOP through Java, both things are widely used in the software industry right know and I'm enjoying it too. Even DB programming is fun, though I hope to stay very, very far from a data base in my career.

The idea behind a guy who gets a degree is not that he knows the most used languages but that he knows what developing a piece of software is about. He knows about design, about structure, about how to tackle the problem. So when that dude sits in front of a computer and someone says to him "Code this and that, in C++ please" he, even if he doesn't knows the language perfectly, will write good quality code nevertheless.

Yes, to which I would like to add:The guy who gets a degree shows he can stick to and complete a multi-year task full of things that aren't immediately gratifying.

id like to start by saying i really have no or little knowledge in making games or programs. But at this point i personally feel a greater amount of respect for the " learn at home" people out there. i feel its saying hey i dont have the money to go to a collage but im going to stick with this and learn it any way i can. When i put my game or program out there for the world to see they will know that i have the knowledge and desire.They will also know the path wasnt laid out for me i chose every direction good or bad that has brought me to the completion of it.
my personal goal is to learn how to make a quality game and programs. Not to be able to go to work for someone, but for others to go to work for me. To help me bring my dreams and ideas to reality becouse they have the same ones or similar ones. I would hire no one who did not feel a immediate personal gratification from helping me bring them to life.
sure someone who is not interested in them can bring ideas but one who is will bring better ones. The better ones i beleave will bring more money in the long run for everyone. I want money dreams and ideas. Not robots.
just my thoughts

id like to start by saying i really have no or little knowledge in making games or programs. But at this point i personally feel a greater amount of respect for the " learn at home" people out there. i feel its saying hey i dont have the money to go to a collage but im going to stick with this and learn it any way i can. When i put my game or program out there for the world to see they will know that i have the knowledge and desire.They will also know the path wasnt laid out for me i chose every direction good or bad that has brought me to the completion of it.my personal goal is to learn how to make a quality game and programs. Not to be able to go to work for someone, but for others to go to work for me. To help me bring my dreams and ideas to reality becouse they have the same ones or similar ones. I would hire no one who did not feel a immediate personal gratification from helping me bring them to life.sure someone who is not interested in them can bring ideas but one who is will bring better ones. The better ones i beleave will bring more money in the long run for everyone. I want money dreams and ideas. Not robots.just my thoughts

going to college/university is free(or payed by the taxpayers really) in a large part of the world though so for most people money isn't an excuse.

Edit: The OP lives in such a country, The danish government covers tuition for all EU/EEA/Swiz citizens(or people who have parents working in denmark or who hold a permanent residence permit) (The same goes for quite a few other EU countries if he thinks that danish universities are bad).

If he lives with his parents he also gets a 2800DKK/month grant to cover living expenses while he studies, if he lives alone the grant is 5600DKK (So danish people are basically getting paid to get a degree).

Edited by SimonForsman, 16 October 2012 - 09:33 AM.

I don't suffer from insanity, I'm enjoying every minute of it.The voices in my head may not be real, but they have some good ideas!

No! No! No! Take another look! Research is the common denominator in this thread! Make no mistake, you have chosen a path of extensive research, no matter the actual path. It is not a thread of pros and cons - all the information is useful! None of it is "cons" because your effective use of the information is always "pro" for you.

Looking on the bright side, you are taking the time to consider one of the most important plans of your whole life. It is good that you did not make a hasty decision.

Let me make it simple to help you.

Given: Most of the professional game developers of the top computer and console cross-platform games have degrees in computer science or game development. They are the gross sales and technical leaders in the industry. Why am I using this example? Extending the perspective to the extreme is a good comparison technique, as in engineering or architecture. At this point, no student will know what they will and will not need specifically in 10 or 20 years, but you can be sure that you will need many skills.

Given: There are indy game developers who are successful. They should love what they do and work very hard to succeed, maintain, and progress.

Given: If you do not want to get extensive formal education in computer graphics, then you must rely more heavily on relationships and trailblazing.

Given: No matter what career course you plan, you will learn many things in your research that you might never or seldom need. Thousands of hours of research are ahead of you in any case.

Conclusion: Take a long, hard look at yourself and your life. Do you enjoy playing games? Do you feel passionately to make quality games that people enjoy? Do you feel strong enough to endure whatever it takes to become a professional game developer? Are you prepared to learn things which you might never or at least seldom need? Can you face frequent criticism and correction by other people?

In light of the last several questions, you must decide if you want to create games with a strong enough desire to chart your course in this journey, likely making you work harder than anything else in your whole life.

Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

1. I just want to know if it is kinda possible to become a professional gamedeveloper learning at home.2. I live in Denmark, so there are not that many opportunities.3. The reason why i dont wanna choose to go learn game programming through the school (which is much more safe way), is because then i have to go to college first which takes 2 years. And in those 2 years i will get tortured with homework and ... after the college i can go to a university in computer science... but i dont even know if they are teaching c++ ... Also i dont know if they will teach directx because thats what i aimed ... (and if i find out in my future university that they teach c# or java... then... thats like losing $1 million in poker)

1. Anything is possible. But are you talking about being an independent developer working by yourself at home professionally, or getting a job as a professional developer? Because it's "more possible" for the former than for the latter.2. What are you talking about? gamedevmap lists 17 game companies in Denmark.3. Self-teaching is going to take longer than all that, and does not come with guarantees that you won't miss something else that's like losing $1 million in poker.

First I learnt in my own about programming in C/C++, and later I discovered that I needed to go to the University for learning some important concepts.
Of course you can learn these concepts in Books, but you will spend less energy and time if you can go to the University.

On other way if you want to start in the game industry, now days it will be easier for you to start in the casual game industry ( social gaming, mobile games, etc ...), where programming languages as Java,C# will be more useful for you than C,C++.

I am agree with Bregma, in whatever company, you will need to work on things that you will not like or enjoy, and you will need to learn the aptitude ( which usually is very important to get a job, sometimes more important than to be a programming rock star ) to be able to handle it properly.

But in the end, this is only my point of view, I hope that my experience, it can be useful for you.

The idea behind a guy who gets a degree is not that he knows the most used languages but that he knows what developing a piece of software is about. He knows about design, about structure, about how to tackle the problem. So when that dude sits in front of a computer and someone says to him "Code this and that, in C++ please" he, even if he doesn't knows the language perfectly, will write good quality code nevertheless.

nice speech but no, this isn't true in real life."Good quality code" is only achieved though experience and mistakes. Every new guy, with or without a degree, will write terrible code if he doesn't have the necessary coding experience.I think the main difference is that, having a degree you show you have the potential to get better at what the company needs from you.. you are able to work on a schedule and learn what's needed. Without a degree you just show you haven't been able to commit to finish your studies, and that, is not a very good start.

I think, as a self learner, you'll never have the chance to be given time to learn on the job, you'll need to put yourself into the position of being productive from day 1... without leaving any doubts... it's doable, but it requires lots of time investments and has a lower possibility of success compared to the "normal" route through uni.

What isn't clear to me from my post is whether your intent is to become a lone-wolf dev (indie) that works from home and develops games for yourself or clients, or actually jumping straight into the industry afterwards.

I can fully appreciate your position. Having a job, life, etc, makes it hard to compromise a stable financial situation for this "dream" and one must learn to deal with the hand he's given. It all depends on your level of dedication (not what you say, but what you do). Personally, I'd go with that approach, self-teach myself, get what I need from others, if necessary, hop onto 1 or 2 classes rather than a full program, and put all of that good knowledge to good use and make stuff.

You can probably make a decent living of making games, even if that takes a while, and means you need to work two jobs (the current job you have, and the games you make from home). When you feel more comfortable around developing, and are certain you've developed your skills in such a way that they clearly compensate for a lack of degree, you can ask yourself whether you want to trade away your freedom as a lone-wolf developer (with its financial uncertainties) for the corporate environment of a game development studio (with its financial certainty).

-=- My Articles -=-Getting Games Done - Method and tools on how to start a hobby project and get it Done!