Making Of / 04 September 2024
Concord: World Art and Lighting Tools
Backstory: I had the pleasure and honor of writing and developing a lot of workflow and QOL tools for both lighting and the world art team at Firewalk studios for Concord. Below are the collection of some of the most impactful tools I was able to contribute to:
1. Golden Path Nodes: Lightmap texel density automation
Since we baked lightmaps for all maps, we needed a robust system to determine and set lightmap resolution to maintain a consistent lightmap texel density across all the assets receiving lightmaps
We opted towards building a 'Golden Path Node' approach where the lighting artists place volumes to define play space and off play space areas
Since lightmaps are essentially textures that can have a significant disk space overhead, artists could define where to use the lightmap budget. For example, assets closer to play space would receive 2x the lightmap texel density compared to assets outside play space
These volumes allowed the artist to set texel density, fall offs, exceptions etc. This way we were able to just throw in assets as we want, place these volumes and let the system automatically calculate, set the lightmap resolution on each asset in the map
I designed the developed the Golden Path System for Concord. Thanks to the very talented Tomas Savickas who helped build on the volume system to add more control like shapes, blending control and live editing on maps
2. Static Mesh Batch Functions
Concord is a live service PvP competitive game that was locked at 60fps on PS5. It was crucial for us to optimize on lightmap memory, shadow casting costs and bake times as much as possible
Static Mesh Batch functions was another automation script which allowed users to set certain parameters like whether asset should be lightmapped or whether the asset needs to cast dynamic shadows with a click of a button
Lighting artists could set parameters like surface area or volume thresholds for which the tool would sweep the entire map and disable/enable shadowing based on those parameters.
Additionally, we also had automation scripts that would raycast to check whether assets needed to contribute to dynamic shadowing purely based on the context of their position and location
We had a suite of tools on Concord to achieve the ~16ms frame time. Above examples are some but not all the automations and tools we developed over the years. Huge shout out to the entire Technical Art team for collaborating on various aspects of this. Forever thankful to have worked with such an amazing team