Image of an arrow

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

Avatar

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. […]

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 […]

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, à […]

Thumbnail image

Travailler chez Savoir-faire Linux, c’est rejoindre 145 experts qui contribuent à la réalisation d’un monde plus libre, mais aussi plus responsable. «Avec une dimension internationale très forte, nous souhaitons attirer en France et au Canada des talents passionnés par leur métier, contribuant déjà aux communautés du libre et ayant à cœur de résoudre les problématiques […]

Thumbnail image

  Savoir-faire Linux et le CTIC célèbrent les premières cohortes de diplômés dans le cadre de l’Initiative de Numérisation des Petites Entreprises (INPE). Les premiers étudiants ont commencé en janvier dernier le programme de six mois pour devenir la prochaine génération de leaders de la transformation digitale des petites entreprises en Ontario, dans le cadre […]