Creative Chronicles: Programming

Creative Chronicles: Programming

November 18 2021 | Outreach

Creative Chronicles brings together key insights, information and statistics from the experts at Creative Assembly. We hope this will inspire students and those considering a career in game development.

This edition of Creative Chronicles focuses on programming.

Programming is where maths meets art, there is beauty in it and it's important that programmers are given the freedom to explore that.

 

Our Lead VFX Programmer, Aik, talks about programming at Creative Assembly

SKILLS OF A GAME PROGRAMMER

There are many different disciplines and specialisms within games programming and they all require a slightly different skillset. Specialisms include Engine Programmers, Gameplay programmers, AI programmers, Audio Programmers and Graphics Programmers.

The responsibilities and skills required of an engine programmer or software engineer will be vastly different to that of an AI programmer. But broadly, programmers are the ones to take ideas and write the code required to make a playable game, or system.

Skills broadly include analytical and mathematical problem solving, geometry, linear algebra and calculus, C++ or languages such as Python and Erlang for certain roles, abstraction and modelling, unit testing and for some disciplines UX awareness and GUI skills. Enthusiasm to read, practice and experiment with code is equally important as these skills.

Software used does vary across the industry although there are some industry standard software including Visual Studio, DirectX, Unreal and Perforce.

Programming in games

PROGRAMMING AT CREATIVE ASSEMBLY

Whether you are creating innovative AI for large armies in Total War, character-driven villains, implementing game UI, creating tools for our designers, artists, and musicians, or building the services powering millions of players' online experiences, Creative Assembly has opportunities for you to work with incredible materials and embrace both expected and unexpected results.

Innovation comes from mistakes and rallying together as a team to solve complex problems, all aimed at getting the best performance possible for the game.

We have multiple large codebases across the studio, written in C++ and C# with both in-studio and third-party game engines, and a rich service suite written in Erlang and Python.

We keep everything up to date with our industry experts leading research and development across our projects and engaging with external industry and academia. We write our code in C++ and use everything the language has to offer. Surrounding our games there are Tools and Infrastructure made from a diverse set of languages and skills including Lua, Python, C# and HSL for our Runtime GPU programming.

We have an established online service infrastructure built with AWS, with game and platform services written in Erlang, Python, and Javascript, and a web estate utilizing the latest front-end browser tech.

 

In this discussion, Creative Assembly’s developers (Duygu Cakmak and Chris Budd) break down the key skills needed to become a programmer.

PROGRAMMING IN C++

C++ is a standard language with a solid process for standardisation and improvement at an international scale. C++ comprises a combination of both high-level and low-level language features and is the only industrial programming language that is built around this concept. It is also one of the most popular programming languages ever created.

Our Head of Engineering Practice, Guy Davidson, is our industry expert for the British Standards Institute (BSI) and is part of the ISO C++ Standards Committee. Creative Assembly is the first AAA studio to be a part of this.

The language is growing to meet the emerging needs of the modern world and the committee is essential in standardising its use. Over 200 people meet two or three times a year in locations around the world to form the committee, as well as meeting online in weekly subgroups. They review new ideas and put them forward for standardisation, sending other ideas back for improvement. These ideas come from the community of users (which exceeds 5 million). 


 

RESOURCES