Installing Life is a Village

From EQUIS Lab Wiki

Revision as of 13:55, 26 January 2006 by Graham (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Getting the Files

The files are located in a subversion (SVN) repository. SVN is similar to CVS, but more robust. Collins-Sussman, Fitzpatrick and Pilato have made a free book on SVN available; you should take a look at this if you are unfamiliar with version control in general or SVN in specific.

You will require a subversion client to access the files. The client that I use is TortoiseSVN, which is combined with the windows explorer, making version control a snap.

Check out the files to your own local computer in a directory called LIAV. The files are located at

svn://dundee.cs.queensu.ca:3691

You will need a user id and password. I will provide these in class.

There is information on using SVN below. Please read this; it's important.

Modifying your Path

The game requires access to a number of libraries from third party products in order to run. These must be in your path. Additionally, you may wish to put the game itself in your path. Do the following:

  • Open Control Panel|System Properties|Advanced|Environment Variables
  • Create a new system variable LIAV pointing to the location of your LIAV directory. For example, my LIAV variable points to C:\Documents and Settings\Graham\My Documents\LIAV.
  • Add the following to your path variable: %LIAV%\Dependencies\dll;%LIAV%\bin\Debug

Compiling the Game

Open the solution file in Visual Studio .Net 2005. Yes, you really do need the 2005 version. Richard Linley has CD's available under our MSDN subscription that you can borrow for installation on your research computer.

  • The solution file is located under scripts/CAXConcept.sln

Compile the game:

  • Select Build|Batch Build
  • Select both the Debug and Release configurations
  • Select Rebuild

Running the Game

The game is located in LIAV/bin/{Debug|Release}/CAXConcept.exe. The debug version is considerably slower than the release version, but has additional checking and debugging information.

Using Subversion

Please read this section carefully. It's important.

Don't Break the Build

In working in your project, the main goal is don't break the build. That is, don't put anything into the repository that compromises its correctness. If you check in incorrect, untested code, your classmates will suffer the consequences. Be very careful not to check in before thoroughly testing your code. This means not just testing the part you changed, but testing the entire program to ensure that your code doesn't have unintended interactions with other parts of the system.

Checking in/Checking out

Work with a local copy of the code. This copy is initially created by checking out the LIAV repository. Your development process should be:

  • Make changes in your local code
  • When the changes are complete, test, test and test some more. Make absolutely sure that your changes don't break anything, particularly that they don't break parts of the system that other people might be working with.
  • Update from the repository. Merge in any changes that others have made since you last updated.
  • Rebuild your application and test again. Make absolutely sure that your changes don't break anything, particularly that they don't break parts of the system that other people might be working with.
  • Check in your changes.

Document your Changes

When you check in changes, use the check-in commenting feature to document in detail what you changed. Your classmates will rely on this.

Configuring Subversion Client

There are various types of files that should not be placed in the repository. For example, the Visual Studio's debugging database can be over 20 MB in size, and changes every time you recompile your program. This should be generated on your own machine, but not committed to the repository. You should therefore rebuild your local version whenever you update from the repository.

TortoiseSVN provides a mechanism for ignoring specified file types. Open (Right Click)|TortoiseSVN|Settings, and under Global ignore pattern, fill in:

Thumbs.db *~ *.bak ~* *.ilk *.idb *.pdb *.ncb * .log *.obj *.manifest *.manifest.res BuildLog.htm  *.dep *.log *.LOG *.user