I think one method to implement something like this could be event-driven. This means, you will have points in your code where specific events are called. It must be somewhat extended to allow to pass parameters, but I think it’s not uncommon that event-systems can handle parameters.
First you will have to define some events in your code that can happen. ...
What you'd generally do is make a system that optimizes along the following criteria:
Easy to implement
Easy to debug
To make it easy to maintain, put it in a class:
void Add(Upgrade u)
void Remove(Upgrade u)
As you can see from the ...
Kongregate have an achievement system. It works a lot like Steam, so you can get multiple achievements from different games on different platforms (Flash, Unity, etc.) and you can show them off.
Sign up for an account and play a game that has achievements to see how it works. Kongregate is also an incredibly popular online community, so your game will also ...
I have been trying to find any source online that states it explicitly with no luck. If you award players with achievements as soon as the criteria is unlocked, then you can play around with the actual criteria to make for more or less flexible achievements.
For instance, is not the same "Burn 10 enemies to death" to "Complete the level burning 10 enemies ...
Disclaimer: I am a co-founder of Clay.io (mentioned in question).
Since January we've added search and made the site a bit less cluttered, here are some useful links to look through.
Developer Info Page
I hope this helps. You hit the nail on the head for the platforms we're emulating, only for HTML5 games. One more ...
Achievement systems are actually pretty simple.
They can be built in any number of ways, but they revolve around two things:
Every time a thing happens, a notification (event, a method call, or other notification type) is sent off to the statistics tracking object saying "this thing happened." e.g. When you build a marine, the ...
When you have singular events which should generate an achievement as soon as they occur, like "player killed themselves with the EN cannon", then you might want to have a method for each Achievement which receives an event and then returns whether that event fulfills the condition for that achievement or not. Example:
AchievementEMCannonSelfKill extends ...
It is not necessary to do an alpha publish. The apk you upload to publish to the store will only have what you include on it. To update the game with leaderboards, you could upload another apk built with the same key and a new version number. This will be treated as an update for users who have already installed the game.
From what I remember about the Steam API you can set/reset the players progress through the steam API manually which allows you to solve the problem in multiple ways.
As long as the achievement identifiers in the backend reflect the values in your code you should be fine and the new achievement should reflect the already achieved progress in the old stat.