How Perforce made an interstellar battle possible
January 31, 2013 —
(Page 2 of 3)
Related Search Term(s): CCP Games, Eve Online, Perforce
“Any developer that gets hired onto a project is in most cases able to sit at their desk and use a sync command that pulls down the right branch of code for them. The tools don't require the developers to pull in any extra packages manually. We achieve this by checking a lot of things into Perforce. We have middleware and libraries, and we check those into source control as well. We take time to configure them properly in Perforce. That's proved invaluable.”
And the storing of non-code assets doesn't end there. Fannar said that CCP uses Perforce to keep track of server environment configurations.
“It was hard to track the exact configuration of some of the servers,” he said. “Configurations used to be stored in local text files. There wasn't any auditability. Perforce is perfect to do that. The way we use it, you check in changes to the environments through Perforce. When you're promoting your configuration to the next testing stage, you're taking the configuration from staging to production. When you're in the Web page and promoting that, on the back end we're doing an integration in Perforce and moving that configuration to the next stage. When we spin up new servers, we're reading this data out of Perforce, and it's applied to the 'virtual machine baker' as we call it.”
Fannar also said that keeping multiple sites up to date with the same environments, code and assets is made easier thanks to Perforce.
“We have proxy servers at local offices. But for the brokers and for user management, we invested in getting all that configured for a global development organization,” he said. “We manage all our users on a central server. It doesn't matter which office I'm with, I always check into the same server. But I am routed to the nearest proxy for the best experience.”
Randy DeFauw, technical marketing manager at Perforce, said that the CCP team is not alone in its use of central repositories as a catchall for solving versioning problems. He said that non-code assets haven't just been leaking into repositories, “It's been gushing for years now.”