Author: by Francisco Monteverde, CEO, Codice Software
Article brought to you by Codice Software
Telltale is an award-winning independent developer and publisher of video games. They create unique experiences within the rich worlds of Minecraft, The Walking Dead, Batman, Game of Thrones, and many others.
When it comes to software development tools, the version control system (VCS) is often a religious issue. There are pros and cons to every version control system. Telltale has found much success in using Plastic SCM, from Codice Software, as their main VCS.
Telltale operates on a very tight release schedule. Last year they shipped 14 episodes, and through that time, Plastic SCM faithfully kept everything going.
This article explains what are the challenges and demanding requirements a successful game development studio like Telltale put in their source control tool, and how they implemented it.
We would like to thank, Zac Litton (VP Engineering at Telltale) and James Chan, (IT Manager and Source Control Administrator at Telltale) for sharing their views and information with us. A short testimonial is available in the video, "Telltale Games: Managing Growth."
Episodic & Cinematic Games
Telltale has been in business for 10 years and wanted to become the best narrative licensed game company.
The studio expanded from 50 people to 350 over the course of five years, which stressed the tools, the technology, the processes and the pipeline that need to adapt at the same time.
They are doing so with a “digital first” episodic model, making consumers to enjoy and engage in a two-hour experience playing their series. These may have five episodes over the course of six months, in a similar way to TV shows, but opposite to the forty hours’ experience, developed through the course of two years, from traditional big titles.
Their games run on 14 different platforms, and it is challenging to create the same cinematic experiences in all of them, as well as keeping the pace of producing an episode every two months for three large productions at a time as they have now.
As people engage with the license and the content, the users and the community influence the evolution of the story or characters of the next episodes, so the development team needs to be flexible and adapt to it.
Producing games at this peace and respond to user’s feedback at the same time makes Telltale a very special studio.
Close to the audience
Telltale bet on shorter play experiences, episodic games and use digital marketplaces, where content is distributed and accessed to their audience instantaneously.
Key industry trends like supporting mobile games, constant updates and monitoring how users are playing the games, quickly reacting to their feedback and behavior are characteristics the company had in its DNA.
Natural Source Control & Collaboration
As Zac Litton explains, as game developers, you want tools that do their job well and get out your way, so you can concentrate on making exciting games. This is especially true for operational ones such as source control.
The essential aspects that Telltale expects from a source control tool are:
Maintain Fast Release Cycles: they currently release five episodes for three large titles over six months, with a team with 350 plus members. They need a source control with a strong server technology that quickly downloads the gigabytes of information that changes every day.
Tools that are easy to use for Artists: people need to concentrate on making games. Version Control must save time, making them more productive and efficient, download gigabytes of information quickly, do the basic version control operations easy, and getting out of their way.
Support for Remote Partners and Security: in addition to the resilience of the connection, they need to enable access to assets to remote teams and contractors. They all need to work remotely with fast access to the repositories. Administrators need to be able to grant access to designated part of the repositories by setting fine grained ACLs.
A reliable tool provider you can reach out and get help when you need it: this is really important for a piece of software that is going to be used by everyone in the studio every day.
The Setup
The main elements of Telltale’s setup to support their source control operation are:
Large Repositories (3.2TB): the largest repository is currently about 3.2 TB. They need downloads and uploads to be fast. Most artists only need a subset of this, so the version control needs to be able to work only on assets they need, allowing them to precisely select what is going to be downloaded to their workspaces.
Server & Storage: The main server is hosted on a dual socket Xeon E5-2630 with 32GB of RAM that houses both the Plastic SCM Server and the MySQL daemon. Storage is provided over a 10Gb network interface.
High Availability & Backup: a secondary server uses the replication feature in Plastic SCM to keep the two servers in sync, so they have constant synchronization, obtaining High Availability and Backup all in one.
Proxy servers: the international partners run Plastic’s proxy server in their environment to have fast access to the repositories.
What Plastic SCM brings to Telltale
The ability to manage Very Large Repositories (3.2TB): downloads and uploads are now super-fast. The Plastic SCM network protocol has no problems saturating a gigabit network when needed.
Artist Friendly Version Control System: Plastic Gluon UI and workflow is a subsystem designed specifically for easily configurable sparse checkouts, at a per file level, and it is very easy to use.
Locking Capabilities: When an artist needs to work on an asset, like a Maya file, they have Maya plugins that interface with Plastic SCM and it configures the Maya file and all its dependencies into a local workspace so that they can perform an exclusive lock on the file and then commit it later.
Security and Access Control: Plastic SCM has extremely fine grained ACL for the IT staff requirements and security purposes, this is very important when working with external groups.