Success Stories

Interview with

Garry Newman - Owner & Game Developer

Facepunch Studios (Walsall, UK)

Website: www.facepunchstudios.com | Twitter: @garrynewman

"Plastic excels for us is branches and merging. We've done some really really huge merges over the years. It is very easy to correct your mistakes too. It just works."

FacePunch Studios - RUST

Facepunch has been developing games for over 10 years. We started as one guy (me) and have grown organically to around 40 people located all around the world. We're not very corporate and so are always looking for alternate more agile solutions to our day to day development process. We have well known games like Rust, garry’s mod or Chunks.

Challenges

  • Fast Release Cycles: we aim to release an update for our games every week. These updates can range from simple bug fixes to brand new features. While this is hard work for us our community is energized by our work and is constantly growing.
  • Working in Parallel or Concurrently: This can be challenging at times because everyone is working on top of each other.

The setup

  • Unity & Unreal Engines: we use Unity and Unreal to make our games.
  • Global Distributed Team: our team is all around the world. Those that come into the office do not have to; they always have the choice of working from home if they want to. This means that having everything we do accessible from the internet makes sense. So, that is what we strive for.
  • Team Connected via the Internet (only): we do not have any kind of local networking in our office, just straight access to the internet. So, if something is slow and shit for us in the office, it's slow and shit for our remote workers too - so we'd better fix it. Everyone is equal.

Why Plastic SCM?

  • Support for Large Binary Repositories (>10Gb): Previously we were using SVN. It worked great for us for a long time, but we felt at the time that it was showing its age. Especially with 10gb+ repositories. We had heard of PlasticSCM via some friends, so we decided to give it a go. At the time we looked at Perforce, but decide that it was too complicated for what we were trying to do. We looked at Git too - but its lack of support for large repositories let it down.
  • Easy to Use for Developers & non-technical artists: at the time we looked at Perforce, but decide that it was too complicated for what we were trying to do. We looked at Git too - but its lack of support for large repositories let it down. There was a learning curve with Plastic, but not a huge one. For our nontechnical artists, there's a simpler UI that makes it easier to explain to them how to use it, but its standard UI is nice enough that you do not ever have to use the command line. This is a huge thing for us.
  • Powerful Branching & Merging that just works: where Plastic excels for us is branches and merging. We have done some really really huge merges over the years. The kind of merges that you would have ended up having to do by hand with SVN. It's very easy to correct your mistakes too. If we find that on patch day a feature I added is causing issues I can tell someone to just undo it, and they find the changeset and undo it, and there're no issues. It just works.

Advice for those using or evaluating Plastic SCM

Check the configuration. If you are working remote, there're hidden settings that will really boost your down speed.