Skip to main content
replaced http://gamedev.stackexchange.com/ with https://gamedev.stackexchange.com/
Source Link

First of all, I don't think you need to be publishing and creating an installer every time. Just build the project and place the output files (i.e. the EXE and the Content folder plus any DLL dependencies you might be using) in the repository, and it should run on their computer too, as long as they have the XNA redist installed.

As for your question, I can think of two solutions, one of which involves installing Visual Studio on their machines, and other involves making some changes to the game:

  • Have them install Visual Studio and teach them to pass their assets through the XNA content pipeline. They just need to create a content pipeline project, drag the files there and build. Then they can swap the resulting XNB files with the ones in the project folder, and run the EXE to see the changes.

  • If you're developing for Windows, you can change your code so that it loads assets at runtime in their original formats, without having to go through the content pipline. For loading images you could use Texture2D.FromStream (like this example) and for audio the best solution I've found was to use the FMOD API instead (like this examplethis example). Then they can just swap the assets directly and run the game.

To take things even further, you could also try to make your game as data-driven as possible. This basically means that everything in the game that you should be able to change easily, such as character class stats, or the path of the images and sound files you're using, should be taken out of the code and placed in external text files (e.g. XML, JSON, INI). Then you only need to edit those files in a text editor to see changes in the game, and there's no need to rebuild.

First of all, I don't think you need to be publishing and creating an installer every time. Just build the project and place the output files (i.e. the EXE and the Content folder plus any DLL dependencies you might be using) in the repository, and it should run on their computer too, as long as they have the XNA redist installed.

As for your question, I can think of two solutions, one of which involves installing Visual Studio on their machines, and other involves making some changes to the game:

  • Have them install Visual Studio and teach them to pass their assets through the XNA content pipeline. They just need to create a content pipeline project, drag the files there and build. Then they can swap the resulting XNB files with the ones in the project folder, and run the EXE to see the changes.

  • If you're developing for Windows, you can change your code so that it loads assets at runtime in their original formats, without having to go through the content pipline. For loading images you could use Texture2D.FromStream (like this example) and for audio the best solution I've found was to use the FMOD API instead (like this example). Then they can just swap the assets directly and run the game.

To take things even further, you could also try to make your game as data-driven as possible. This basically means that everything in the game that you should be able to change easily, such as character class stats, or the path of the images and sound files you're using, should be taken out of the code and placed in external text files (e.g. XML, JSON, INI). Then you only need to edit those files in a text editor to see changes in the game, and there's no need to rebuild.

First of all, I don't think you need to be publishing and creating an installer every time. Just build the project and place the output files (i.e. the EXE and the Content folder plus any DLL dependencies you might be using) in the repository, and it should run on their computer too, as long as they have the XNA redist installed.

As for your question, I can think of two solutions, one of which involves installing Visual Studio on their machines, and other involves making some changes to the game:

  • Have them install Visual Studio and teach them to pass their assets through the XNA content pipeline. They just need to create a content pipeline project, drag the files there and build. Then they can swap the resulting XNB files with the ones in the project folder, and run the EXE to see the changes.

  • If you're developing for Windows, you can change your code so that it loads assets at runtime in their original formats, without having to go through the content pipline. For loading images you could use Texture2D.FromStream (like this example) and for audio the best solution I've found was to use the FMOD API instead (like this example). Then they can just swap the assets directly and run the game.

To take things even further, you could also try to make your game as data-driven as possible. This basically means that everything in the game that you should be able to change easily, such as character class stats, or the path of the images and sound files you're using, should be taken out of the code and placed in external text files (e.g. XML, JSON, INI). Then you only need to edit those files in a text editor to see changes in the game, and there's no need to rebuild.

Source Link
David Gouveia
  • 25k
  • 5
  • 89
  • 127

First of all, I don't think you need to be publishing and creating an installer every time. Just build the project and place the output files (i.e. the EXE and the Content folder plus any DLL dependencies you might be using) in the repository, and it should run on their computer too, as long as they have the XNA redist installed.

As for your question, I can think of two solutions, one of which involves installing Visual Studio on their machines, and other involves making some changes to the game:

  • Have them install Visual Studio and teach them to pass their assets through the XNA content pipeline. They just need to create a content pipeline project, drag the files there and build. Then they can swap the resulting XNB files with the ones in the project folder, and run the EXE to see the changes.

  • If you're developing for Windows, you can change your code so that it loads assets at runtime in their original formats, without having to go through the content pipline. For loading images you could use Texture2D.FromStream (like this example) and for audio the best solution I've found was to use the FMOD API instead (like this example). Then they can just swap the assets directly and run the game.

To take things even further, you could also try to make your game as data-driven as possible. This basically means that everything in the game that you should be able to change easily, such as character class stats, or the path of the images and sound files you're using, should be taken out of the code and placed in external text files (e.g. XML, JSON, INI). Then you only need to edit those files in a text editor to see changes in the game, and there's no need to rebuild.