Programmeur Gameplay

  • Ville de Québec, QC, Canada
  • Temps plein

Description de l'entreprise

Ubisoft Québec est un leader de l’industrie du jeu vidéo à Québec, situé en plein cœur du quartier Saint-Roch. Impliqué sur plusieurs franchises phares d’Ubisoft, le studio a acquis une solide expertise, le positionnant dans le développement de jeux d’envergure AAA. L’équipe de 450 créateurs est unie par le désir de repousser les limites, de créer des mondes d’une grande qualité et de faire vivre des expériences de jeu mémorables.

Plusieurs postes disponibles pour des programmeurs d'expérience en gameplay pour différents projets AAA :)

Description du poste

Le programmeur gameplay est responsable de l’impact sur au moins un de ces 2 pôles :

1/ Le confort du joueur (jouabilité) c'est-à-dire du lien entre les actions prises par le joueur et les comportements subséquents de son personnage ainsi que les conséquences sur son évolution dans le jeu. Le confort du joueur est aussi largement impacté par les implémentations relatives à ces différents sujets : contrôles, caméra, menu/interface, intégration d’animations.

2/ Les comportements des personnages ou systèmes non contrôlés par le joueur c’est-à-dire le niveau décisionnel de ces entités, le niveau action, le niveau perception. Le travail doit s’assurer de la vraisemblance des comportements ainsi que du capital fun engendré par ces comportements et tel que conçu par les Game designers.

Responsabilités :

* Analyser et comprendre les documents de game design dans le but de définir les fonctionnalités requises et les systèmes de jeux qui doivent être développés dans le moteur.

* Analyser les fonctionnalités existantes dans le moteur et déterminer si ça convient aux intentions du projet et si nécessaire définir comment les adapter pour bien répondre aux besoins du jeu.

* Anticiper les éventuels changements au game design, et s’assurer que l’implémentation des systèmes de jeu supportera facilement ces changements.

* Utiliser les techniques de prototypage afin de démontrer la validité ou l’invalidité d’une idée gameplay.

* Utiliser différentes techniques de reverse engineering afin d’analyser efficacement le fonctionnement d’une mécanique de jeu de la compétition.

* Proposer des améliorations au besoin en concevant et implantant de nouveaux systèmes ou des modifications aux systèmes existants.

* Collaborer avec les Programmeurs des autres disciplines, les Game designers/ Level designers/ Animateurs afin de discuter des contraintes et établir les possibilités techniques des différentes fonctionnalités gameplay.

* Implémenter et optimiser les contrôles et les systèmes d’interactions avec le jeu pour rendre la jouabilité fluide.

* Valider et vérifier si les systèmes nouvellement développés rencontrent les intentions du projet et ne créent pas d’incohérence avec le code déjà existant.

* S'assurer que l’implémentation des contrôles et systèmes de jeu réussissent à fournir l’expérience au joueur prévu par l’équipe de game design.

* Travailler de manière itérative et impliquer les designers pendant l’implémentation des nouvelles fonctionnalités.

* Travailler avec les autres métiers pour développer les outils nécessaires pour leur permettre de faire des ajustements au gameplay de façon efficace.

* Supporter les fonctionnalités et les systèmes de gameplays conçus pour la production.

* Déterminer et corriger les bugs gameplay identifiés par l’équipe de production et l’équipe de contrôle qualité.

* Documenter son travail afin de transférer ses connaissances et permettre aux utilisateurs (les programmeurs ainsi que les autres métiers) de comprendre comme utiliser les nouveaux systèmes et fonctionnalités gameplay.

* Effectuer toutes autres tâches connexes.

Qualifications

Formation :

Baccalauréat en informatique ou génie informatique ou toutes autres formations équivalentes.

Expérience pertinente :

Minimum de 3 ans d’expérience en programmation de logiciel, idéalement dans le domaine du jeu vidéo ou toutes autres expériences pertinentes.

Habiletés et connaissances :

*Maîtrise du langage C++

* Avoir le souci du détail

* Être orienté vers le client/l’utilisateur

* Avoir le sens de l’initiative

* Avoir l’esprit d’analyse et de synthèse

* Être souple dans l’organisation de son travail

* Démontrer de bonnes habiletés de communication interpersonnelle

* Capable de travailler en équipe

* Capable de s’adapter aux changements

* Être orienté vers les résultats