Games Programmer

Started by
5 comments, last by 6677 11 years, 9 months ago
Hello, I am new to the forum and also to the games development industry. In a business situation where a team is developing the game there are different departments of people that is designing different things for the game, like sound, editing , graphics, right? For programmers department, are there few people coding the game with different type of coding language or do one individual needs to know like C++ java and C# to develop the game?

And the second question is what effective langauges I can learn in order to be a "Games Programmer"

thanks :)
Advertisement
Your first question comes down to what company you are going to be working in. Here all programmers now C++ and mostly program in that language, with the exception of Tools coders who use C# and C++. In other companies the UI and game coders might be using a scripting language to write part of their code so they need to know C++ and the scripting language in use( Lua, Python or something else).


To your second question any language will do as long as you can write a game in it. However most professional console level games will be written in C/C++, indie games use whatever language the creator is comfortable with. So learn an easier language first so you can learn how to program and then switch to C/C++ if you want to go into a triple A console team.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

As mentioned it depends a lot on the company.
In small companies a “game programmer” needs to know how to make a game from scratch, which generally means C++ skills as well as game-development experience.
In medium-and-up companies it varies widely.
Almost all medium-and-up companies use a game engine of some kind.
Some use Unreal Engine 3, some CryEngine 3, some (probably most) proprietary.

That means in some cases you need to know a scripting language, but in a lot of cases you need to know C++.
At my company, we have an in-house engine but it provides no scripting language, so the game teams still have to know C++ to work.

If you feel the need to cover all bases, LUA, Unreal Script, and C++ will be necessary, but in any case C++ is always helpful.
Specializing in just Unreal Engine 3, CryEngine 3, or even Unity 3D knowledge is not really beneficial, because knowing those technologies means you can only get a job related to those engines, which is the minority case, and a lot of them request C++ knowledge alongside your knowledge of said engine. Applying and failing at even just one company closes a lot of doors for you.

So without C++ there are not many opportunities in the industry.


I am basically only answering your #2 because it is the only one that really matters. It doesn’t really matter if they might ask you one day if you can work in C# on a tool if you never get through the door in the first place.
Your primary objective is just to get through the door.
But also because the people who are asked to use multiple languages, such as C++ and C#, are engine or tool programmers who have lots of experience. Beginners simply can’t get into those departments, period, so your basic goals should be first to maximize your chances of getting an entry-level positions (C++) and then to try to get into R&D later if that is what you want, in which case you can see for yourself within that company if R&D needs extra skills etc.
I shortened “tool programmer” to R&D because that is typically the job of R&D, but:
#1: It can sometimes be a game-programmer job, in small companies, but
#2: Usually it is the job of the R&D department.

In either case your best bet is to get into the company and then transition into that role, if that is your goal.


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


Applying and failing at even just one company closes a lot of doors for you.

This is not completely true, failing to secure an interview at one company doesn't mean you can't get an interview elsewhere. Unless you are not capable of doing what is asked in a job description there is always a chance to get an interview. If you mess up one interview due to nerves you can still get a job at another company for the same type of job.
The same goes for reapplying to a company a few years on from your first failed application. Games companies memories aren't that long, there is a high turn over in most companies and that means that if you sent in your CV 3 years ago if you send it in again today it is highly likely someone else is looking at your CV.

I am basically only answering your #2 because it is the only one that really matters. It doesn’t really matter if they might ask you one day if you can work in C# on a tool if you never get through the door in the first place.
Your primary objective is just to get through the door.
But also because the people who are asked to use multiple languages, such as C++ and C#, are engine or tool programmers who have lots of experience. Beginners simply can’t get into those departments, period, so your basic goals should be first to maximize your chances of getting an entry-level positions (C++) and then to try to get into R&D later if that is what you want, in which case you can see for yourself within that company if R&D needs extra skills etc.
I shortened “tool programmer” to R&D because that is typically the job of R&D, but:
#1: It can sometimes be a game-programmer job, in small companies, but
#2: Usually it is the job of the R&D department.
In either case your best bet is to get into the company and then transition into that role, if that is your goal.

Again this isn't true for all companies I have seen people being hired as tools programmer who had no prior games development experience and they got hired on C# knowledge and their home portfolio.
And again for R&D and Tools these might be the same department in your company but it might not in other companies. Tools usually consists of Experience and up members of a team, while R&D usually has senior and up members, but again this can be different in different companies.
For mobile game companies all of this might go straight out of the window as the teams are often much smaller and thus the coders on these teams have to be more flexible and fill more job roles.
Even in big companies you can have multiple roles within a team, it all comes down to what you want to do and the company is prepared to let you try and do.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

So Unreal Engine 3, CryEngine 3 are coded engines that give a other organisation a easy step to do a game, and they use scripting so that they make their OWN kind of game , like an example would be the gamemaker engine, instead it is not drag and drop, everything in that engine is in place, only it need tweaking and own graphics?- that is the way I understood this or am I wrong?

And other question is that can what is the difference between scripting langauges dynamic languages and traditional languages such as c++ and C#

Is c++ is like html and lua or programming scripts are like javascript or something? I would understand it more if you explain the situation to webdesign ^^

[quote name='L. Spiro' timestamp='1343651726' post='4964467']
Applying and failing at even just one company closes a lot of doors for you.

This is not completely true, failing to secure an interview at one company doesn't mean you can't get an interview elsewhere. Unless you are not capable of doing what is asked in a job description there is always a chance to get an interview. If you mess up one interview due to nerves you can still get a job at another company for the same type of job.
The same goes for reapplying to a company a few years on from your first failed application. Games companies memories aren't that long, there is a high turn over in most companies and that means that if you sent in your CV 3 years ago if you send it in again today it is highly likely someone else is looking at your CV.
[/quote]
You need to consider the context of that sentence.
I was talking about the select few companies that require Unreal Engine 3 skills. If you have only that skill then there are very few doors open to you.



And again for R&D and Tools these might be the same department in your company but it might not in other companies. Tools usually consists of Experience and up members of a team, while R&D usually has senior and up members, but again this can be different in different companies.
For mobile game companies all of this might go straight out of the window as the teams are often much smaller and thus the coders on these teams have to be more flexible and fill more job roles.

I said that.

I shortened “tool programmer” to R&D because that is typically the job of R&D, but:
#1: It can sometimes be a game-programmer job, in small companies, but
#2: Usually it is the job of the R&D department.



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


Is c++ is like html and lua or programming scripts are like javascript or something? I would understand it more if you explain the situation to webdesign ^^

HTML isn't even a programming language. The simple description for C++ would be its a very complex language, lua is very easy but not as powerful (and runs FAR slower) and javascript on its own is virtually useless and is only really used for embedding into other stuff (mostly HTML docs)

This topic is closed to new replies.

Advertisement