Advertisement

Getting into industry, advice from experienced people?

Started by August 05, 2017 08:47 PM
7 comments, last by trjh2k2 7 years, 3 months ago

Hi everyone! I have been doing some research on this forum and blogs, but I could not find anything really solid and helpful that meets my situation.
I am 26 years old, I have a bachelor degree in computer science and I have been working in Web development for the past 6 years. I want to get into game development becaue this is my biggest passion, I love art and the idea of making interactable pieces.

As a web developer, I have worked a lot with Linux servers and several languages, specially PHP, Java and JavaScript. The problem is that I dont find my professional experience to be really really helpfull, although I know that expererience is always good and there are stuff that are common everywhere, like agile methodologies, versioning tools, teamwork, etc.

I have been working in my free time with Unity, making some simple games with some guys as a hobby, but I would really like to try working as a game developer for living. I am from Argentina, and there is not much here, but I worked a lot remotelly with people from the US. I am planning to emigrate (anywhere), I would love to have interviews remotelly before moving.

I almost discarded the "make my own studio" approach, I personally think that game industry is a kind of saturated right now to get to the top leagues (or at least getting enougth money to live well) without a lot of invertistment and risk, so I prefer getting hired. 
After that (I hope not too long) introduction, these are the questions I have:

  • Should I start learning c++? 
    • If so, should I create my very own game engine (I am totally aware that this is suicidal and may take my free time for the next X months/years). I would do this to learn and having a the experience in my resume
    • Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games?
  • Or, should I get experience in more modern lenguages? This would be a lot easier, since I have already worked as a programmer for many years.
    • Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example? 
  • Am I more likely to get a job as a complete junior developer?
  • About big and small/indie companies:
    • Are salaries and work hours getting better? I have read a lot of people complaining about poor conditions
    • Is c++ a must for a AAA company?
    • Do indie companies treat their employees better?
  • Is game development just codding? I am a bit tired of web and as I said in the first paragrath, I think gamedev is a creative process, but in reality I am not sure if you end up doing just small bits of functionality, and the creative process is left to executive decitions..

Thank you all for your time and sorry if the topic got too long!

Diego.

Moving to more appropriate forum. 

 

3 hours ago, Dieguit said:
    1. should I create my very own game engine (I am totally aware that this is suicidal and may take my free time for the next X months/years). I would do this to learn and having a the experience in my resume
    2. Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games?
  1. [omitted]
    1. [omitted] 
  2. Am I more likely to get a job as a complete junior developer?
  3. About big and small/indie companies:
    1. Are salaries and work hours getting better? I have read a lot of people complaining about poor conditions
    2. [omitted]
    3. Do indie companies treat their employees better?
  4. Is game development just codding? I am a bit tired of web and as I said in the first paragrath, I think gamedev is a creative process, but in reality I am not sure if you end up doing just small bits of functionality, and the creative process is left to executive decitions..

0.1. No.

0.2. Yes.

2. Probably. Your experience isn't in games.

3.1. Your question is about big indies and small indies, right? In other words: indies. The answer is no (probably not).

3.3. Better than what? The answer is probably no. 

4. Your question is unclear. Game development is much more than programming (coding). There's also art, animation, design, audio, testing, marketing, legal, financial, and more. 

-- Tom Sloper -- sloperama.com

Advertisement
On 8/5/2017 at 2:47 PM, Dieguit said:
  • Should I start learning c++? 
    • If so, should I create my very own game engine (I am totally aware that this is suicidal and may take my free time for the next X months/years). I would do this to learn and having a the experience in my resume
    • Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games?
  • Or, should I get experience in more modern lenguages? This would be a lot easier, since I have already worked as a programmer for many years.
    • Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example? 
  • Am I more likely to get a job as a complete junior developer?
  • About big and small/indie companies:
    • Are salaries and work hours getting better? I have read a lot of people complaining about poor conditions
    • Is c++ a must for a AAA company?
    • Do indie companies treat their employees better?
  • Is game development just codding? I am a bit tired of web and as I said in the first paragrath, I think gamedev is a creative process, but in reality I am not sure if you end up doing just small bits of functionality, and the creative process is left to executive decitions..

Thank you all for your time and sorry if the topic got too long!

Diego.

Should I start learning c++? - You're going to want to learn the main stream languages used in the game industry, C++ isn't enough. Android games can be written in JAVA, iOS games can be written in objective-c, or swift, PC games can be written in C/C++/C#/JAVA/Python/Lua/Pearl ect... (Yes you can make Android and iOS games in other languages - this is just an example that C++ isn't all you need) Then there is network coding which is another topic in itself.

If so, should I create my very own game engine? - You never create a game engine, you create games that you program re-usable code/classes that at a later point will be enough to cover the major functions of a game engine. Example, when you program a game that is similar to say Pac-Man, you'll have a collision code, asset management code, path finding code, ect... which can be re-used for future projects.

Should I just get into one or a few engines? - This really depends on what you're looking at doing, and who you want to work for. I would strongly suggest you build enough skill to make 2D games using just a library like SDL or SFML. Being able to program your own Time Steps, Game Loops, Event Handlers, Collision Detection, Path Finding, Asset Managers, ect... will go a long way. You'll then want to be accustomed to the most common engines such as Unreal.

Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example? - There are always a lot of jobs! The best thing you can do for yourself is have as many languages under your belt as possible, including scripting languages. The more you can offer as 1 team member, the higher value you bring.

Am I more likely to get a job as a complete junior developer? - Don't expect much without having professional experience in the game development industry. Different companies will require different skill sets ranging from 3-5 years of professional experience, to 1-5 AAA Titles released, sometimes just 1 title from a major studio. You'll also sometimes see requirements like "Designing APIs and managing their life cycles", "Working with the top industry standard engines (Unreal)", ect... Your best bet is to make a good portfolio, land yourself a position with a smaller studio and work your way up. Without any professional experience you'll be at most a junior position, if not a temporary intern.

Are salaries and work hours getting better? - Normally you'll make more money from a bigger company, but again those requirements to get in are steep. Yes you'll get long hours, especially when you're being pushed for time due to publisher demands.

Is c++ a must for a AAA company? - You'll see what the language requirements are when applying for a position with any AAA company. Please refer to the above answer for "Should I start learning c++?". The more you know the more valuable you become. Just as an example I pulled two requirements from AAA companies, but I'm not listing their names.

Company 1:

Proficiency with C++ and experience in object-oriented design and implementation

Experience with assembler (MIPS, VU Code), scripting languages (Perl, Python, Lua, Ruby) and interpreted languages (C#, Java)

Company 2:

Advanced experience (5 years) with C, and C++

Experience with Lua, and Pearl.

Is game development just codding? - Far from it, there are so many components to game development. Tom answered the question pretty well. You can even break it down more by saying you have one coder that handles the GUI for the Level Editor and functions, one handles the object loading, another handles the AI part of the Engine, another handles Path Finding, ect... There are a ton of roles!

Programmer and 3D Artist

"Should I start learning c++?" Yes, probably.

"If so, should I create my very own game engine" No. You don't have the experience to know what would need to go in it, and the program you make will be worthless anyway.

"Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games?" Yes. That's what you'd be doing for an employer, anyway.

"Or, should I get experience in more modern lenguages?" Jobs in the games industry are mostly C++, some C#, and a tiny bit of Java. Knowing more languages is helpful but you can't sidestep the basic requirements.

"Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example?" Find some job listings, and look for yourself. They're all there, public. There are C# jobs, using the Unity engine. They are less common than C++ jobs. There are virtually no Python jobs. Python is not a good language for games.

"Am I more likely to get a job as a complete junior developer?" Sorry, I don't understand what you're asking here. What does "complete" mean to you?

"About big and small/indie companies: Are salaries and work hours getting better?" Hours; yes. Salaries; they're good as far as the rest of the world is concerned. They're lower than average for software development.

"Is c++ a must for a AAA company?" Pretty much. I'm sure someone can find an exception or two. Find some job listings.

"Do indie companies treat their employees better?" Indie companies, in the traditional sense, often have no employees! If we reframe the discussion as "small companies vs large companies", then you may find smaller companies give you more autonomy and influence over the project, but give you fewer benefits and less job security. All games companies may expect long hours when deadlines approach.

"Is game development just coding? [...] I am not sure if you end up doing just small bits of functionality, and the creative process is left to executive decitions." Assuming you apply as a programmer - in small companies, you can expect to have more input into the process. In larger companies, you will probably be spoon-fed small tasks and expected to carry them out without much insight into why you're doing it, never mind having any say in the matter. As a junior you will certainly have less say than the experienced developers.

I appreciate you answers! I guess for now I will stay as a hobbyist I guess.
Thank you, Diego.

In General

C++ is a common denominator, and you can get insight into what companies want by going to https://gamedevmap.com/, checking the sites of a few companies that seem interesting to you, and seeing their recruitment pages.

Game engines require experience to develop, but if you get into an R&D role (where your main task would be to work on the game engine) then you are likely to make more money, have more relaxed schedules, and job security.  These positions are harder to fill so they will keep you around, and for that same reason it is fairly easy to get a new job should you ever need one.  Writing your own engine is a good way to learn how games work, and it doesn't prevent you from working on other projects at the same time.  Just don't take it too seriously at the start.  Your first engine is guaranteed to be crap, so don't treat as anything more than an experiment and learning experience.

Overall it is harder to stand out in larger companies and they consider it easier to fire junior programmers, but that is not universal.  Indies are very unstable and risky.  You might prefer the middle ground: Small studios.  You may have more freedom to do more types of tasks in a small studio, from programming to art and music, possibly even design.  It is also easier to rise in the ranks.

In general you are largely in charge of your destiny.  Even in large companies you may be given some freedom if you express a desire and have a portfolio.  You are also free to move to the type of programming you prefer if you want to focus on AI or graphics for example.  You can seek a more relaxed schedule etc.  You always have the option of finding employment elsewhere if you find a company does not work for you.  The only people who stay in hellish environments are those who for some reason think it's the same in every company, and that is extremely naive thinking.

Specifics

Should I start learning c++? Yes.  Most low-level code in games is C++.  As companies tend to want their code bases to work across many platforms, C++ will be the common denominator regardless of the platform (Windows, iOS, consoles, etc.) . In any case, it never hurts to start learning.

 

If so, should I create my very own game engine? It is a great way to learn about what goes into games.  Just because you are working on an engine doesn't mean you have to only work on an engine.  I tend to keep 3 personal projects in parallel (one of which is an engine).  There is no reason not to code anything that you want to code, unless we are talking about a mega virus to destroy bunnies.

 

Should I just get into one or a few engines, written in c++, and start creating a portfolio of simple games? A portfolio is always good to have and will likely be the main reason you get or do not get a job.  With many jobs now asking for experience with Unreal Engine 4 and Unity, this will open doors for you.  Check https://gamedevmap.com/ to find interesting companies and then check their recruitment pages to see what they want.  You may not be writing C++ if you work with these engines, so be sure to consider spending time on C# or Blueprints Visual Scripting.

 

Or, should I get experience in more modern lenguages? Get experience in everything you can, but C++, C#, and Blueprints Visual Scripting are higher priorities.

 

Are there good jobs, with a competitive salary and a stable career, working with C# or python, for example? C# is useful for working in Unity, but the stability of that job depends on how long they use Unity.  C# and Python are commonly used on the tool side (mesh exporter, texture tools, converters, etc.)  You may prefer to work on the game rather than on tools, and with many companies relying on the tools provided by Unity and Unreal Engine there may not be as many tool jobs available.  For stability you will want to have C++ under your belt, and for a competitive salary you will want to work on the harder things, such as the engine itself (also in C++).

 

Am I more likely to get a job as a complete junior developer? The less you ask of a potential employer the higher your chances of being employed.  Ask for too high of a position or for too much money and you are less likely to get the job.  You need to decide what you are willing to accept and sacrifice for the sake of getting into the industry.  But once you are in the industry it seems to be fairly easy to stay in the industry, so it might be worth making a small sacrifice at the start.  With no experience, you are likely to have to start off as a junior, but show them your skills and you can move up.

 

Are salaries and work hours getting better? Since the open letter to Electronic Arts many companies have been trying to improve, but your situation may be highly random.  Someone started on the same day as myself and in the same department, but different projects.  He ended up having to hard crunch for 3 months straight with no weekends and ended up leaving the company after a year while I had a very relaxed schedule.  Crunching near the end of a project is normal for most teams.  If you want a more relaxed schedule, go into R&D (write the game engine itself).  This takes more experience so it is not option early in your career, but it requires C++, offers a higher salary, and the schedules tend to be more relaxed because you aren't trying to meet a deadline specific to the game.

 

Is c++ a must for a AAA company? It is the most useful, but as above you may use C# in Unity or for tools, Blueprint Visual Scripting in Unreal Engine 4 (fairly common), for Python for toolchain work.  Many AAA companies are using Unreal Engine 4, which will have you using C++ and Blueprint Visual Scripting.  Check https://gamedevmap.com/ to see what companies are asking of new hires.

 

Do indie companies treat their employees better? I tend to think of larger companies treating their employers like numbers and smaller companies more as a family.  This is not universally true, but in general a junior employee at a major company is easy to fire, whereas your work on a smaller team contributes to a larger percentage of the end product, making you more valuable to the team and perhaps giving you a larger sense of pride in your work.  But then you will likely be coding a game that not many people end up playing (this is a lottery shoot) which may decrease your pride in the product.  you have to weigh this yourself, but since you can always move on to larger companies later and that will be easier once you have some experience, you may consider starting in a smaller studio.  It's also easier to move up in the ranks at smaller studios.

 

Is game development just codding? Depends on you and the company.  If your only skill is in coding then you will only write code, and as the company gets larger, each person's role becomes more specific.  Smaller studios need more people who wear multiple hats, and it would be easier for you to ask if you could do some art or music.  But they also tend to take contracts from larger companies and do not have input into the game design etc.  But often enough smaller studios aim to make their own IP and grow within the industry, so if you are patient you may get a chance to design.  Indie studios try to focus on their own IP from the start, which is risky, and it may be hit-or-miss whether or not they allow you to design, but they are more open to outside (outside of the design team) input than AAA studios.
But I would say the largest factor is you.  When I joined Square Enix I already had a lot of acting experience so I sent a demo to one of the producers and was then allowed to do a bunch of motion captures for Final Fantasy XV, and at my next company I got to do some for Homefront: The Revolution and an unannounced game.  You are largely in charge of your destiny as long as you take the steps needed to gain a skill, create a portfolio, and show others you are interested.  That's how you get into programming or any other field.


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

Advertisement

It's just like he said: "work on the game engine". Depending on the engine it could be any number of things, whether implementing new research that is coming through from academia, adding features that competitor engines have, or implementing feature requests from the product teams.

If I might try to add some useful info...

I went to school specifically for "game dev", but my first job was web dev for some strange reason.  So I did the jump from web dev (javascript/php/etc) into gaming (C++/C#/Unity/Unreal/Etc) maybe 4 years ago.  If you've been working in any software capacity for a while, a lot of the skills will be transferable, but to echo what everyone else says- Yes, learn C++.  Even if you don't use it, I feel like my knowledge of that language has been the backbone of all my game-related skillsets, even though I've spent more time in C# lately.

A side note- if you're already good with Javascript, you can make web games.  It's not the same skills as C++ but you can still get a feel for what goes into making games.

In terms of making your own engine.... I usually roll my own "engines" for those kinds of at-home projects that don't go anywhere, and what I've learned doing this is mostly how much I don't know, and how expensive reinventing the wheel is from a time standpoint.  I made an "engine" right out of college that was terrible by pretty much any standard.  Barely usable.  Not because I was a bad programmer, but because I didn't understand how all the moving parts that make up a game really fit together.  Now, 5 years-ish later, I'm making a new at-home project again, but this time with added experience of having worked on some shipped games and seen how things really come together- and there's still a ton of stuff that I don't know, I think I finally know enough to get somewhere, but it's still a learning experience.  Should you make an "engine" with the intention of actually getting somewhere and making a game out of it?  I mean, you can try, but I wouldn't expect much from it.  Just to learn though?  Sure, why not.  Every time I try to make a little game/engine/project, I take something valuable from it, even if the project fails or is abandoned.

I have the experience at this point to recognize though that if your goal is just to make a game, so much time is going to be wasted if you try to roll-your-own everything.  That's just not how games get made.  If you've got all the time in the world and want to learn, then go for it.  But realistically, with a budget and time constraints, in a professional environment, 99.9% of the time the right choice is to grab an existing set of tools that already do the job much better than any home-made solution could do.

This topic is closed to new replies.

Advertisement