Sign In Register

How can we help you today?

Start a new topic
Answered

Give achievement reward after only on player's manually click?

From the documents, it seems the achievement rewards are automatically given just after the achievement is completed, then an AchievementEarnedMessage is sent back to player....


In most of the cases, we want to players to know that they completed an achievement, can only reward them after they click "Reward" button. Is that possible with GameSparks? If not I may just use my custom achievement system for that...


Also, I think there's still a lot to improve the achievements, a must is linking the achievements from GameCenter / Play Games... Updating the progress (e.g. 40% in progress) and completing the achievement should automatically send to GameCeneter / Play Games.


Best Answer

OK that make sense~

But doing that seems wouldn't shorten my development time much and GameSparks achievement seems not providing much features I needed (e.g. linking GameCenter/PlayGames, storing current completed steps, etc). I may just stick with my own achievement system for now.

For anyone interest, this is how my custom achievement system:
- Uses runtime collection to store completed steps and rewarded state for each achievement, sync on client launch so that works in multiple devices

- Whenever player progress, send the completed steps to GameSparks with event and GameCenter/PlayGames

- If completed steps > required steps, show reward can be collected, send achievement completed to GameCenter/PlayGames

- After player click "Get Reward", send GameSparks custom event to grant the reward accordingly


Answer

OK that make sense~

But doing that seems wouldn't shorten my development time much and GameSparks achievement seems not providing much features I needed (e.g. linking GameCenter/PlayGames, storing current completed steps, etc). I may just stick with my own achievement system for now.

For anyone interest, this is how my custom achievement system:
- Uses runtime collection to store completed steps and rewarded state for each achievement, sync on client launch so that works in multiple devices

- Whenever player progress, send the completed steps to GameSparks with event and GameCenter/PlayGames

- If completed steps > required steps, show reward can be collected, send achievement completed to GameCenter/PlayGames

- After player click "Get Reward", send GameSparks custom event to grant the reward accordingly

Hi Richard,


One way of doing this is setting up an Achievement with no reward, but set it up so that the AchievementEarnedMessage contains details of what is to be rewarded without rewarding immediately. On the client-side, after getting the message, extract the details of the message to get what reward is necessary, then on manual click, call a custom event that will credit the player some amount of currency or virtual good depending on this data.


Does this make sense?


-Pádraig


1 person likes this
Login to post a comment