Avalanche Studios' Jon Jones discusses how services like Shotgun can aid project tracking for large scale game development
As the outsourcing art manager at Avalanche Studios in New York City, the US-based office of the Swedish triple-A studio by the same name, I’ve worked with and evaluated dozens of software packages to help with tracking assets, tasks, schedules and budget.
Avalanche Studios is best-known for making gigantic, ambitious open-world games like the Just Cause series and the recently-announced Mad Max. As such, we need robust, customizable project management tools for tracking the enormous amount of art assets I’m outsourcing, and not just any tool will do.
I’ve been on projects of every size on every platform, and when I’m overseeing outsourcing, I’m the guy that evaluates and chooses the best system to use to manage it all. In Avalanche Studios’ case, we’ve wholeheartedly adopted Shotgun, which was selected after extensive evaluation of all of the options out there.
In this article, I’ll go over an initial list of considerations I have for any system I’m going to use for managing outsourcing, and a list of considerations worth evaluating when deciding which production management and tracking software might work best for you.
IT is the first group whose hearts and minds I have to win over when I propose a project management and collaboration tool. They have the ability to veto rollout of a new tool, and rightly so, since there are a wide variety of network resource and security considerations that need to be made when switching to a new product that people inside and out of the studio will be using on a wide variety of platforms and devices.
Web-based or application?
There are pros and cons to web-based and application solutions; here are some that weighed into my decision.
Pros: Accessible from anywhere! Updates to the system are made to the website itself rather than having to rollout software patches and updates where you’d potentially lose time with version mismatches, compatibility issues with non-English versions of Windows, etc.
Cons: Subject to connectivity issues, be they local or at an external vendor. IT permissions settings and Chinese and Indian studios may not allow the individual artist to have Internet access, which would require a special exception made for you. Most studios are flexible but this is important to consider.
Pros: These are usually less buggy than web-based applications. Connectivity issues may be less of an issue depending on how local\offline content is utilized by the tool.
Cons: Having unique desktop applications can potentially be a nightmare across different territories with different versions of Windows, languages, Windows updates, local IT and security permissions issues, nonstandard port blocking, etc. An IT department flipping a switch allowing port 80 (HTTP) or port 443 (HTTPS) access is much simpler and more standard an action than uniquely opening and closing ports for a desktop application.
In my case, I chose Shotgun because it’s hosted on its own server. They have a ton of clients, all of whom naturally expect uptime and reliability, so I’m fairly confident that maintaining reliable access is as close to a solved problem as you can get in this case.
If your source files are gigantic, I definitely recommend setting up a cloud storage service for file transfers.
Locally hosted or externally hosted service?
Pros: Full control and security, and possibly cheaper in the long run depending on scale and how well you're able to manage it locally.
Cons: Everything is your responsibility. Extra storage, downtime, connectivity issues, and costs.
Pros: They have the experience and infrastructure and support capacity to solve your problems faster and cheaper than you can. Never underestimate the value of a package full of solved problems.
Cons: You're subject to their uptimes and downtimes, and it's theoretically less secure. It's also potentially more expensive, depending on the scale of your production and if they charge per seat\user. Still, most companies use Amazon Web Services, which is highly reliable and cheap.
Some systems like ActiveCollab or ConceptShare let you install the software on your own server, at which point maintaining it is your problem. Shotgun provides this as an option as well. I’ve seen this inclusion be a factor in a purchasing decision in some larger companies that have robust IT security policies, because they prefer to have full control over their organization’s own data without any of it living on external servers. Some companies can be extremely picky about that, and having an option like that is worth keeping in your back pocket when you’re pitching what tool to use to your company’s decision-makers.
File transfer and storage
A question to ask is whether you transfer files within the system, or do you need to use separate software for managing file transfers? Examples include FTP, Dropbox, Google Drive, SkyDrive, Box, TresorIt, SpiderOak, etc. Are the files hosted on their servers, or yours? This is where local storage and bandwidth considerations come into play. Talk to your IT department.
I use a hybrid approach of locally hosting the source art files using various file transfer methods, and having my outsource artists upload screenshots directly to Shotgun so we can collaborate that way. This way, huge files are always syncing automatically without me having to manually upload or download files from an FTP or through a web-based interface. If your source files are gigantic, I definitely recommend setting up a cloud storage service for file transfers.
Having a system that has tons of bells and whistles is great, but if it’s too confusing for anyone but a Producer to use, then it’s going to waste huge amounts of your time.
Artist-friendliness demands a simple, easily customizable workflow
A system is only useful if people use it. Having a system that has tons of bells and whistles is great, but if it’s too confusing for anyone but a Producer to use, then it’s going to waste huge amounts of your time. If an Artist can’t log in and immediately see what he needs to work on, the system isn’t good enough. That’s why customization is incredibly important to me when selecting a collaboration tool.
In my case, I’ve used Shotgun to set up four different “views” for my four different classes of user:
Admin: Project-level view. This is for the Executive Producer types. Log in and it provides immediate full visibility into financial projections, spend, and forecasting. Admin logs in, and he sees high-level graphs and summaries of progress and landing dates for all milestones. Blockers are flagged and color-coded for quick visual recognition. Finer-grained detail and control is for the Manager view:
Manager: Milestone-level view. Same as above, except no financial information, and it’s a view focusing on milestone progress summaries. The Manager level view sees percentage complete per milestone and color-coded notification of any blockers. This view is for Producers and Art Leads managing the schedule and giving feedback on submitted assets. For example, the art manager sees percentage complete per milestone and per asset, with specific fields showing if the asset is in the concept\model\texture\etc phase and color-coding or flagging where it's blocked or delayed.
Artist: Asset-level view. Artist logs in, sees task list (Concept, Model, Texture, etc), and logs in to post art updates and receive feedback. If he’s tracking late against a milestone, there will be clearly visible due dates, priorities, and warning notifications about it. The Artist doesn’t need to know the high-level Milestone view, just what is his or her place in the grand scheme of things.
Vendor: Asset-level view. Same as the Artist,except they can’t see assets created by other vendors.
Flexible permissions settings
I’m generally working with multiple vendors as well as internal developers with various levels of seniority. I want to have a system that’s fine-grained enough to aggressively limit what the individual user can see. These are my two tests:
- Make sure vendors can’t see assets other vendors are working on.
- Make sure no one but Admin-level users can see information on costs or other budgeting and advance scheduling information.
Effective notifications can make or break a system. If I log in and what I need isn’t immediately at my disposal, the system is harder to manage and isn’t working for me like it could be. Almost every system I’ve ever used has strange email customization settings that usually sends way too many irrelevant emails to people it’s trying to help. Usually it takes 24 hours for most people to create an email filter that hides these emails. This is not a good thing, because people will miss seeing the information they need to work!
Shotgun and Trello are the only two systems I’ve seen that can have customizable email settings that are meaningful and won’t flood my teams’ inboxes with dozens to hundreds of emails they don’t need. As it is, they’re only emailed when someone sends them a message addressed to them in Shotgun’s internal messaging system, or when the Status (in progress, on hold, finished, etc) on a task to which they are assigned is updated. It’s definitely been a gradual and iterative process -- convincing people to delete the mail filters they installed to minimize email notification spam is tricky -- but we’ve finally gotten to a place where the information Shotgun sends to people is targeted, relevant, and useful.
Being able to filter by this to see what assets are waiting for whose attention has been incredibly helpful, because you can’t rely solely on email notifications or memory.
Specific Shotgun features that help keep our projects on track
1. Powerful filtering and organizing tools
When you’re dealing with tens of thousands of individual art assets, being able to sort and filter them easily is crucial. Tools like Trello and Basecamp only scale so much. Shotgun has the ability to track tens of thousands of individual assets, and filter them by asset type (characters, environment props, weapons), status (in progress, final, waiting to start), zone (Level 1, Level 2, Level 3), milestone (MS05, MS06, MS07), who it’s assigned to, due dates, etc. If you have a good head for data and strong organizational skills, you can search for and organize virtually anything, regardless of the scale of the project. Shotgun’s ease of use and extendibility is without peer in this regard.
2. Creation of custom tracking fields
Shotgun’s most useful feature to me is being able to create custom metadata to track and organize things that are meaningful to me and my project. I can create tracking fields that have extremely specific information like vehicle wheel size, or a status flag to indicate we’re waiting on Legal approval, or a special checkbox indicating if the asset is going to be outsourced or not… absolutely anything can be created and created to be tracked.
The most important custom field I’ve created in Shotgun was an idea that my friend Anthony DeCino over at Riot Games came up with: A custom status “switch” you can flip whenever art feedback is given. If a vendor posts an update on an art asset, they click a special color-coded button called “Waiting on Response” and switches the status to “Waiting on Avalanche.” That sends me a notification that it’s ready for us to look at, it’s brightly color-coded, and it shows up in our special filtered views that show what assets are waiting for our immediate action. When we give feedback to the vendor, we flip the “switch” back to “Waiting on Vendor” so it notifies them. Being able to filter by this to see what assets are waiting for whose attention has been incredibly helpful, because you can’t rely solely on email notifications or memory.
3. Highly customizable UI
This ties in directly with both customizable Permissions settings and the Custom tracking fields I mentioned above. I put a great deal of effort into creating custom, filtered views for the different types of users I have to make the system easier to use. I’ve never encountered a more flexible system for this than Shotgun. I’ve created a “Dashboard” within Shotgun with tabs that display different filtered asset types for the people that need that information. It filters out everything irrelevant and puts only the most recent, relevant information in front of them.
These views exist to display ONLY relevant, summarized information for each of my customers. Our environment art lead doesn’t need immediate insight into the status of all the game’s characters, our producer doesn’t need to see detailed animation lists, Legal doesn’t need to see assets that don’t pertain to legal approvals, etc. There is no such thing as a one-size-fits-all solution, but you can be clever about setting it up so your different customers are happy and only see what they need to see, as soon as they log in.
4. Mass/batch operations
Assigning and modifying thousands of assets at once is not something a lot of applications can do well, but Shotgun comes closer to making batch operations simple than any of the others I’ve tried. For example, if I need to select an entire batch of assets and move them into a different milestone, many systems would make that a grueling, manual process. With Shotgun, it’s as simple as select, right-click to edit, enter new data, done. A lot of systems don’t get this right or make it difficult to do.
5. Task templates
Each asset I’m outsourcing has an associated set of tasks, like Concept, Model, UVs, Texture, Integration, etc. Different assets have different production steps and times associated with creating them. Something Shotgun offers that I love that’s missing from many packages is Task Templates. I can create a set of Tasks for one asset type (let’s say a Weapon), and then I can apply that Task Template to a new Weapon asset with a couple clicks instead of having to manually create each individual Task. Again, when you’re working on a large-scale project, finding repetitive tasks that you can automate will save your life.
The favorite thing that I’ve managed to do with Shotgun that I’ve never accomplished elsewhere is creating a unified system to tie individual line items on a contract to assets in the system. Everything in Shotgun is tied to a Contract, which is a custom entity I created. I can track assignments, progress, how long assets took, how much they cost, the over\under % based on their initial bid, as well as track the more administrative things like if\when the contract was executed, if it’s been invoiced, what the expected payment dates are, and so on. Usually this would be a completely separate application, but I’ve managed to literally create my own application within Shotgun using its default level of customization to unify the two very disparate worlds of asset production and admin\finance. I’ve never seen a tool that can do that.
Overall, Shotgun has proven itself as the right tool for the job with my project’s needs. Namely, being able to manage and track tens of thousands of art assets, provide simple and customized workflows for my different user types, and being customizable enough to grow and scale into whatever I need it to do, no matter how improbable. I’d go so far as to argue that it’s really a project management platform upon which other apps and tools can be easily built to fit virtually any development need, though its usefulness is definitely weighted toward large-scale, high-end work rather than smaller projects.
As anyone who works in game development at any level in a mid-to-large sized studio can attest, the logistics of managing assets and development progress, teams, and more can be overwhelming. Every studio is different, and even within each studio, needs vary dramatically from project to project. What I’ve attempted to do with this article is provide a checklist of important considerations that I’ve compiled based on my experience in the industry. It’s a list that will help you make sure you’ve covered some key considerations that might get overlooked in the heat of production.
Jon Jones is a veteran Art Producer and Outsourcing Manager in the video games industry with 35+ titles under his belt. He is currently based in New York City working as Outsourcing Art Manager for Avalanche Studios, a world-renowned independent game developer known for huge open world games including the award-winning Just Cause series and the recently announced Mad Max. Jon’s clients have included Playdom, The Workshop, Riot Games and Sony Online Entertainment and he has worked with 2K Games, NCsoft, Vigil Games, and Ready at Dawn Studios.