Image of an arrow

Animation, VFX et jeu vidéo : un python dans le moteur

jriera

Lavender Albino PythonL’industrie du divertissement numérique, comme Christian Beauchesne l’appelle judicieusement, a des besoins bien spécifiques découlant de ses modèles d’affaires. Soumise à une intense compétition rythmée par les saisons commerciales et les bilans annuels, elle doit produire des films, jeux vidéo et autres livrables à un train d’enfer, dans un grand roulement de tambour personnel. Pour réussir ce tour de force, elle dispose heureusement d’une épée magique : Python.

Générant un chiffre d’affaires galactique de l’ordre des 100 milliards de dollars US en 2014 (1), l’industrie du jeu vidéo est la première industrie culturelle dans le monde et une importante locomotive de l’économie numérique, du Japon aux USA en passant par la France et le Québec (2). Mais le secteur de l’infographie (Computer graphics, en anglais) ne s’arrête pas à la porte des studios de jeux comme Gameloft ou Ubisoft. Il franchit celle des studios d’effets spéciaux, comme Hybride Technologies ou Industrial Light & Magic (auteur des effets spéciaux de Star Wars et Transformers) et pénètre aussi dans les studios d’animation comme Digital District Montreal ou Pixar.

Un langage qui se glisse partout

Or, Python est un langage de programmation ouvert comptant un très grand nombre de modules et bibliothèques logicielles (libraries) qui lui donnent le pouvoir magique de s’adapter à de nombreuses situations. On le retrouve abondamment sur le Web, notamment avec le framework Django et derrière des sites tentaculaires comme Youtube et Google. Dropbox a basé son système sur Python et la NASA elle-même l’utilise, comme le montre l’une des success story du site de la Python Software Foundation.

Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers” — Cuong Do, Software Architect, YouTube

Les studios d’infographie font partie de ces entreprises friandes de Python. Elles ont besoin d’être réactives à cause des échéances fluctuantes et de délais de plus en plus courts. Python permet justement de produire rapidement du code facile à maintenir. C’est donc un langage de choix pour développer ce que l’on appelle le « pipeline », le flux de données du studio. Ce pipeline va principalement gérer de très gros fichiers et y associer des attributs (ou tags) dans une base de données.

Python est certes plus lent que ses grands frères, C ou Java, mais ce n’est pas un problème, ici. Le principal goulot d’étranglement, c’est le chargement des fichiers et non la lenteur d’exécution du code. C’est pourquoi Python est présent dans toutes les grandes technologies: Maya, Nuke, Shotgun, Houdini, 3ds Max, Arnold, etc. Cette omniprésence fait en sorte que les pipelines peuvent dialoguer avec leurs composantes grâce à un seul et même langage. Cela réduit considérablement la complexité.

Enfin, il y a la philosophie de Python, résumée par ce célèbre aphorisme de Tim Peters :

There should be one– and preferably only one –obvious way to do it.” — Tim Peters (The Zen of Python)

Photo: affiche japonaise "Zen of Python"En d’autres termes, Python permet de sauter rapidement dans le code et de le comprendre. C’est ce que cherchent les studios qui doivent recruter très fréquemment de nouveaux développeurs.

Le choix de Python est d’autant plus logique que, sans être nécessairement le plus répandu, c’est l’un des langages de programmation les plus populaires au monde(3). Du fait de sa grande lisibilité, toutes les universités l’enseignent dans les cours de sciences informatiques et un grand nombre d’autodidactes le maîtrisent parfaitement. À Montréal, le cours DEV401 – Programmer en Python est l’un des plus populaires du centre de formation de Savoir-faire Linux et l’association Montréal Python n’est jamais en manque de présentateurs pour ses soirées-conférences mensuelles.

 
Voilà pourquoi, finalement, lorsque l’École Nad nous a contacté pour nous parler d’un Meetup Python spécifiquement dédié à cette communauté, il nous a semblé tout à fait naturel de nous y associer.


Articles similaires

Image of an arrow

Parce que l’UX ne se limite pas au monde connecté, si vous allez un jour à Miami et que vous devez prendre le train, ne cherchez pas plus loin : optez pour la Brightline. Ce réseau ferroviaire a su inclure l’UX et l’expérience client dans son processus et rend le train extrêmement agréable à emprunter. […]

17 Oct. 2018 Lecture de 2 minutes.

Tout le monde UX, abrégé TLM UX, est le rendez-vous UX (User Expericence – Expérience Utilisateur) de la scène Montréalaise. Proposant des conférences sur le sujet tous les 2 mois, TLM UX organise des rencontres entre passionnés, professionnels ou tout simplement curieux du domaine de l’expérience utilisateur. Ayant comme partenaires des grands noms d’agence de […]

20 Août. 2018 Lecture de 3 minutes.

Du 28 juillet au 5 août, l’un des membres de notre équipe, Hugo Lefeuvre (également un développeur Debian dans son temps libre), a participé à la DebConf18.  Ceci est LE regroupement annuel de la communauté Debian, à Hsinchu, Taïwan.  Au cours de la semaine, Hugo a passé du temps à préparer sa conférence sur Ring, à […]

15 Août. 2018 Lecture de 3 minutes.

Le 25 et 26 novembre prochain, Savoir-faire Linux sera présente aux Journées Québec à Paris pour dénicher les perles rares et les pousser à rejoindre l’aventure québécoise ! Les Journées Québec, des rencontres gagnantes Organisées à Paris par le gouvernement du Québec et ses partenaires, les Journées Québec permettent chaque année des professionnels de rencontrer […]

6 Nov. 2017 Lecture de 3 minutes.
Thumbnail image

Mobilité RxSwift 4.0.0 est sorti en version finale Par Romain Bertozzi Faisant suite à un précédent billet, nous nous intéressons ici toujours à RxSwift. L’équipe derrière cette implémentation de Rx a sorti ce 17 octobre sa quatrième mouture en version finale, estampillée 4.0.0 « Mortred« . Cette version est disponible via les différents outils de gestion […]

27 Oct. 2017 Lecture de 2 minutes.
Fermer
Fermer