Engine Programmer - Job description
Missions, skills, training
The video game engine developer designs, develops and optimizes the game engine.
This game engine makes it possible to assemble and manage the graphics, sounds, gameplay, movements, interactions, special effects, and the network.... to simulate the video game universe in real time.
The job of Engine Developer can also be found under the following titles:
- video game engine programmer
- engine programmer
- engine engineer
Importance of the Video Game Engine Developer in a video game production
The development of efficient and effective game engines is essential to meet gamers' expectations in terms of graphics, gameplay and user experience.
The Engine Developer is involved in all stages of the creation of a video game.
The Engine Developer must ensure that the game meets the technical specifications and that it runs on each platform with the expected quality.
The missions of the video game engine developer
- analyze the gameplay requirements
- participate in the technical architecture
- design the code and meet the project's needs and constraints (technical, artistic and functional)
- deliver clean, structured and commented code
- implement different functionalities in the game engine or delivered resources
- identify technical and development risks/obstacles (memory, performance, synchronization, reliability issues...)
- propose optimization solutions
- perform profiling
- analyze and resolve bugs
- propose improvements on existing functionalities
- write technical documentation
- follow the quality procedures at each step of the development
Engine Developer skills
Programming & tools
The most commonly used programming languages in the video game industry are C++, C#, Python... and are used by the Engine Developer.
He must also master video game development software such as Unity, Unreal Engine, etc; as well as production, integration, visualization and testing tools.
Mathematics and Physics
A solid understanding of mathematics (algebra and geometry, applied to 3D) and physics is essential to enable :
- the simulation of movements, particles, behaviors in video games
- the creation of realistic effects
- the calculation of the effects of collisions and interactions between virtual objects
Problem solving and analysis
The Engine Developer must identify problems, understand their origin and find effective solutions to correct them and improve the performance of the game.
This may include fixing bugs or performance issues, correcting code conflicts, identifying problems with the tools or technologies used for game development, etc.
The Game Engine Developer has a good knowledge of the production methods and pipelines used in game development.
In addition to "business" skills, recruiters are looking for certain qualities:
- be curious, interested in technological developments and advances in the video game industry
- Logical ability to solve complex problems
- Have good interpersonal skills to interact with the different teams, locally or remotely: development teams, design teams, artistic production teams...
- Enjoy teamwork and interaction with other teams
- Be autonomous, rigorous and patient
- Be passionate about video games
Training and education requirements
Becoming an Engine Developer
ISART's Game Programming program trains high-level, comprehensive profiles that have both technical and scientific skills related to video games but also solid cross-disciplinary skills.
Students are trained in the production pipelines, technologies and issues of the digital and video game industry, but also in those facing challenges in areas such as virtual reality, artificial intelligence or big data.
Through modules that combine basic sciences, specialty courses, human sciences, introduction to research and professional experience, students are trained to work in a multidisciplinary environment.
The 4th year offers them the opportunity to perfect their skills in specialized subjects such as physical simulation programming and to collaborate with all the video game professions in the framework of a common project.
The 5th year allows students to specialize in specific subjects, to open up to cross-disciplinary professions and to do research, in partnership with the Tokyo University of Technology.
Become an expert in video game programming
ISART's 5-year educational program allows students to acquire scientific and technical expertise and technical expertise applied to video games:
Low and high level programming C, C++, C# | Architecture & Software Design | Algorithms | Parallel programming | Technical design document | 3D animation techniques | Debugging-Profiling (CPU and GPU) | Networks | Research and development | Advanced data structure | Network programming on Unreal Engine 4 | Complex algorithms (Broad Phase | Narrow Phase | SPH | Position Based Simulation) | Physics engine | Amazon Network Architecture | Illumination and shading techniques under Vulkan (propagation, reflection, refraction, raytracer) | Assembler and SIMD | Reverse engineering gameplay | Advanced parallel programming | DevOps
Engine and Tools
File versioning (Git) | Rendering system (OpenGL) | Game engine (Unity) | Advanced rendering system | Unreal Engine 4 (C++ and Blueprint) | Architectures (CPU | GPU) | Advanced use of Unity and Unreal Engine | Optimization
Complex Physics and Mathematics (Analysis, Vector Analysis, Navier Stokes, Minkowski, Voronoi) | Rasterization | Algorithm Complexity Study | AI Techniques in the Video Game World | Complex Physics and Mathematics (Optics) | Spatial and Temporal Acceleration Algorithm
Production Management | Schedule Management | Code Validation
Passage du TOEIC (English test of language skills)
From the first year, students work on numerous projects to put their knowledge into practice, test their logic, their ability to work in a team, manage a project and dead-lines...
Among the projects developed, from the 1st to the 5th year:
2D/3D Games, Rasterizer, Personal Engine, Inter-curricular 3D Action Game, End of Year Project, Human & Citizen Project, Parallel Resource Management, Arena Fighting Game, Character Animation (FBX), Making a Game with the Game Engine, Network Game, Real-Time Strategy Game, Game Week, Professional Experience Project, R&D Technological inter-curricular, R&D Technical Artist inter-curricular, End of Bachelor Project, Professional Specialization Project, Realization of a physical simulation (Rigibody with constraints and fluids), Video Game Project inter-curricular, Illumination and shadow engine, Optimization physical engine, Analysis and restitution gameplay ...
ISART places professional experience at the heart of its studies, to facilitate the professional integration of students.
From the 3rd year of studies, they discover life in a company and develop their professional and social skills (communication, team spirit, priority management meeting deadlines...).
Each year, they acquire professional experience and progress in their professional maturity. This allows them to enter the job market as soon as they finish their studies.
After a few years of professional experience, the Engine Developer can move on to positions such as Specialized Programmer, Lead Programmer or even Technical Director.