Utiliser des langages compilés ou fortement typés, utilisés pour le développement moteur, gameplay ou systèmes de jeu, en appliquant les principes de programmation structurée et orientée objet, la gestion de la mémoire et l'optimisation des performances (C, C++,) - Programmer en utilisant des langages informatiques (par exemple Rust, C, C++…) qui offrent un contrôle fin sur l'utilisation de la mémoire et l'optimisation des performances ou qui permettent de développer le cœur des moteurs de jeux, des systèmes critiques ou des ensembles nécessitant beaucoup de ressources.
Niveaux dans la compétence
1 - Reconnaître les principaux langages compilés ou fortement typés (C, C++, C#) utilisés dans le jeu vidéo. Identifier leurs usages généraux et leurs différences fondamentales. Exemple : reconnaître que C est utilisé pour des modules proches du système nécessitant un contrôle précis de la mémoire, tandis que C# est couramment employé dans des moteurs comme Unity pour la logique gameplay.,2 - Comprendre les fondements de la programmation structurée et orientée objet dans un langage comme C++ ou C#. Être capable d'expliquer la logique d'un code simple. Exemple : commenter le fonctionnement d'une boucle ou d'une classe implémentant un système de score ou de chronomètre.,3 - Programmer de manière autonome des fonctionnalités simples dans un langage compilé ou fortement typé. Structurer son code avec des classes, fonctions et structures de contrôle. Exemple : coder en C# un système de déclenchement d'événements basé sur les entrées du joueur dans un niveau.,4 - Optimiser, maintenir et structurer un code complexe en respectant les contraintes de performance et de mémoire. Utiliser les outils de débogage du moteur. Exemple : implémenter un comportement IA en C++ avec gestion de la mémoire dynamique et mesure des performances via un profiler.,5 - Concevoir et intégrer des systèmes critiques ou fortement interconnectés (rendu, physique, audio) en optimisant l'architecture logicielle. Exemple : développer un gestionnaire de scènes qui optimise le chargement et le déchargement dynamique des ressources.,6 - Développer des architectures moteur avancées ou des systèmes innovants en langage bas niveau. Définir les standards internes de programmation et accompagner les équipes dans leur mise en œuvre. Exemple : concevoir un système multithreadé de streaming de données pour un monde ouvert, avec allocation mémoire optimisée et gestion des ressources en temps réel.
Activités associées
- Développement, production et création technique des ressources VFX
- Intégration des VFX dans le moteur de jeu
- Structuration de l'architecture du code, des données et des assets
- Développement et implémentation des mécanismes de jeu
- Production de tools gameplay
- Optimisation des performances Gameplay et correction des bugs
- Développement de tools Arts
- Développement des briques moteur
- Portage sur plateformes cibles
- Maintenance et évolutions du moteur
- Optimisation des performances Engine et debugging
- Mise en place de tests automatisés
- Veille technologique ciblée engine
- Développement informatique jeu vidéo
- Suivi de la qualité technique
- Veille technologique