Gamerzilla For Game Developers

Main - For Game Developers - Source Code


Why should I support it?

Right now Steam, GOG, PS4 and Xbox have an achievement system. Epic is looking to add that in the future. Will itch.io add an achievement system? How many builds do you want to make every time you make an update? Gmaerzilla is not tied to any store.

How does it upload results?

The intent is for games to communicate with a game launcher through loopback network port or other interprocess communication. The launcher would store server name and authentication information. That way the player doesn't need to worry about entering it into each game and the developer doesn't need to worry about storing it securely. If the player does not have a launcher all data will be stored locally. Players can choose not to connect their launcher to an online service in which it is all stored locally and the launcher can still display it. If they choose to setup an account later or have to move to a different service for some reason, all their achievements will be automatically synched.

What game launchers and servers support it?

No game launchers at the moment. For servers, only Hubzilla has a plugin to receive and display the acheivements. From a numbers perspective it makes no sense to support it but that is what led to the dominance of Steam. Game developers have the ability to take control back.

Why are there no hidden achievements?

Because they don't work. Multiple sites display the hidden achievements. The PS4 allows you to look at the achievements by just selecting the hidden achievement.

Why are you not storing the time?

The more we track the more information we leak to others. I've chosen to avoid that collection. If enough people request the feature I will consider it.

How do I add support in a C/C++ game?

GamerzillaStart(false, "save/");
Gamerzilla g;
GamerzillaTrophy trophy[1];
GamerzillaInitGame(&g);
g.short_name = strdup("test");
g.name = strdup("Test");
g.image = strdup("test.png");
g.version = 1;
g.numTrophy = 1;
g.trophy = trophy;
trophy[0].name = strdup("Win Game");
trophy[0].desc = strdup("Win Game");
trophy[0].max_progress = 0;
int game_id = GamerzillaSetGame(&g);
...
GamerzillaSetTophy(game_id, "Win Game");
...
int progress;
GamerzillaGetTrophyStat(game_id, "Slayer", &progress)
GamerzillaSetTophyStat(game_id, "Slayer", progress + 2);
...
GamerzillaQuit();

© 2020, Identical Software. License: CC-BY-SA 4.0