Internship @ EA Criterion

Summary

In 2018, I had a chance to work as a Software Engineer Intern at Electronic Arts, Criterion Games located at Guildford, United Kingdom. This was a 12-month placement adhering to my university’s requirements that meets the certification of Professional Registration for IT Technicians (RITTech) from the British Computing Society at the end of the placement.

Disclaimer: Due to Non-Disclosure Agreements, I will be omitting specific details of the projects.

Criterion Games is a game developer studio acquired by Electronic Arts. They are the second-largest game publisher and developer company in North America and Europe. For the past 4 years, Criterion Games has been awarded consecutively The Best Mid-Sized Company from 2016-2020 by GamesIndustry.biz.

Role

Areas in the Engineering discipline (including but not exclusive)

During my placement, I was involved in developing different aspects of game making. I mainly liaised with people from other teams such as Production, Game Design and Audio to gather requirements for developing tools or a game itself.

The areas I was involved in were:

  • Animation
  • Gameplay
  • Game design/research
  • Debug/Tools
  • Web technology/Databases
  • User interface/User experience (UI/UX)

Timeline

Timeline of my software engineering internship at Criterion, EA

Learnings

Technical

During my time at EA, I have practiced several programming languages. When working with their internal game engine Frostbite, I picked up C++ and Object Oriented Programming. For rapid prototyping, I have used Unity in C# to develop gameplay interactions and UI elements. For version control on these two game engines, I have worked with Perforce and Google Suites for collaboration. When working with web technologies, I have used Microsoft .Net (C#) framework, involving the use of LINQ for databases and Google Charts API for the frontend. The main communication tools were Slack and Zoom. For task tracking and project management, I have used Atlassian Jira and Confluence.

Non-Technical

At the end of my placement, I felt more confident in agile software development lifecycles as they were put in practice during the placement. In the university, I was only taught about the theoretical aspects but did not apply them professionally in the workplace. I also found how important it is for informing the organisation about our overall contributions and progress, thereby helping teams to work more efficiently.

Through my placement, I have learnt how to communicate and collaborate better within a team and become more familiar with the process of game making. I have also learnt to be resourceful at work by seeking the right people for help. By being more proactive to take on tasks and to obtain constructive feedback, I could learn faster and overcome road blockers more easily.

I think my biggest takeaway from my placement is the insight gained in the games industry and knowing how big of a process game making is. Despite not being able to work on a game from start to end, I was able to try a hand on different parts of engineering from making tools to web development and UI programming.

Stories

Here’s a peek of my co-workers and the activities I was involved in outside of work!

First group photo with the other interns (August 2018)
Criterion team photo (September 2018)
Team building activity at Crystal Maze LIVE Experience (May 2019)
Posing with a Stormtrooper on Star Wars Day (May 2019)
Escape Room with the new interns (July 2019)
Escape room with the new interns (July 2019)
Handmade Thank You card for the Criterion team