2
\$\begingroup\$

I am currently developing an indie game using XNA/C#. I would like to give players the opportunity to try a free (but somewhat limited) demo version of the game. Nevertheless, the player should be able to purchase the full version of the game from within the demo version (after short download) immediately unlocking the full version.

The tricky part is that I would like to permanently remember this purchase as I would like to give players how purchased the game the opportunity to download additional content etc. for free later. Nevertheless, the user should be able to switch computers or reinstall the game without loosing that "purchased"-flag. One (maybe) possible way would be to give each user a serial number that can be checked once at gamestart. Is there a library etc. to support this or is there maybe another best-practice for these kinds of things.

I guess the well-known payment processors as BMC-Micro and Fastspring do not support this, do they.

PS: I would like to keep the game DRM-free.

\$\endgroup\$
2
  • \$\begingroup\$ is this to be released through a store of some description or is it going to be released on it's own \$\endgroup\$
    – RoughPlace
    Jan 23, 2013 at 13:50
  • \$\begingroup\$ I was thinking to do both. \$\endgroup\$
    – ares_games
    Jan 23, 2013 at 15:33

1 Answer 1

3
\$\begingroup\$

The tricky part is that I would like to permanently remember this purchase as I would like to give players how purchased the game the opportunity to download additional content etc. for free later. Nevertheless, the user should be able to switch computers or reinstall the game without loosing that "purchased"-flag.

If you make a website for the game, you can require people to create an account on your website in order to buy the full version. You can store every account in some sort of database.

Then the demo of the game can have a login option (only required for buying the game). When someone is logged in with their account, the option to buy your game can become available if they do not already own the full game. When players buy the game in this manner, you can simply add the "bought game" status to their account and unlock the full game on their computer.

Additionally, when a player who has bought the game redownloads the demo on another computer, the full game can immediately be unlocked after they login, since they have a "bought game" account.

This is similar to how Minecraft does it.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Of course, you will also need to implement measures to protect against account sharing and hacks to verify a fake account. Encryption can go pretty far, but don't spend too much time on trying to stop hacks. Your game will get hacked eventually, no matter what you do, so focus on getting more people to want to buy it :) \$\endgroup\$
    – jmegaffin
    Jan 23, 2013 at 3:27
  • \$\begingroup\$ Thanks for this nice answer. Theoretically, this seems like a good plan. However, I think Mojang implemented that from scratch (with all the limitations like only being able to use a single payment processor etc.). So I was wondering if TECHNICALLY there is a "better" way to do this somehow including more flexible payment options as I would have when using BMC or Fastspring? I was hoping that there is an external provider or library for it. \$\endgroup\$
    – ares_games
    Jan 23, 2013 at 3:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .