Menu

Compétence : Langages informatiques bas et moyen niveau

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 VFXDéveloppement, production et création technique des ressources VFX
Intégration des VFX dans le moteur de jeuIntégration des VFX dans le moteur de jeu
Structuration de l'architecture du code, des données et des assetsStructuration de l'architecture du code, des données et des assets
Développement et implémentation des mécanismes de jeuDéveloppement et implémentation des mécanismes de jeu
Production de tools gameplayProduction de tools gameplay
Optimisation des performances Gameplay et correction des bugsOptimisation des performances Gameplay et correction des bugs
Développement de tools ArtsDéveloppement de tools Arts
Développement des briques moteurDéveloppement des briques moteur
Portage sur plateformes ciblesPortage sur plateformes cibles
Maintenance et évolutions du moteurMaintenance et évolutions du moteur
Optimisation des performances Engine et debuggingOptimisation des performances Engine et debugging
Mise en place de tests automatisésMise en place de tests automatisés
Veille technologique ciblée engineVeille technologique ciblée engine
Développement informatique jeu vidéoDéveloppement informatique jeu vidéo
Suivi de la qualité techniqueSuivi de la qualité technique
Veille technologiqueVeille technologique

Métiers associés

Gameplay ProgrammerGameplay Programmer
Technical ArtistTechnical Artist
Engine ProgrammerEngine Programmer
Technical directorTechnical director
VFX ArtistVFX Artist