getAllAchievements not returning progress field

According to this page, getAllAchievements() is not returning the progress field.  I do see all other fields in the returned table.

Can someone at CL confirm?  None of my achievements is returning this field, regardless of whether it is a progress based or non-progress based achievement.

thanks

I really could use a reply from Corona Labs here… 

thanks

Hi there,

Sorry for the delay… indeed, the API response does not contain the progress. Forwarded this to the cloud engineers as well.

I’ll keep you updated.

Alex

Hi,

Actually getAllAchievement doesn’t show the progress %, this info is available when you pull getMyUnlockedAchievements.

Thanks

-Mohamed

Mohamed,

I just dumped the results of getMyUnlockedAchievements, and I do not see a progress percentage in there either, but wouldn’t the percentage in getMyUnlockedAchievements always be 100% since it is unlocked?

It would be helpful to have this in getAllAchievements in order to build an achievement list.  Reading Alex’s post, I have to ask if that going to happen, since I am not sure.

thanks

Hi,

Here is how progress based achievements are implemented.

All achievements are locked by default and are set to 0% progress.

The minute a player starts to progress on this, we shift this to the unlocked state but is not awarded.

A progress based achievement is only awarded when progress is set to 100%

For example if you have an achievement where a player must play 10 rounds. After the 1st round, you would set that achievement to 10% and so on.

The idea here is that it is technically unlocked but not completed.

The reason why we don’t show progress on getAllAchievements, is because this is supposed to return all available achievements and is not the state for a specific user.

Thanks

-Mohamed

Thanks for the clarification Mohamed,

I checked the results of getMyUnlockedAchievements, and the progress field is not being returned there either.  I do see all other fields, except progress.  Could someone confirm?

To further the discussion, would you guys consider adding the progress field to getAllAchievements() as well?  Since I want to create a list of achievements in my game, along with status, I would have to call getAllAchievements, then call getMyUnlockedAchievements (once the progress field is being returned  :) ), then cycle through both tables to see where there is overlap, and create a list.

If progress was returned in getAllAchievements, then there is only 1 call, 1 table, and it would be so much easier to pass through that table and pull that data.

Thanks again for your help.

–John

Hi,

Can you please paste the return that you get from getMyUnlockedAchievements.

Thanks

-Mohamed

Here you go Mohamed,

I have 1 “unlocked” achievement, and here is the dump from the call…

I am now wondering… This achievement is not progress based, so is that why the progress field is not being returned?  Would progress percent be returned if this was a progress based achievement?

[lua]

Corona Cloud: Achievement: [{"_id":“513f834baef8ff2095000004”,“created_at”:“2013-03-12T19:34:35+00:00”,“description”:“First move in a game, drop a diamond with a correctly spelled word”,“game_id”:“50c26773a9025026a6000015”,“name”:“Way to start this off”,“points”:25,“progress_based”:false,“updated_at”:“2013-04-10T21:26:34+00:00”,“image_url_original”:“http://s3.amazonaws.com/prod-gameminion/513f834baef8ff2095000004/images/achievements/original/startoff512.jpg?1365629193”,“image_url_small”:“http://s3.amazonaws.com/prod-gameminion/513f834baef8ff2095000004/images/achievements/small/startoff512.jpg?1365629193”}]

[/lua]

Hi, yes you are correct, this achievement is not progress based.

The progress percent is only return for progress based achievements.

Thanks

-Mohamed

Thanks… I will try it again with a progress based achievement and will check the results.

Is there any plan to always return progress, even for non-progress based achievements?  The varied return fields for progress/non-progress based achievements makes coding more complex.

Also, is there a plan to return progress in getAllAchievements?

Thanks for your help.

Well the thing is, if we added progress on the standard achievement, then you as a developer can’t distinguish between the two types.

The idea is when you pull the achievement, all that is needed is an if statement that detects the ‘progress’ parameter to identify the achievement type.

In regards to putting the progress in getAllAchievement, we are shying away from doing that, as it not ment to be for a specific user, so it doesn’t make sense to have the state there.

In any case, I will share your feedback with the team.

Thanks

-Mohamed

Thanks Mohamed,

I now understand how these functions operate, and I can work with what is available.

Please do keep giving us your feedback, I make sure these are all noted and communicated back to the team.

Thanks

-Mohamed

I really could use a reply from Corona Labs here… 

thanks

Hi there,

Sorry for the delay… indeed, the API response does not contain the progress. Forwarded this to the cloud engineers as well.

I’ll keep you updated.

Alex

Hi,

Actually getAllAchievement doesn’t show the progress %, this info is available when you pull getMyUnlockedAchievements.

Thanks

-Mohamed

Mohamed,

I just dumped the results of getMyUnlockedAchievements, and I do not see a progress percentage in there either, but wouldn’t the percentage in getMyUnlockedAchievements always be 100% since it is unlocked?

It would be helpful to have this in getAllAchievements in order to build an achievement list.  Reading Alex’s post, I have to ask if that going to happen, since I am not sure.

thanks

Hi,

Here is how progress based achievements are implemented.

All achievements are locked by default and are set to 0% progress.

The minute a player starts to progress on this, we shift this to the unlocked state but is not awarded.

A progress based achievement is only awarded when progress is set to 100%

For example if you have an achievement where a player must play 10 rounds. After the 1st round, you would set that achievement to 10% and so on.

The idea here is that it is technically unlocked but not completed.

The reason why we don’t show progress on getAllAchievements, is because this is supposed to return all available achievements and is not the state for a specific user.

Thanks

-Mohamed

Thanks for the clarification Mohamed,

I checked the results of getMyUnlockedAchievements, and the progress field is not being returned there either.  I do see all other fields, except progress.  Could someone confirm?

To further the discussion, would you guys consider adding the progress field to getAllAchievements() as well?  Since I want to create a list of achievements in my game, along with status, I would have to call getAllAchievements, then call getMyUnlockedAchievements (once the progress field is being returned  :) ), then cycle through both tables to see where there is overlap, and create a list.

If progress was returned in getAllAchievements, then there is only 1 call, 1 table, and it would be so much easier to pass through that table and pull that data.

Thanks again for your help.

–John