Version 7, last updated by nolver at April 09, 2010 08:15 UTC

Setup the Development Environment

This document describes how to set up a development environment to develop games with the Tomahawk Engine, targeting both Windows and Xbox360 platforms.

Prequisites

Recomended hardware setup for the development machine:

  • Core2 Duo (Quad very recommended to match a threading scenario similar to the Xbox360's)
  • Supported OS: Windows XP, Vista o 7 (Windows 7 very recommended).
  • At leats 4 Gb of memory.
  • Shader Model 3 capable video card (at least NVidia 6800 or avobe recommended).

Software requisites (install in this order):

  • Microsoft Visual Studio 2008 C# Express (full, professional editions are also supported if you have one)
  • Microsoft XNA Game Studio 3.1 
  • Latests version available of Tortoise SVN
  • NVidia FX Composer 2.5

Preparing your project's folder

Note: The following should be taken as a recommendation only. 

Locate where you want to store your project, in your local hard drive. Step into that folder and create the following folder structure:

  • branches [this will be used to eventually create branches of your project]
  • trunc [this is where all the actual work will be done for the main version]
  • trunc\development [this is where all the source code and programming related stuff will reside]
  • trunc\development\tomahawk [this is where you will be putting the source code of tomahawk]
  • trunc\development\utils [this is where small development tools will reside]
  • trunc\development\yourprojectname1 [you game project]
  • trunc\development\yourprojectnameN [you game project, if more than 1 one project is required]
  • trunc\documentation\ [design docs, sheets, diagrams, etc]
  • trunc\sourceart\ [files created and mantained by artists goes here: psds, 3dsmax files, etc]
  • trunc\sourceaudio\ [files created and mantained by audio people goes here: wavs, reason, cubase, etc]
  • trunc\builds\ [store monthly builds of your project in binary executable form in this folder, you won't regret]
  • trunc\web \ [does you projects need a website? you can store it here]

For your convenience, we have packed this folder structure into a zip file, including a folderdescription.txt file in each folder, usefull as a future reference but also to be able to upload empty folders to a repository. Download the file here: file:new_game_project.zip

Getting latest version of Tomahawk

Now move to your \trunc\development\tomahawk folder, and right click somewhere in the folder to choose "SVN Checkout" option from Tortoise SVN

  • Type in the URL of the "trunc" folder of Tomahawk repository: http://subversion.assembla.com/svn/tomahawkengine/trunc
  • Remove \trunc at the end of the "Checkout folder" path, make it sure it reads: [your_local_path]\trunc\development\tomahawk
  • Make sure you have "Fully Recursive" and "HEAD revision" options selected
  • Push "Ok" button

Now Tortioise will download the Tomahawk sources of the trunc branch to your local hard drive. It'll take a few minutes. Once the process is finished, you should have something like this in your local tomahawk folder:

Uploading your project to a repository

It's not mandatory you very recommended that you keep your entire project under your own version control repository. There are a few options and repository types you can choose from to best suit your needs. You can keep your own server at home, or maybe hire this services from a hosting company on the Internet. 

The process of uploading the project to your repository will depend on the type of repository you are using, so it's a bit out of the scope of this tutorial.

The only thing you should be adviced of is to keep your local \trunc\development\tomahawk folder out of your repository. This way it'll be easier to obtain frequent updates of the Tomahawk engine, if want to. A typical way to achive this will be simply to tell your repository client tool just to ignore this folder when performing the initial upload.