Saturday, October 27, 2012

Perforce

I want to write about something very near and dear to me today: Perforce. It's a tool probably very few modder's know about, and boy should they ever! Perforce is the most used Source Control system in the Video Gaming industry. When I first started working on this mod, I was using Dropbox to sync my script files between my computer at home and my computer at work. As my mod became more complex, it became clear I needed something more powerful. I needed my own perforce server.

Here is a picture of my perforce client connected to my server
A lot of the files are named 'BetterDarkBrotherhood' or use the prefix 'BDB'. This was my code name for the mod during development. I eventually decided to name it something less arrogant.
On the left side of the image, you can see the branches I maintain. Each branch contains all the files I need to create the mod. I maintain three branches, one for Skyrim Nexus, one for the Steam Workshop, and the last is my Main branch. My main branch is where I develop and test all the new code. When I tested and verified that my changes fixed the final boss being unkillable, I integrated the changes to the branches, and then I create an Archive (The Skyrim engine packs all its assets in to archives with the extension '.bsa') the archive is what is eventually uploaded to Steam and Skyrim Nexus.


On the right side of the picture you will see a list of my most recent changelists. See, every time I update the mod, I then 'submit' the changes to the server. This change gets saved, so If i ever want to go back and play an older version of my mod, even if it was the version 4 months ago, I can!


The two branches are different in important ways. The skyrim branch has all the Audio I had to cut in order to make the mod meet the workshops 100MB limit. It also contains revisions of the audio before I cut their bitrate in half. Soon, i'll be going through and adding all the missing lip files as well.

By Sithis, look at the time! It's 4am in the morning and I'm still blogging!

No comments:

Post a Comment