Factorio: La chaine de Conception Graphique

Il y a quelques mois, je vous avais présen­té le jeu  Fac­to­rio, nous allons main­tenant par­ler de son work­flow de con­cep­tion graphique.

L’idée d’une nou­velle entité

Kovarex pense à ajouter une nou­velle entité au jeu Fac­to­rio. La plu­part du temps, pour ses propo­si­tions, il fait un pro­to­type avec un con­cept art, puis, il mod­élise et améliore le com­porte­ment de la nou­velle entité par obser­va­tion en jouant. Une fois qu’il la juge bonne, il la soumet à l’équipe qui dis­cute des lignes direc­tri­ces avec con­tri­bu­tions con­cer­nant les exi­gences visuelles, de couleurs, d’an­i­ma­tions, d’humeur, etc.
Voici un exem­ple avec de nou­velles pom­pes et l’esquisse d’une nou­velle entité:

factorio FFF-146-01-PUMP-SKETCH

Mod­éli­sa­tion 3D avec Blender

Une fois le con­cept et les exi­gences tech­niques claire­ment étab­lis, la mod­éli­sa­tion est réal­isée sous Blender qui per­met d’avoir un flux de tra­vail très flex­i­ble.
Une entité dans Fac­to­rio est com­plexe, ren­due en plusieurs lay­ers, et assem­blée à nou­veau dans le moteur. Donc, pour cela, l’équipe a besoin de plusieurs lay­ers et sor­ties dans Blender.
Il est très fréquent aus­si qu’une fois le ren­du et tout le proces­sus ter­minés, et l’en­tité inté­grée dans le jeu, cer­tains change­ments soient néces­saires. Il est donc pra­tique d’avoir le fichi­er de mélange prêt à ces change­ments. Pour re-ren­dre en un seul clic, l’équipe utilise Ren­der­Lay­ers, et/ou des scènes séparées. 

factorio fff-146-02-blender-render-layers

Les scènes sont tou­jours divisées en scènes MODELES et scènes RENDER.
La scène RENDER relie ensuite tous les Ren­der­Lay­ers néces­saires via des com­pos­i­tor nodes. Il est néces­saire de divis­er les scènes en tant que com­pos­i­tor nodes.
Une autre option aurait été le ren­du par lots via une com­mande .bat, mais cela ne prend pas en charge Ren­der­Lay­ers, elle n’est donc pas util­is­able ici.

factorio fff-146-03-blender-render-outputs

Post-production sous Photoshop

Presque tous les sprites passent par Pho­to­shop à un moment don­né.
Les masques dess­inés à la main sont peints pour faire appli­quer le con­traste, faire des bor­ds plus clairs, mieux définir la forme des entités, .…
Sous Pho­to­shop, l’ap­proche générale est de pren­dre l’im­age ren­due (de préférence par Place Linked func­tion), la dupli­quer deux fois, définir les dou­blons en Mul­ti­ply et/ou un Screen blend modes et leur ajouter des masques vides (noirs).
Il est tou­jours préférable d’avoir le meilleur ren­du des résul­tats directe­ment depuis Blender, mais en réal­ité il y a sou­vent besoin d’un sec­ond réglage. Voici un exem­ple de l’im­por­tance de la post-pro­duc­tion:

factorio fff-146-04-post-produced-comparison

Après les effets

Les pro­jets sont sou­vent très grands, avec de nom­breux sprites de sor­tie, il y a besoin d’au­toma­tis­er le proces­sus de ren­du, pour lequel After Effects est util­isé.
Nous pou­vons com­bin­er à la fois la post-pro­duc­tion dess­inée à la main sous Pho­to­shop avec After Effects avec l’im­por­ta­tion des fichiers PSD et/ou des lay­ers séparés de celle-ci.
Le plus grand obsta­cle à l’adop­tion du flux de tra­vail Ae est de s’habituer au sys­tème de strat­i­fi­ca­tion lors de l’in­ser­tion des com­po­si­tions dans d’autres com­po­si­tions. Une bonne com­para­i­son est d’u­tilis­er des groupes dans Pho­to­shop. Dans After Effects on appelle cela pre-com­pos­ing.
Sou­vent, vous devez pré-com­pos­er / créer plusieurs niveaux de com­po­si­tions afin d’at­tein­dre les résul­tats souhaités quand :
Une telle chose est sus­cep­ti­ble de se pro­duire quand:

  • Vous voulez traiter quelque chose comme 1 seule unité
  • lors du déplace­ment, rota­tion, mise à l’ échelle,
  • Vous voulez faire des ren­dus pour cer­taines choses séparé­ment,
  • Vous voulez appli­quer un effet à seule­ment quelques lay­ers, mais pas à tous.
  • Vous voulez appli­quer le addi­tive blend­ing à un cer­tain lay­er qui devrait affecter autre chose que l’en­tité (comme le feu sur la tourelle).
  • Vous souhaitez utilis­er plusieurs couch­es comme une mat­te.
  • Vous voulez ren­dre dif­férents “temps” avec la même com­po­si­tion (si vous avez plusieurs sor­ties dif­férentes dans une séquence de temps comme fret wag­on, ou lors du ren­du de décalages).

factorio fff-246-06-after-effects-nooddle

Python, la dernière étape

A la fin de notre proces­sus, un spritesheeter.py de script python, fait par les codeurs Fac­to­rio, est util­isé pour créer des spritesheets prêts pour le moteur avec du code lua dans des fichiers texte, aux côtés des aperçus gif.

factorio fff-246-07-Automation_Overview

Main­tenant , la nou­velle entité est prête à être insérée dans le jeu pour voir com­ment ça va , il est très prob­a­ble que quelque chose ne soit pas exacte­ment comme désiré et qu’il faille revenir à Blender, afin de le mod­i­fi­er à nou­veau. Voilà la rai­son d’avoir un sys­tème flex­i­ble.
Comme il y a pas mal d’artistes dans le départe­ment, le tra­vail a du être nor­mal­isé, des proces­sus rédigés.

Sources: https://www.factorio.com/blog/post/fff-146.

Je vous con­seille forte­ment de suiv­re ce dev blog  des créa­teurs de fac­to­rio. Presque tous les ven­dre­di, vous allez y trou­ver une sorte de rap­port de développe­ment détail­lant un aspect ou l’autre du dev du jeu, des nou­velles fonc­tion­nal­ités, etc.

 

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.