Software engineer and senior at the Rochester Institute of Technology. I mod grit, realism, sex, drugs, and rock & roll; technobabble may not be left as an exercise for the student.

Latest Media

No images, videos or audio files have been added to this gallery. Join now to share media with the community.

Blog RSS Feed Report abuse Latest Blog: Personal Software Engineering

1 comment by thashepherd on Jan 3rd, 2013

Many times have I started a project thinking that "this will be a low-key, agile effort" and made a certain amount of progress. Nearly all of the time, I end up making changes that "break my build" - whether that means my program doesn't run or my mod makes the game crash to desktop. Inevitably, I wish that I had followed one or more of these tips.

  • Back up your work. The easiest way to do that is often to mirror your project's folder structure on the cloud. Since I'm a Windows user, I've had success setting my "My Documents" directory to the same directory as my Google Drive folder. It's best to back up your files such that the default save directory of most of your tools is backed up automatically.
  • Version your work. To technology professionals, a synonym would be "source control". The three most common source control mechanisms are SVN, Git, and Mercurial; you will also need to select a client like TortoiseSVN. My personal tool is Github; bonus points if your source control solution is cloud-based. What source control does is save a record of all the changes you make to your project. If the changes you make are text files, it will show you the alterations you make line-by-line. If you add or modify files of other types, source control will track that as well.
  • Commit working builds. There are two halves to this; one is that you should commit as often as possible while you are being productive. The other half is that you should only commit after ensuring that your change works. This means that no matter what, restoring to a previous version of your project will restore you to a working version.
  • Save releases. Ensure that you branch your project after each release, or identify the commit the release is based on, or otherwise store the exact project in the form it is released in. This is invaluable for troubleshooting for your users, and even remembering what to put in your changelog (which should be easy to construct if you follow the tip above).
  • Scope releases. Before you start work, list exactly what features you want to include in the next release of your project. This will give you a target to work towards and a list of features to promise to your fans.
  • Use a planning tool. My personal choice is Trello. Planning tools allow you to better manage the implementation of your project. Since most mods are personal unpaid efforts, we're not really talking about scheduling or estimation here. Instead, they give you a place to spec out features, leave notes, and create task lists.

These tips, especially the last, might sound excessively "stuffy" or unnecessary. All I wish to say is that I have wished I followed them far to often, and not needed them far too little, not to suggest them.

Post comment Comments
TOAD336 May 13 2013 says:

Hi Matt, You recently licensed one of my tunes (Going after Zen Meltdown) for one of your mods, is there a video where I can view/ listen to my tune in situ, or do I have to download the game? thanks for your help Chris (G.A.Z.)

+1 vote     reply to comment
Igncom1 Jan 17 2013 says:

Cool! good luck buddy!

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Offline Since
Aug 23, 2015
United States United States
Member Watch
Track this member
Activity Points
19,802 of 523,827
0 members
Time Online
57 minutes
Site Visits
Profile Visitors
2,322 (1 today)
Private Message
Send Now
Members Only

No one is friends with thashepherd awww. You should invite your mates to the site, or make new ones.