Creative Chronicles: Programming
1 August 2017
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.
At Creative Assembly we use all of the features of C++14 to create our games but we don't favour features for the sake of it. 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.
A programmer's work is at the heart of the games development process, informing all aspects of gameplay from graphics to artificial intelligence. Programmers often have degrees in physics, maths, engineering or computer science and may go on to study a Masters Degree or PhD. Enthusiasm to read, practice and experiment with code is equally important.
In the UK there are currently 119 universities teaching computer science courses. Career opportunities are also increasing with a 30 per cent rise in programmer and software developer vacancies seen in 2016.
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 Coding Manager, 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 100 people meet two or three times a year in locations around the world to form the committee. 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).
PROGRAMMING AT CREATIVE ASSEMBLY
Whether you are creating innovative AI for large armies in Total War or character-driven villains, or implementing game UI, Creative Assembly has many opportunities for you to work with incredible materials and embrace both expected and unexpected results.
We have a large codebase that is written in C++ and kept up-to-date by our industry experts. We write our code in C++14 and use everything the language has to offer.
We are also currently trialing some features of C++17 and will be using it more in the future.
- Watch our programming video presentations, including Andy Bray talking at Nucl.ai Conference 2016 about the AI of Alien: Isolation.
- Our Lead Graphics Programmer, Tamas Rabel, shares a series on the Anatomy of the Total War Engine in GPUOpen.
- AI Programmer, Duygu Cakmak and Principal Coding Manager, Guy Davidson, look at how AI can deliver entertainment in Total War at ACCU 2018.
- Our Animation Programmer, Hubert Mohr-Daurat, shares a poster presentation on 'Automated Regression Tests For Character Animation Systems'.
- Our AI Programmer, Duygu Cakmak, spoke to GamesIndustry.Biz about her journey into the industry.
- Our Creative Chronicles series focuses on different areas of games development. Other editions include Art and Audio.