Page 1 of 1

How to add registration to a game?

PostPosted: Tue Dec 27, 2005 2:39 am
by ericdg
What way does anybody use to have people register there game?

I read about the rpn method, but am having some trouble implementing it in my game.

Does anyone know a way to use something in game editor to basically perform an action if the user enteres the correct registration, or exit game or perform another action if they do not.

I know the rpn method makslane and beyondthetech made a module for could do this, but I'm don't know how.

I could even give out username and passwords for each download of the game.

I just need to know how to let the game know it has been registered so it doesnt ask for the registration each time it starts.

Thanks.


Here is my original post on the RPN method.

Could somebody help me out a little with RPN.

I am looking at beyondthetech and makslanes RPN module, but need some help.

I imagine I would want to change my RPN string, but what can I change it to? Does it have to be in a certain format, I'm not understanding it.

Also, the module looks great, but I'm not sure how to implement it in a game.

My demo would be limited, and only the full version of the game would have the RPN module. How would I have the game check for the registration each time it starts? I'm sure I would use loadvar on the personal.dat file, but I don't know how to get it to work.

Thanks, and I really appreciate everyone's help.

PostPosted: Tue Dec 27, 2005 6:18 pm
by mrdark7734
Here is one way I have found to implement the rpn module. There are many different ways to do it, but I came up with this one to help you and others out. I would not suggest using this in your final product. Instead use it to help you create your own.

Alright, lets get to it.

Create a few variables necessary for this:
(name the variables whatever you want just don't forget to change the code below to reflect your changes)

savedcode = Global, String
regged = Global, Real

Before the screen that shows where you need to go to purchase the program (like handango or pocket gear) you need to create another screen. Something like a logo or copyright or loading screen.

In this screen create either a draw actor, or create actor event and add this bit of code (my personal experience has shown that using create actor to load variables doesn't always work for some reason. So use your best judgment):
Code: Select all
loadVars("personal.dat", "register");
CreateTimer("Event Actor", "regtimer", 3000);

It will load the personal.dat file containing the reg info of the person if it's been registered before, and it will create a 3 second timer.

Now create a mouse down event in the same screen and add this code also copy this code to the timer that was created above:
Code: Select all
strcpy(savedcode,GetUnlockKey(rpnstring,regname));
if (strcmp(savedcode, regcode) == 0)
{
    regged = 4;
    MoveTo("Your Main Menu Location");
}
else
{
    regged = 8;
    MoveTo("First screen of rpn module");
}

This creates a new code based on the saved regname and copies it to savedcode. Then it compares the new code to the old code. If they are the same it sets regged to 4 and moves the screen to your main menu. If they are not the same it moves the screen to the first screen of the rpn module.

The timer is used as a default in case the user doesn't tap the screen.

Now in the "regsubmit" button near the bottom add regged = 4; where it's shown below:
Code: Select all
    // save registration data
    saveVars("personal.dat","register");
   
    regged = 4;
    DestroyActor("regsubmit");
}
else
{
    PlaySound2("data/horn.wav",soundvolume,1,0);
}

The "regged" variable can now be used to set your game in demo mode or full mode. Somewhere in your game that you feel would be a good stopping point for a demo add an if statement like so:
Code: Select all
if (regged != 4)
{
    MoveTo("Your Main Menu Location or first screen of rpn module");
}


This can also be added to a timer if you would like to limit the game to a certain amount of time before it stops.

This is real rough code but it works. Play with it and change it if you want (actually I recommend it. Learn from this to create your own)

For a little more added protection you can use this module as well
RPN_Registration_Module_1.8.zip

PostPosted: Mon Jan 02, 2006 4:17 am
by ericdg
Thanks so much for the info. This should help us all out.

I wonder what the advantage of the RPN method would be to simply including one serial number that unlocks the game.

I know with the RPN method, each user would have their own username and serial, but they can still just give them out because we can't pull the username from the device yet.

With one serial number they could give it out too, so I don't see the advantage of the RPN method.

The only thing I can see is that if a user with the RPN method gives it out, you would know who did it because of the username, but I don't think that would help.

What do you think?

PostPosted: Mon Jan 02, 2006 7:44 am
by mrdark7734
It doesn't matter what anyone else thinks. In the end it's all up to you. If you think your product or profits are worth the trouble to protect or not.

PostPosted: Tue Jan 03, 2006 7:02 am
by ericdg
I didn't mean if a game is worth protecting or not, what I was asking is if the RPN method would be better protection than just a single serial number.

I don't quite fully understand the RPN method yet, and was wanting to make sure I wasn't missing something.

Thanks.

PostPosted: Tue Jan 03, 2006 1:12 pm
by mrdark7734
Didn't mean to sound snippy if that's what you thought.

Yes, the rpn method is much better than just a single serial number. When you sell software through handango, pocketgear or other such sites you get lots of information from customers who purchase your stuff. Which in turn can help you, if needed, to track down those who give out their username and key.

With just a single serial number available you really have no way of figuring out who did what. So your stuck with either accepting it, or rewriting your software to no longer accept that number and reposting it. It can be a pretty vicious cycle.

Now mind you, the rpn method isn't perfect. But it does help considerably.

PostPosted: Tue Jan 03, 2006 6:53 pm
by Diana Kennedy
This sounds all very interesting. I just wish I understood a slightest bit. I will have come back and as from the behinning on, as soons as my game is at the point where it's time to thing about registration.