Slides richar_o

427 vues

Publié le

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Slides richar_o

  1. 1. Théo RichartMTI 2012 Ubisoft Montréal Développement et amélioration d’outils internes en C#
  2. 2. CONTEXTE
  3. 3. UbisoftFrench company founded in 19863rd world video game publisher1 billion US$ revenueOver 5,000 employees in the world
  4. 4. Ubisoft Montréal2,000 employeesLargest Ubisoft Studio in the worldAssassins Creed, Watch Dogs, Prince of Persia, Just Dance, ...
  5. 5. ÉquipeEquipe outils du projet Assassins Creed15 personnes parmi plus de 200 dans le monde
  6. 6. Mon maître de stageAnthony Brien : Lead technique équipe outilsFondateur du studio à MontréalA travaillé sur AC1, AC2, Prince of Persia, ...
  7. 7. Sujet du stageDéveloppement doutils internes en C#Développement et corrections rapides Les utilisateurs sont des collèguesUtilisés par les créateurs de contenu Artistes, Game designers, ...
  8. 8. OBJECTIFS
  9. 9. Objectifs globauxAméliorer efficacité et productivité des utilisateurs Outils nouveaux ou existants OptimisationProduire du code réutilisable par léquipe et par les autres projets
  10. 10. MoyensDocumentation ConfluenceDisponibilité de mon maître de stage et mes collèguesCode documentéFormations internes et « capsules »
  11. 11. PlanningStage de 6 mois Du 6 février au 3 aoûtQuatre projets notables
  12. 12. Points de contrôleCode reviewsBuild farmsTests unitaires et testeursMeetings hebdomadaires
  13. 13. RÉALISATIONS
  14. 14. Notions préliminaires Scimitar : Moteur de jeu (C++) Protocole réseau Arrow Anvil : GuildLib : Editeur base de de données contenu (C++) (C#)
  15. 15. World Issue SystemPlugin Anvil en WPFIntégration avec JIRACréation, édition, affichage et recherche dincidents liés à un niveauInterface
  16. 16. World Issue SystemGrande phase d’optimisation : Parallélisation JIRA Virtualisation WPF Mise en cache
  17. 17. World Issue SystemOutil déployéRepris par d’autres équipesPlusieurs phases d’améliorationEn cours d’adoption
  18. 18. Enum CustomizationPersonnalisation des énumérationsUtilisé par les DTRésultat pour tout le mondeDéployé, repris par lesautres projets
  19. 19. Anvil StartupTemps de démarrage dAnvil : 40sProfiling afin de déterminer les goulots détranglement
  20. 20. Anvil StartupParallélisation : Migration vers .NET4 pour la Task Parallel Library Découpage en blocs fonctionnels UI Initialisation Pipeline Configuration Plugins
  21. 21. Anvil StartupRecherche de processus Recherche de lexécutable de Scimitar Différents noms selon la configuration Utilise WMI et WQL
  22. 22. Anvil StartupSérialisation XML Utilisait les XmlSerializers du framework Comparatif avec dautres solutions : Json.NET 2 fois plus rapide 10.00 8.00 6.00 4.00 2.00 0.00
  23. 23. Anvil StartupTemps de démarrage : 25sModifications déployées, reprises par d’autres équipes
  24. 24. Property BrowserRemplace la Property Grid vieillissante en WinFormsAffichage et édition des propriétés des objets du jeuOutil préexistant, mais non utilisé
  25. 25. Property Browser
  26. 26. Property BrowserIntégration depuis une autre branche de codeImplémentation pour ScimitarOptimisation et refactoringEn cours de déploiement, collaboration avec d’autres équipes
  27. 27. BILAN
  28. 28. BilanStage passionnant, enrichissantMené à une embaucheBelle conclusion de mes étudesMerci à mon maître de stage, Anthony Brien

×