Setting up our environment
If you are going to work on anything of any value in UDK then it's definitely worth keeping a backup of it. But what if you make some changes that break your game? Usually big game breaking changes are difficult to debug at the best of times and ideally you want to keep a working copy for you to refer back to and this is where version control steps in. In this case I'm going to use the industry standard subversion more commonly known as svn.
Subversion essentially allows you to store incremental versions of your work on a server, when you make a change you are happy with you commit it to your project folder on the server called the repository.
Another great use for svn is that multiple people can commit work to the same repository which means you can all work on the same project at the same time.
Download subversion package here install and restart your machine.
You can use svn via the command line, but that's a bit too restrictive for me, I prefer to use Tortoise SVN which gives me context menu when I right click files and folders to perform svn actions such as commit.
Download and install Tortoise Svn too
So now what? Well we now need somewhere to put our UDK game files and for this I've chosen SourceForge although you could host your own svn repository if you have one set up, but SourceForge is again free which is perfect.
Register yourself and account, you'll get a verification email once you've done that which will allow you to log in and set up your project.
This should take you into your account page, from here click 'projects' then 'register a new project' on this page you can add your project name, I'm going with 'MyCustomUDKGame'
Make sure you tick SVN and untick GIT the main reason for unticking GIT is that the code icons are identical and it becomes a bit of a pain having to figure them out later on.
Whatever else you tick or untick is up to your personal preference.
So now we have all of our tools and our hosted project set up on SourceForge, in part 2 we'll actually be adding our game code and assets into the subversion repository.