3

A friend and I plan on developing an XNA game. I'm in charge of the programming aspect and it made me wonder - what is the easiest way for me to share application updates with him during development?

Will he be forced to reinstall the application every time I want to show him a change?
Is there some sort of patching mechanism I can use?

Perhaps it is possible to altogether create a game that won't require an installer - simply click and play?

indiv
  • 17,306
  • 6
  • 61
  • 82
Acidic
  • 6,154
  • 12
  • 46
  • 80
  • There is no reason you have to "install" an XNA Game if you have all the required files in the correct location. If you create/verify all the required settings can be detected on startup. – Security Hound Mar 21 '12 at 15:18
  • source control is probably the most comonly used solution to teams with this question.. But.... if you were to zip up the debug folder after a build, and email him the zipped file, he could un zip it and simply double click the exe file and run the game. – Steve H Mar 21 '12 at 17:24

4 Answers4

6

You can simply build the game and copy it (i.e. the binaries and resources) to some kind of shared folder (e.g. Dropbox) from where he synchronizes and runs it.

This can easily be done using a post build event, so you won't even have to think about it.

CodeCaster
  • 147,647
  • 23
  • 218
  • 272
4

Simple Double Click and Play - No Installer

If you are planning on using Microsoft Visual C# with Xna

Open up the project

Go to -Project Tab -Properties

  -Go to the Publish Section
  -Select the Options button
  -Under Deployment uncheck "Use ".deploy" file extension", check box

Now publish your project...

In the publish directory you'll see a folder called "Application Files". This folder contains each publish version of your program in folder with their version numbers, considering you increment version number automatically upon each publish. Within each folder will be an ".exe". Double clicking this will start up your program with the need to install. :)

Daniel
  • 41
  • 1
  • Thanks! Really useful for quick deploys over my home network, so that I don't have to deal with installers whenever networking is to be smoke tested. – Robert Kaufmann Jan 16 '13 at 19:22
  • Nice, I had some problems with that one click install thingy, and with this way I was able to fix it :) – Kiwi Jan 30 '13 at 22:28
2

If he can build the application from source himself (that is, has access to VS2010 has XNA installed and knows how to build the project), you can share the changes of the code with him.

The best way to do it would be through some sort of source control mechanism (like SVN, GIT, Mercurial). This way he can just update his copy of the code when you made an addition you want him to check out.

Attila
  • 28,265
  • 3
  • 46
  • 55
  • I've also thought about this possibility, but it seems to be unnecessary to force him to install VS2010 + XNA SDK if he ain't going to use it for anything else. – Acidic Mar 21 '12 at 14:37
  • 1
    @Acidic I disagree. If he is responsible for the sound/graphics he might need to test some new content, which should(must) run through the content pipeline. And for that you need VS + XNA. – dowhilefor Mar 21 '12 at 15:57
  • 1
    Another reason to share the code is that way you know for sure which version of the code to look for in case he runs into some problems (e.g. finds a bug). When supplying the binary only, you have to make sure you uniquely identify the binary (e.g. by naming the folder based on the source version?), otherwise you might be looking at code that is different from the one used to build the binaries he has, and might have a hard time understanding the root of the problem. – Attila Mar 21 '12 at 16:13
  • @Atilla there is a well-known solution to that. To identify a binary you use the version number, which can be auto-incremented or can be the source control revision number. – CodeCaster Mar 23 '12 at 13:25
  • @CodeCaster - true, I just wanted to point out what to be aware of when sharing binary (instead of source) -- it takes a bit of discipline and setup. – Attila Mar 23 '12 at 14:12
0

If he is just play/whitebox testing, you can use the build installer command in visual studio to export all of your games features so that anyone can play them.

You can then check this into some sort of source control vault as previously stated to make the executable available online for him to play.

Although this feature builds your project, he will need to install the XNA Redistributable which is easily available online.

user1207381
  • 581
  • 2
  • 8
  • 19