Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / anyone know how to make a semi-secure free demo?

Author
Message
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 9th Dec 2011 22:33
Trying to figure this out, but it takes me like 5 seconds to think of a work around for each "solution."

Anyone have a semi-secure way of doing this? I say semi-secure because I don't think too many casual customers (my target audience) are going to think of much, however, it only takes one person to let the cat out of the bag...

As you can tell, I'm going back and forth on it.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 9th Dec 2011 23:29
Do you mean keeping your media safe? If so I am interested in peoples ideas. I don't think theres much you can do in AppGameKit itself. In DB there are several options, but I have no idea how you could get round it in AGK.

Marl
12
Years of Service
User Offline
Joined: 19th Nov 2011
Location: Bradford, UK
Posted: 9th Dec 2011 23:56
Until a "proper" solution is found, you can always use the old tricks.

Changing the file extension of graphics and text files will stop casual moochers and on a lot of phones will stop your graphics appearing in the standard picture gallery

Changing the extension to something generic like .dat or something unused like .poo and most systems wont know how to load them.

Change the extension to something known like .dll or .exe and people will generally stay away from them.

AGK doesn't care because it knows what its getting - for example with LoadImage (), it expects an image and that's what it finds in the file.

It's not a solution, but its something.
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 10th Dec 2011 04:07
Thanks for the possible solutions everyone!

I think what I'm going to attempt is use a non-random seed to make the game be the same at the beginning. I'll also incorporate a timer that, once it reaches a one hour, will make the game unplayable and save this information to the options file (called something unpronounceable).

The user's work around is to either delete or re-install the demo, however, with a non-random seed for the number generator, they will play the same game again.

The only problem with this plan is that TGC provided a VERY useful random function that doesn't use a seed. I'm pretty sure I can get around this (good intentioned though it was) by using the C++ random number generator.
Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 12th Dec 2011 15:18
You are after something entirely different than protecting your media.

One easy way to make your demo only a demo is to simply clock the time the player is playing and after a specific time the game ends. You can also hard code in that the game will only load say level 1.

And please don't make the game count time while I'm reading the help or checking the options but only once the game is started. And have it back out to the main menu. The way it's done on Xbox is annoying.

Funnell7
12
Years of Service
User Offline
Joined: 8th Sep 2011
Location: UK, England
Posted: 12th Dec 2011 15:43 Edited at: 12th Dec 2011 15:52
I don't think the time approach would be that great... If you really wanted to play it again, you'd simply uninstall and reinstall then the counter would start again...

I'd just restrict some of the features or as Digital Awakening says, just reduce the amount of levels available to play. We did a 'lite' version of our game on the AppStore which is a scoring based game and we restricted the amount of score you could get i.e. after accumulating 1000 points the game ended with a message along the lines of 'enjoying the game? Why not purchase the full version for unlimted game play'...

Just my 2 pence (or cents)...
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 12th Dec 2011 16:32
@Digital Awakening--

If the game were a traditional, level based game, yes, restricting them to level 1 would be a great idea.

However, this is a card game, there are no levels

Not having the clock run while in the menu is a good idea, I'll make some changes so that it'll only count once you're actually playing.

@Funnell7--

Yes, that's true.

However, if you use c++'s random number generator, you have to use a "seed" to start it. Usually, this seed is time. But if you pass in a regular number, say 0. It will give you the same numbers every time you play the game.

I increment the seed after every hand, starting with 0. If the player uninstalls the game, then re-installs the game, that seed restarts at zero. The net result being that yes, the user can get around the time restriction by uninstalling then reinstalling, but the game is the same one every time, making it not worth while to do.

If I had any features to restrict, I'd definitely choose that route, however, the only features we could restrict, and still have a playable demo, are the different themes.

Restricting the score is a good idea, however. I'll think about that some more.


Thanks for the advice guys!
Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 12th Dec 2011 21:27
Not sure if this idea works for you.

How about restricting the game to a set amount of turns? Each time you start a game you can only play a limited amount of turns, so you can't complete a whole game but you get a feel for how it plays.

baxslash
Valued Member
Bronze Codemaster
17
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 13th Dec 2011 12:29
Quote: "The only problem with this plan is that TGC provided a VERY useful random function that doesn't use a seed."

It doesn't by default but you can give it a seed using "SetRandomSeed( seed )"... does that help?

ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 13th Dec 2011 16:38
That DOES help! (although I'm already using C++'s, I'd rather use TGC's functions).
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 13th Dec 2011 16:40
@Digital Awakening

I don't mind if they play a full game. If you'd like to check out that demo (I could always use the testers! You can download it at:

www.steelegamestudios.com/setup.msi
Funnell7
12
Years of Service
User Offline
Joined: 8th Sep 2011
Location: UK, England
Posted: 15th Dec 2011 17:41
ManOfActionTM, I took the libety of downloading your game. I hope you don't mind... Anyway, I installed it but unfortunately it doesn't run. I get a series of errors. First I get a lot of 'Uncaught exception: Sprite 0 does not exist', followed by 'Uncaught exception: Could not add sound file sounds/WoodClick1.wav - ID must be between 1 and 99'.

Hope that is useful to you...
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 15th Dec 2011 18:11
Thanks for downloading it, Funnell7! I must have put the wrong exe in the msi by accident...lemme look into it...yup, that's the issue...

Should be fixed now. Please let me know if it isn't.
Funnell7
12
Years of Service
User Offline
Joined: 8th Sep 2011
Location: UK, England
Posted: 15th Dec 2011 18:20
Same problem I'm afraid... I used the same link you posted above...
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 15th Dec 2011 18:48
Just out of curiosity, after you receive the errors, could you try it a second time?
ManOfActionTM
12
Years of Service
User Offline
Joined: 16th May 2011
Location: Sahuarita, Arizona
Posted: 15th Dec 2011 19:01
And, on another note, I have a new msi that really should be working. I tested it on another computer, and had no issues. So it should be good now.

Thanks again!

Login to post a reply

Server time is: 2024-05-06 08:31:10
Your offset time is: 2024-05-06 08:31:10