1. Software Control Management
For Game Developers
Francisco Monteverde Pablo Santos
CEO Codice Software President & Co-Founder
fm@codicesoftware.com psantosl@codicesoftware.com
Visit www.plasticscm.com/games
@plasticscm www.plasticscm.com
2. Agenda
Introduction to Plastic SCM for Game • Francisco Monteverde – CEO Codice
Sofware
Developers
• Company and Product Offering
Plastic SCM 4.0 main features including • Branch Explorer –simple and complex
branching schemas
Demo
• Xdiff
• Attributes
• Distributed vs Centralised
• Cooperation between teams (eg.
programmers & artists)
Q&A & next steps
@plasticscm www.plasticscm.com
3. Codice Software
Company Background
• Founded: 2005
• Product: Plastic SCM
• Our Customers: from small (+5 developers) to
large developer (100’s) teams
• Investors (VC): Bullnet Capital
• HQ: Valladolid (Spain) & Office in Silicon Valley
• Distribution: Korea, Scandinavia
@plasticscm www.plasticscm.com
5. Plastic SCM provides Source Control
solutions to Game Developers problems
A "product release freeze" must not freeze • Arcane SCM patters in current commercial products
are not good for branching, so many teams freeze
the team too. the code mainline. Hence, nobody can't checkin, so
they end up piling up local changes, outside source
control.
Coders, artists and designers on the same • Some new open source alternatives to current
commercial SCMs cannot deal neither with big
SCM. binaries nor big projects. Plastic SCM can:
• Handle huge binaries (+1Tb checkin on a
single file passed!), handle huge code bases,
Exclusive checkout, Archiving (moving old
revisions (assets, images) to secondary
storage), Get rid of old huge binaries
Branch to experiment new ideas. • Plastic SCM can handle huge code bases. Creating a
branch takes seconds.
Branch for new features • Again, fast and efficient
Strong merging if you branch you'll eventually need to merge: Plastic SCM
merge system merges all back together safely even if you
renamed files, directories and performed strong refactors
Better collaboration among the entire team One tool, one way to do things, complete for everyone
Ready to implement new paradigms: “branch per task” or distributed environment to support
heterogeneous teams, distributed locations…
@plasticscm www.plasticscm.com
6. Plastic SCM
Branching and Merging is GOOD!
“Codice provides a solid platform that supports DVCS and provides a
strong set of tools for managing the source tree that is lacking in open-
source solutions”
Gartner Cool Vendors in Application Development -Apr. 2011
The Coolness that is Plastic SCM (MSDN Blog reference, Dec 5th 2011)
http://blogs.msdn.com/b/saveenr/archive/2011/12/03/the-coolness-that-is-plastic-scm.aspx
@plasticscm www.plasticscm.com
8. Branching and Merging made Simple
Allowing Parallel Devlopment
• Plastic SCM excels in the “branch
per task” pattern
• Each task on the team’s issue
tracker becomes an independent
“feature branch”
• The gap between PM and
development is closed
• Developers boost productivity
with better isolation
• Releases are more controlled and stable than ever
• The branch becomes the “unit of change” instead of the “changeset”
introducing a much stronger way to track history (of course, changesets are
still available)
• The entire process is traceable through the branch explorer
@plasticscm www.plasticscm.com
9. Fully Distributed or Centralized repos
Multisite support - DVCS
• Making distant teams work together
• Full DVCS for mobile developers
Location 1 Location 2
developer
developer
Plastic SCM Plastic SCM
server 01 server 02
developer
developer
developer
@plasticscm www.plasticscm.com
http://www.plasticscm.com/features/distributed-version-control.aspx
11. 1. Simple Branching and Merging that
works
2. Fully Distributed: the only enterprise
SCM, but also can work centralized
3. Powerful GUI , but also a full CLI
4. Standard Repo’s: using popular
RDBMS, taking their advantages out of
the box
5. Secure: ACL Based (Access Control Lists)
6. Parallell Development: branch per task workflow
7. Simple: easy to install, use & manage
8. Flexible: customizable, agile..
9. Commercially Supported
@plasticscm www.plasticscm.com
12. Licensing Model
Subscription and Perpetual Licenses on a per developer basis
Plastic SCM is FREE for 15 developers or less
@plasticscm www.plasticscm.com
13. Providing value to different roles…
For developers who love the freedom of
distributed and simple
branching and merging
For managers who need to lead distributed
teams and understand the
status of the project
For release builders who need to create stable
releases
@plasticscm www.plasticscm.com
14. Providing value to different roles…
For Programmers who love powerful branching and merging
patterns, avoid code freezes, to expreimen
new ideas, embrace agile methods…
For Designers Who need to deal with a variety of file
formats: from versioning work documents
to custom scripting game logic
For Artists Who need to put large files under version
control and love features such: ease of use,
powerful previews
For Release Builder who need to create stable release
@plasticscm www.plasticscm.com
16. Codice Software Core Values
1. Proven Technology:
a) Leading DVCS implementation
b) 6 years development
c) Key Enterprise references
2. Customer Focused:
a) Flexible in response to customer feature or improvement
demands
b) Professional support and quick turn around
c) Assistance in your deployment and to transform your
development cycle.
3. Strive for Excellence:
Professional and passionate team fully dedicated to make the
best DVCS for you.
@plasticscm www.plasticscm.com
19. Plastic SCM vs. CVS
CVS is a legacy SCM CVS (Concurrent Versions System, a.k.a. Concurrent Versioning
System) initial release dates back from 1990, which makes it one of
the oldest version control systems around. CVS is still a widely used
SCM both in the Open Source world and the enterprise. CVS was
discontinued in 2008.
CVS limitations impact team • Lack of atomic operations
• Lack of support for moving and renaming operations
productivity and do not allow or • Expensive branch operations and lack of merge tracking
detect very common • Performance issues due to extensive locking (when a label or a
development operations branch is created the entire repository is locked until the
operation finishes, which has a big impact considering that the
operation is not specially fast)
Plastic SCM was designed 2 Comparing CVS against Plastic SCM is not fair since Plastic SCM has
being designed and developed almost two decades after, using
decades after much newer technology and evolved SCM concepts.
@plasticscm www.plasticscm.com
20. Plastic SCM - Gartner
November 2010 Gartner report on Software Change and
Configuration Management, “Clients seeking higher performance
and more-sophisticated release handling will want to consider
tools like Perforce Software, AccuRev or Plastic SCM.”
@plasticscm www.plasticscm.com
21. Plastic SCM is beyond DVCS…
“Distributed systems have their … but none of them are in Plastic
drawbacks as well”, according to SCM…
Perforce’s Randy DeFauw and others…
• it has a steep learning curve.There is no • Git has a steep learning curve -> Plastic
effective GUI yet, so it appeals more to SCM doesn't, it’s grahical and very
power users than enterprise intuitive.
developers.
• No effective GUI -> Plastic has one
• It requires a full copy of a repository to
be uploaded outside the firewall to • Full copy of the repo -> plastic doesn't
multiple disparate developers, has require it
issues around security, and access has • Only designed to work with text based
become more critical (although files -> plastic isn't restricted to this
submodules are either here or on the
way in several DVCS systems). • No master file -> in Plastic SCM you may
• The system is only designed to work have more than one repository but still
with text-based files, such as source know which one is the master copy.
code. Unable to do a replica doesn’t mean
• There is no “master” file or canonical you’re better organized (SVN, Perforce), it
source. only means you’re unable to do
Source : SD Times Feb 2012 http://sdt.bz/36328 "Agiledistributedis a big driver behind DVCS and the need for better
development work
branching and merging, the experts agreed.“ (SD Times)
@plasticscm www.plasticscm.com
22. What we read about Plastic SCM and
DVCS
• Internet Blogs:
– http://blogs.msdn.com/b/saveenr/archive/2011/12/03/the-coolness-
that-is-plastic-scm.aspx
– http://blog.aggregatedintelligence.com/2011/12/plasticscmfirst-
encounters.html
– http://www.dzone.com/links/plasticscmfirst_encounters.html
– http://stackoverflow.com/questions/8860099/using-plastic-scm-for-
small-personal-projects/8869600#8869600
• Latest in the press:
– Feb 2012: Sofware Development Times (SD Times, USA) B
• Branching and Merging: The heard of Version Control– By David Rubinstein
http://bit.ly/x8SGg9
– Dirigentes Digital Dic 2011:
http://www.dirigentesdigital.com/articulo/tecnologia/201696/monteverde/francisco/codice/softwar
e.html
@plasticscm www.plasticscm.com
23. Plastic SCM against competitive
offerings
Product
ClearCase Consistently surpassed by Plastic including much better pricing
AccuRev Lacks distributed support. Lacks good enough branching
Subversion No distributed, weak scalability, lack of strong branching and merging
Perforce Can’t go distributed. Weaker merging (renaming support)
Git No enterprise oriented, lack of ACL support, issues dealing with big files, no binary
files support, no GUI, no commercial support, can’t do centralized
CVS Outdated. Issues with branching and merging, distributed, relies on database locking,
performance issues
MS SourceSafe Several ages behind. No distributed, no branching, no merging, stability issues,
scalability problems
MS Team No distributed, lack of strong enough branching and merging. Relies on outdated tech
for merge tracking
Foundation Server
@plasticscm www.plasticscm.com