As the project I was working on is getting to an end, I thought it might be the right moment to take some time and write down my impressions of those first 8 months of Graduate Program in Ubisoft Montpellier.
Let me introduce this Graduate Program survival guide! I’ll first talk about how I experienced the recruitment process, then some insights about the job of Gameplay Programmer and I’ll close this guide with more details about the Ubisoft Graduate Program itself.
- How I got there – Recruitment survival guide
- Gameplay programmer: What’s the job about?
- My experience as a junior GPP
- The Graduate Program – Year 1
- What’s next
About the Graduate Program
The Ubisoft Graduate Program is aiming at recruiting graduate from MSc/Engineering schools. It is not some kind of training or education like what you’d have in university. You will be actually working at Ubisoft.
The program consists in two years: the first one in your country and the second one abroad, in another Ubisoft studio. At the end of the program, if everything went fine, you might get a long-term contract in the original studio. It is also a fast-track program, as there are many events organized in order to help you improve faster in your job.
The Graduate Program recruits in 4 fields : Gameplay Programming, Online Programming, Project Management and UX Design.
First, here’s a little bit of background you may be interested in if you’re applying. I’ve attended a classic MSc. in Computer Science and Software Engineering, and not some kind of video-game-specialized school. It did not seem to be an issue for Ubisoft recruiters. In fact, they’ve recruited many software engineers with similar profiles as me as graduates.
Even if my education is quite classic, I was still always interested in game development, and I made many small prototypes of web game engines, usually reimplementing almost everything from scratch (I’ll get more into this point later). Even though I was writing “low-level” code, I always had a game concept and some kind of gameplay in mind. Maybe the most advanced (or completed) project was Arena Intelligence, in which I’ve had to lead a team of 11 of my fellow software engineer students.
I learnt about the Ubisoft Graduate Program through one of the professors of my school, as there was an alumni from the previous year who had given the Graduate Program a shot. As he seemed pretty happy with it, I decided to try my luck at it.
How I got there – Recruitment survival guide
The recruitment process is quite demanding, but, of course, it is worth it. At first, you apply through a single common process for all the studios in your area. You will have some technical pre-selection, and you may indicate if you have a preferred local studio. Then you will get into the process with the local studio. I had there a technical interview with 2 senior GPPs and a technical test on paper. I also had to provide a game demo in the following weeks (I guess, that was quite specific to my process, I’m not sure whether everyone goes through that step or not). Then I had a last technical interview based on the demo I provided.
Here are some advice if you were to postulate at the graduate program. Some advice are common to most interview, some are more specific.
Have a portfolio with AAA-related technology
Even though I successfully passed the technical pre-selection, I hit a wall for not having that during the first technical interview. Writing an engine from scratch is really interesting to have an overview of the software architecture involved. But remember you are applying for a job in which you write gameplay code. That’s why they’ll probably mostly care of projects you made using common game engines (UE4, Unity, Source mods, anything relevant). It’s not important if your projects don’t have AAA visual assets. What they want to know is whether you have some gameplay programming experience with a technology that can ship AAA games or not.
Brush up geometry-related maths
Trigonometry, scalar/dot products, quaternions, transform matrices. Depending on how tough the interview is, you may need most of it. In any case, you will definitely be expected to know this kind of things in your job.
Brush up classic programming stuff
You’re applying to be a programmer after all!
Do not be afraid to admit you don’t know
During the interview in Montpellier, I got stuck on a math question. By admitting that I didn’t know, the interviewer gave me a hint that allowed me to continue working on the question. That’s also a way for them to see how you think around a problem.
When I went through the process with Ubisoft Montpellier, my feeling was that they were not only looking for people who were technically good enough for the job; they were also looking for future colleagues that they would enjoy working with. So do not be afraid to show your (professional) personality.
Be ready to give more
As I wrote at the beginning of this list, I was quite in difficulty during the interview for not having a portfolio with common game engines. I suggested making a project to prove them I would be able to find my way with a real-world tool. A few days after the interview in Montpellier, they contacted me and suggested to make a game demo within two weeks. Free choice of gameplay, topic, and tech. I just had to ship it, and show them I could do actual gameplay. One of the recruiters, who is my lead today, told me that my demo made a huge difference in the application process.
Gameplay programmer: What’s the job about?
This part might be trivial if you are already working in the video-game industry, but this is the kind of details I would have liked to have when I was hesitating between GPP & Online programming.
As a GPPs (shorthand for GamePlay Programmers), our goal is to implement how the player and the game interact with each other. It can be obvious interaction, like handling the input from the gamepad and moving the character in a certain way. It can also be about implementing a system of wild animals roaming around the world, or an inventory, or some mission objective, a skill upgrade system, a tactical map, GPS, a new enemy behavior, etc.
All the systems within the game (road traffic, weather, etc.) have to be polished enough to provide immersion to the player. To me, that’s already half the way toward telling the story your game has to tell in a convincing way. That’s what will make the difference between a classic piece of software displaying 3D models and a good game. At the end of the day, our competitors are not Google or Facebook, but rather Lego and Hasbro. We’re not shipping software, we’re shipping games. We’re shipping stories and worlds. We are part of the toy market.
For the players (but not only)
More precisely, as GPP, we write code for two kind of person.
The first, and most obvious one, are the players. For instance, the players should enjoy moving their character around and see clearly what they’re doing. Thus, GPPs have to implement camera behaviors that depends on the context. It’s important to take players comfort into account (eg: preventing nausea from camera movement). Another important point is giving them feedback when they do something the right/wrong way. More generally we have to ensure their experience is smooth and polished.
On the other end, our mission is to empower content creators, like level designers (LDs). Their work is to populate the world with things to do. For instance, GPPs can provide LDs with basic elements to build missions, implementing single objectives or conditions like “Go there”, “Kill this entity”, “Interact with this”, “Gather this item”, “This entity has to stay alive”, “Finish this step before n seconds”, etc. The LDs will then combine many of those atomic elements to create complex missions. There are still some additional steps to be done, like adding the narrative layer in the missions, to provide immersion.
“The whole is greater than the sum of its parts”
― Aristotle, LD at Ubisoft.
My experience as a junior GPP
A (not that) new project
I landed in Ubisoft Montpellier mid-October 2016 on the Ghost Recon Wildlands DLC production. I have to mention that I received a really warm welcome from the team. In general, there was a really good spirit within the whole DLC team.
Montpellier was in charge of some of the main game development and the two DLCs of the game. The first DLC was expected to ship by March. At that time, it’s already been 6 month that both DLCs were being produced, so most of the gameplay features were already implemented. Because of that, my first reaction was at first some kind of deception. But in the end I’m glad that I arrived at this stage of production, and I’ll explain why.
Of course, the most exciting part of a project is when you are building it from ground up, adding new features, and witnessing the transformation of some code into a product people will use, and hopefully enjoy. As most of this was already done, the remaining work was mainly polish, slight improvements that are necessary to ship a quality game, but which add nothing actually new to it.
Pros of end-of-prod
But, stepping back a little, I realized that by working on an almost-finished product I could have a great insight on how an AAA game looks from the inside. Moreover, it is really interesting to witness all the things that have to be taken into account when you actually ship a game: technical requirement validation by first parties for consoles (Microsoft, Sony), epilepsy checks, dispatching to online stores, in-game store, organizing live streams, and many other things.
Even if this production step can be frustrating because you’re not really be able to “prove yourself” as a GPP, if you’ve been recruited, you certainly have the skills and the mindset it takes for this job. You will definitely have the opportunities to experiment and prototype new features & things from scratch in your career. Take this as a chance to learn about the production/shipping process (alpha, beta, gold/master). In the end, I’m considering myself lucky that I was able to witness the last months of production of such a massive title.
There’s still a couple of month before I move abroad for the mobility year of the Graduate Program, so I’ll get to work on another project within Ubisoft Montpellier. As the staffing depends much on the creative process of pre-prod teams, it’s hard to plan who’s going where in advance. Be prepared to play a little bit of musical chairs between projects.
The Graduate Program – Year 1
Even if the recruitment process is organized by the Graduate Program of Ubisoft, the first weeks are pretty normal. Actually, I haven’t noticed any difference in being a graduate during my first weeks in the company. Indeed, in the first days, you are really busy discovering your workplace, your colleagues, the project you are working on, all the HR stuff. In the following weeks you still keep training to grasp the technical aspect of the project. Still, I had a few calls with all the graduates in order to ensure everything was OK, but nothing really special.
Graduate Program fast-track
Things tends to get more interesting in the following months as you get to participate in calls with experts in various topics. It is nice to get some insights of subjects you don’t have to deal with in your everyday job. You also get a better overview of what’s going on at Ubisoft on a broader scale.
You will also have to start thinking about your mobility destination. I highly recommend taking the time to compare all aspects that matters to you. In my case, the key factors were: interest for the studio projects, interest for the studio location, english-speaking, and distance. (My personal pick is Massive Entertainment, the studio located in Malmö, Sweden). You’ll have several meetings with HR from your location in order to help you choose your favorite destinations. When it comes to the mobility negotiation itself, you (hopefully) won’t have to do it by yourself. The HR will handle it, based on your year performance, and eventual recommendation from your colleagues/superiors. In case of a “draw” between two Graduates for only 1 available job (which happened to me), the studio will choose a candidate based on an additional technical interview.
You will have to be patient while waiting for the mobility studio attribution: the process is complex and involves many different people from each studio. The Graduate Program HR will also take into account in which fields you could improve (eg: a certain technology, some specific topics). I’m currently waiting for my own attribution, so still crossing fingers ! 😉
Update: I’ll be going to Massive Entertainment in Malmö, Sweden!
The Graduate Week
You wouldn’t want to miss it for anything in the world! You’ll go to Paris in Ubisoft HQ for five days, and you’ll have the opportunity to attend presentations from Ubisoft experts from all around the world. I enjoyed the variety of the topics that were covered during the presentations. This is also a chance to discuss with a group of senior GPPs from many studios. We’ve learnt some good practices (both technical & non-technical) and some fun facts. We also had a chat with Serge Hascoet, head of the editorial team, about the editorial vision of Ubisoft, which was quite enlightening.
At night, you’ll go out in many restaurants in Paris for good food and have some drinks!
During this week, I had the chance to meet other GPPs from the Graduate Program, but also regular junior GPPs from Montréal, Buccarest, Annecy, Sweden, and Paris of course. The week was exhausting but it definitely was a great moment for us all.
My contract with Ubisoft Montpellier will end in September, after what I’ll move abroad in my new studio. There will be a small transition phase with a little help from Ubisoft in order to move in to this new location. It will be an opportunity to discover an other studio with other people, in a possibly very different culture. I’m also looking forward to get my hands on some other pieces of technology (maybe Snowdrop!).
My first year in Montpellier is not over yet, but still, I’m very satisfied with how everything went. I enjoy each aspect my job, whether it be the Graduate Program itself or my daily tasks. I met many amazing people in Ubisoft Montpellier, some of which became friends. Overall, that’s a great place to work, even as a junior not coming from a video-game school. Still, I’m really looking forward this year abroad to meet more people and live in a different culture. I highly recommend the Graduate Program to anyone that would be interested in joining the video-game industry.
If you are interested in the program, you can get more information at www.ubisoftgraduateprogram.com