Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualNypyren

Posted 04 December 2012 - 08:56 PM

DLC can be fairly tricky:

Each publisher (at least for consoles) has a fairly exhaustive checklist that you have to pass for DLC. Things like "Make sure the game still runs if you install and then uninstall the DLC".


If you have multiplayer, do you let people with DLC play with friends who don't have it? You have to test to make sure the person without the DLC doesn't crash due to a missing file.

There are a few different approaches for multiplayer. For example, in the Borderlands series:

- A player with the Mechromancer class DLC can play with anyone else, even if the other people don't own the Mechromancer DLC. This implies that the player model, sounds, etc are made available to everyone, but only people who bought the DLC can actually create that character.

- If a player tries to changes maps to an area only available in DLC, anyone without the DLC pack will get kicked from the server.

- Borderlands 2 still managed to miss one case: The Pirate DLC includes some player customization heads that you can use on your character. If you're using one of them, any player without that DLC will crash.


It's also possible that you just don't let people join the game at all if they don't own the DLC. It's kind of mean, but if your game wasn't designed with DLC in mind, you may have no choice.


If you patch the game (to support new level/item scripts or whatever) people who don't buy the DLC will still get the patch, so you need to make sure that the patch explicitly checks to see if they own each DLC pack.

Your savegame system needs to keep track of which DLC was in use when the save was made, since it's likely that the save cannot be loaded if the user uninstalls that DLC for some reason. This can also happen if a user shares his savegame files with a friend.



As far as actual implementation goes, patch the game for new code, have the code search for content, keep a separate list of whether someone has actually purchased the content or not (if you care, otherwise just base it off of whether the content is available). How you set up your XNA projects is up to you. You could easily just put all of the content in your main project and give each content file a special prefix which you use to split files into separate distributions.

#3Nypyren

Posted 04 December 2012 - 08:52 PM

DLC can be fairly tricky:

If you have multiplayer, do you let people with DLC play with friends who don't have it? You have to test to make sure the person without the DLC doesn't crash due to a missing file.

There are a few different approaches for multiplayer. For example, in the Borderlands series:

- A player with the Mechromancer class DLC can play with anyone else, even if the other people don't own the Mechromancer DLC. This implies that the player model, sounds, etc are made available to everyone, but only people who bought the DLC can actually create that character.

- If a player tries to changes maps to an area only available in DLC, anyone without the DLC pack will get kicked from the server.

- Borderlands 2 still managed to miss one case: The Pirate DLC includes some player customization heads that you can use on your character. If you're using one of them, any player without that DLC will crash.


It's also possible that you just don't let people join the game at all if they don't own the DLC. It's kind of mean, but if your game wasn't designed with DLC in mind, you may have no choice.


If you patch the game (to support new level/item scripts or whatever) people who don't buy the DLC will still get the patch, so you need to make sure that the patch explicitly checks to see if they own each DLC pack.

Your savegame system needs to keep track of which DLC was in use when the save was made, since it's likely that the save cannot be loaded if the user uninstalls that DLC for some reason. This can also happen if a user shares his savegame files with a friend.



As far as actual implementation goes, patch the game for new code, have the code search for content, keep a separate list of whether someone has actually purchased the content or not (if you care, otherwise just base it off of whether the content is available). How you set up your XNA projects is up to you. You could easily just put all of the content in your main project and give each content file a special prefix which you use to split files into separate distributions.

#2Nypyren

Posted 04 December 2012 - 08:45 PM

DLC can be fairly tricky:

If you have multiplayer, do you let people with DLC play with friends who don't have it? You have to test to make sure the person without the DLC doesn't crash due to a missing file.

There are a few different approaches for multiplayer. For example, in the Borderlands series:

- A player with the Mechromancer class DLC can play with anyone else, even if the other people don't own the Mechromancer DLC. This implies that the player model, sounds, etc are made available to everyone, but only people who bought the DLC can actually create that character.

- If a player tries to changes maps to an area only available in DLC, anyone without the DLC pack will get kicked from the server.

- Borderlands 2 still managed to miss one case: The Pirate DLC includes some player customization heads that you can use on your character. If you're using one of them, any player without that DLC will crash.


It's also possible that you just don't let people join the game at all if they don't own the DLC. It's kind of mean, but if your game wasn't designed with DLC in mind, you may have no choice.


If you patch the game (to support new level/item scripts or whatever) people who don't buy the DLC will still get the patch, so you need to make sure that the patch explicitly checks to see if they own each DLC pack.

Your savegame system needs to keep track of which DLC was in use when the save was made, since it's likely that the save cannot be loaded if the user uninstalls that DLC for some reason. This can also happen if a user shares his savegame files with a friend.

#1Nypyren

Posted 04 December 2012 - 08:37 PM

DLC can be fairly tricky:

If you have multiplayer, do you let people with DLC play with friends who don't have it? You have to test to make sure the person without the DLC doesn't crash due to a missing file.

There are a few different approaches for multiplayer. For example, in the Borderlands series:

- A player with the Mechromancer class DLC can play with anyone else, even if the other people don't own the Mechromancer DLC. This implies that the player model, sounds, etc are made available to everyone, but only people who bought the DLC can actually create that character.

- If a player tries to changes maps to an area only available in DLC, anyone without the DLC pack will get kicked from the server.

It's also possible that you just don't let people join the game at all if they don't own the DLC. It's kind of mean, but if your game wasn't designed with DLC in mind, you may have no choice.


If you patch the game (to support new level/item scripts or whatever) people who don't buy the DLC will still get the patch, so you need to make sure that the patch explicitly checks to see if they own each DLC pack.

Your savegame system needs to keep track of which DLC was in use when the save was made, since it's likely that the save cannot be loaded if the user uninstalls that DLC for some reason. This can also happen if a user shares his savegame files with a friend.

PARTNERS