I need the community to help me decide on a fair design for my player rewards system :)
BoomshackBarry
Member Posts: 712
Hey all,
In my current game I'm implementing a player reward system. There are two ways of going about it, and my wife and I are completely disagreeing on which is the correct strategy, so I thought I'd open it up it the wider community of GS experts
My game is an endless runner (kind of) in which the player has to collect as many items as they can without crashing, so effectively the player's end score is however many items they collected before crashing (dying), rather than being based on distance run.
The game will feature a currency of gold coins, which can be purchased as an IAP, and can be spent before each round for various upgrades.
I'm implementing a system whereby for every 100 items collected in-game the player will get 1 free gold coin. This gives the player an incentive to keep playing, and gives them a sample of the upgrades available if they do purchase more coins as IAP.
Now here's the dilemma. Should the progress count toward the next free gold coin remain between rounds? By this I mean that at the start of every round the item count will always start at 0 again, as that's the player's score. But if the player has already collected 57 items (as an example) in the previous round, and then died, should I carry that over to the gold coin unlock progress, so the next round they only need to collect 43 more items before the gold coin unlocks, or should I scrap that 57 they've already attained in the last round as a punishment for dying? I'll write it in pseudo-code to get it across the way it is in my mind:
Attributes at start of first round{
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 0;}
<!-At the point the player dies they've collected 57 coins, so at the start of the next round should the attributes now read:->
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 57; <!-keeping the progress->
<!-Or->
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 0; <!-resetting the progress->
Effectively you can word it like: Should I let the player unlock the coins over various rounds, so that if they keep getting only 10 items each round before dying they can still unlock a free gold coin after playing 10 rounds, or should I only give a free gold coin if they manage to get 100 items in one round without dying, and scrap any progress they've made towards it each time they die?
Sorry if that's far too wordy, but I wanted to make sure I got it across properly. Thanks!
In my current game I'm implementing a player reward system. There are two ways of going about it, and my wife and I are completely disagreeing on which is the correct strategy, so I thought I'd open it up it the wider community of GS experts
My game is an endless runner (kind of) in which the player has to collect as many items as they can without crashing, so effectively the player's end score is however many items they collected before crashing (dying), rather than being based on distance run.
The game will feature a currency of gold coins, which can be purchased as an IAP, and can be spent before each round for various upgrades.
I'm implementing a system whereby for every 100 items collected in-game the player will get 1 free gold coin. This gives the player an incentive to keep playing, and gives them a sample of the upgrades available if they do purchase more coins as IAP.
Now here's the dilemma. Should the progress count toward the next free gold coin remain between rounds? By this I mean that at the start of every round the item count will always start at 0 again, as that's the player's score. But if the player has already collected 57 items (as an example) in the previous round, and then died, should I carry that over to the gold coin unlock progress, so the next round they only need to collect 43 more items before the gold coin unlocks, or should I scrap that 57 they've already attained in the last round as a punishment for dying? I'll write it in pseudo-code to get it across the way it is in my mind:
Attributes at start of first round{
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 0;}
<!-At the point the player dies they've collected 57 coins, so at the start of the next round should the attributes now read:->
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 57; <!-keeping the progress->
<!-Or->
itemsCollected (score) = 0;
numberOfGoldCoins = 0;
progressToNextGoldCoin = 0; <!-resetting the progress->
Effectively you can word it like: Should I let the player unlock the coins over various rounds, so that if they keep getting only 10 items each round before dying they can still unlock a free gold coin after playing 10 rounds, or should I only give a free gold coin if they manage to get 100 items in one round without dying, and scrap any progress they've made towards it each time they die?
Sorry if that's far too wordy, but I wanted to make sure I got it across properly. Thanks!
Comments
That may or may not be very helpful, but in the end it just comes down to difficulty. If you're encouraging people to buy coins in the future, maybe give them some for free when they download the game so they can get a taste of the upgrades available. If you did that, I could see some merit behind erasing their progress if they die.
- Alex
Another option would be to use multiple currencies in the 'upgrade shop' (like clash of clans) and have certain upgrades available to purchase with coins, and others that can be purchased with items, like maybe a less valuable, consumable upgrade. Then you could sell/swap coins in the shop at a rate of 100 items per coin. That way players can save up their items to spend on coins if/when they wish.
Who cares if a kid somewhere earns a few extra coins. This is your chance to score some real points!!!!!!
- Thomas
P.S. Keep in mind that buying 5,000 coins for 99c sounds a lot better than buying 50 coins :P
One thing to keep in mind is an issue I had with one of my games. If you are using real world items as upgrades people will already have a perceived value of that item. In a virtual pet style game I made, food items (eg a chocolate bar or can of softdrink) cost ~1000 coins. I had a few comments saying 'it's a rip off, a can of drink for $1000!!' :P I felt like saying, yeah but you can earn $1000's of dollars per minute, unlike in real life. Anyway something to keep in mind.
So let me explain a bit further. Finding the perfect balance is definitely a priority for me - I want to give a taste of the coins without giving too many away. The plan always has been (as written in my design document anyway) to give a small amount away when the game is first played, like 10 or 20. Collecting 100 items without dying is pretty damn tricky, so the plan all along was to carry over the progress, so that every round the player attempts they are getting one step closer to a reward, even if they're terrible at the game. The idea is to continuously reward the player just for playing, rather than making it a huge challenge for them - 1 coin won't buy much so it's really a token gesture. (All of the numbers are subject to change depending on game balancing).
It was last night however when I was explaining this all to my wife when she said she didn't understand why I was carrying the progress over, as she thought I was making it too easy for the player. Now I know quite a bit about game theory, player retention, etc, and bless her she doesn't, so I was sure my idea was technically correct from a developer/revenue point of view, but then I figured if she's looking at it the same way other non-game dev players will be, perhaps there's merit to that point of view also. Thanks to you guys I'm reassured that I was on the right track all along, phew
I like the suggestion too from @SnapFireStudios and @Asobu_Games to increase the amount of currency whilst devaluing it to make it feel like the player gets more value from their IAP, that's a nice touch.
Thanks all for taking the time to think about this and giving such great answers, you guys rock!