Détails du poste
- Lieu de travail : Montreal
- Type de poste : Permanent à temps plein
Description du poste
Nous recherchons une personne au poste d’Architecte Moteur / Gameplay pour contribuer à façonner les fondations du contenu généré par les utilisateurs (UGC) au sein d’une expérience AAA à grande échelle développée avec Unreal Engine.
Ce rôle se situe à l’intersection des systèmes moteur, de l’architecture gameplay et des nouveaux flux de création assistés par l’IA. Vous définirez la manière dont les créateurs et créatrices construisent, étendent et interagissent avec la plateforme — grâce à des API robustes, des systèmes évolutifs et des outils de script intuitifs — tout en permettant des outils pilotés par l’IA qui abaissent la barrière à la création sans en limiter la profondeur.
Responsabilités
Concevoir l’architecture de bout en bout du cadre UGC : modèles de données, systèmes d’exécution et points d’extensibilité
Concevoir et faire évoluer des API qui exposent les systèmes de gameplay de manière sécuritaire et flexible aux créateur·rice·s
Définir le modèle de script (langage, environnement d’exécution) pour le contenu créé par les utilisateur·rice·s
Collaborer avec les équipes IA/ML afin de permettre un agent IA capable de générer, modifier et raisonner sur du contenu de gameplay
Mettre en place des garde-fous : budgets de performance, isolation (sandboxing), sécurité et déterminisme
Travailler étroitement avec les équipes gameplay, en ligne et outils afin d’assurer la cohérence de la plateforme
Orienter la direction technique au moyen de prototypes, de documentation et d’implémentations concrètes
Encadrer les ingénieur·e·s et influencer les normes d’ingénierie à l’échelle des équipes
Qualifications
Solide expérience en architecture de systèmes gameplay ou moteur en C++ avec Unreal Engine (ou des moteurs AAA comparables)
Expérience démontrée dans la conception de systèmes extensibles, de SDK ou de plateformes pour développeur·euse·s utilisées par des créateurs et créatrices internes ou externes
Compréhension approfondie de l’architecture gameplay, incluant :
Systèmes entité-composant (ECS) ou modèles basés sur des acteurs
Architectures événementielles et systèmes de messagerie
Machines à états, modèles de réplication et pipelines de sérialisation
Expérience dans la conception et la maintenance d’API (C++, REST ou RPC) avec un accent sur l’utilisabilité, le versionnement et la rétrocompatibilité
Expérience pratique avec des langages et environnements de script (p. ex. Lua, Python, scripts visuels comme Blueprints, Verse ou des DSL personnalisés)
Familiarité avec l’intégration de langages de script et l’interfaçage entre code natif et code géré/runtime
Solide compréhension de l’optimisation des performances à l’exécution (contraintes CPU/GPU, gestion de la mémoire, systèmes de streaming, multithreading, flux asynchrones)
Expérience avec des systèmes à grande échelle (mondes ouverts, partion du monde, streaming d’assets, environnements réseau/multijoueurs)
Connaissance des systèmes de build, des pipelines CI/CD et des flux de validation de contenu
Expérience avec le sandboxing, la sécurité basée sur les capacités ou des environnements d’exécution sécurisés pour le code créé par les utilisateurs et utilisatrices
Aisance à travailler à travers plusieurs domaines : moteur, gameplay, services backend et outils
Atouts souhaités
Expérience dans la création ou le support de plateformes de modding ou d’UGC (p. ex. éditeurs de niveaux, API de script, chaînes d’outils pour créateurs et créatrices)
Exposition à des flux de développement assistés par l’IA/ML, incluant :
Outils propulsés par des modèles de langage de grande taille (LLM)
Systèmes basés sur des agents
Interfaces de création de contenu pilotées par des prompts ou le langage naturel
Familiarité avec la représentation des connaissances, les systèmes basés sur des graphes ou les chaînes d’outils permettant le raisonnement de l’IA sur les données de jeu
Expérience avec des plateformes de jeu intégrées au cloud, des services backend ou des écosystèmes de jeux-services
Expérience en expérience développeur·euse (DevEx), incluant les outils, les systèmes de documentation et l’utilisabilité des plateformes techniques
Expérience dans la conception pour d’autres développeur·euse·s, et pas uniquement pour des systèmes
Capacité à équilibrer flexibilité et garde-fous (puissance sans chaos)
Aisance à prendre des décisions fondamentales ayant un impact à long terme
Accent mis autant sur l’utilisabilité que sur l’élégance technique
Préférence pour des modèles mentaux simples, même lorsque les systèmes sont complexes sous le capot
Exigences d’admissibilité
Les personnes intéressées doivent soumettre leur candidature afin d’être considérées.
Doit être disposé·e à travailler dans nos bureaux de Montréal au minimum quatre (4) jours par semaine.
Doit être disposé·e à effectuer des heures supplémentaires lorsque requis, conformément aux normes du travail du Québec.
Doit être légalement autorisé·e à travailler au Canada.
Doit être disposé·e à se déplacer pour des raisons professionnelles, au besoin.
Additional Information
As part of our selection process, external candidates may be required to attend an in-person interview with an NBCUniversal employee at one of our locations prior to a hiring decision. NBCUniversal's policy is to provide equal employment opportunities to all applicants and employees without regard to race, color, religion, creed, gender, gender identity or expression, age, national origin or ancestry, citizenship, disability, sexual orientation, marital status, pregnancy, veteran status, membership in the uniformed services, genetic information, or any other basis protected by applicable law.
If you are a qualified individual with a disability or a disabled veteran and require support throughout the application and/or recruitment process as a result of your disability, you have the right to request a reasonable accommodation. You can submit your request to AccessibilityS.