About Tilttek
Open gamification tools for PHP and Symfony, so that a site becomes more playful without reinventing the game.
What Tilttek is
Tilttek is a family of PHP libraries and Symfony bundles for games and gamification. A community that earns badges, a club that follows its streaks of games, a shop that rewards its regulars, a creation tool that rolls the dice of its tables: the mechanics are the same everywhere, and only the rules and the data change.
Tilttek is built on PHIL, the open platform of PHP and Symfony building blocks, and follows the same rules: MIT licence, PHP 8.5 and Symfony 8.2, documentation in English and in French.
The problem it solves
Points, badges, levels and dice look simple. Then come the details: points that expire, a badge awarded twice, a streak broken by a time zone, a roll nobody can check, a ranking that shows a member who did not want to appear.
Tilttek handles these details once, with tests, so that each site only writes its own rules.
Its rules
Every package follows the same rules.
-
The data belongs to the sites
The tools are open source; each site keeps its points, badges and rankings in its own database.
-
An opaque member
Tilttek reads no name, no email and no account; erasing a member erases their activity, points and badges.
-
Everything replays
A gain, a badge or a rank follows from recorded activity; change a rule, replay, and get the new state.
-
Verifiable randomness
Dice and draws take their source of randomness as a parameter, and a roll can be verified.
-
Fair play
Points are never money, packs publish their odds and leaderboards are opt-in.
-
Accessible
Keyboard and screen readers, reduced motion, and dice whose faces are never told by colour alone.
The catalogue
Tilttek publishes 24 packages today, in 4 families; each need comes as a PHP library and the bundle that plugs it into Symfony.
-
Gamification core
Activity, points, badges, progression, quests, collections, exchanges, leaderboards and an advent calendar: what rewards the members of a site.
-
Dice and randomness
Dice anyone can roll, their exact statistics, loot tables rolled verifiably, and random generators written as data.
-
Campaigns and worlds
What surrounds a campaign's adventures, such as the weather of its world.
-
Hobbies
Members' pastimes, such as writing, tracked without pressure.
Other packages are in incubation, for the game table, characters, campaigns and contests; each one joins the catalogue when it is published.
Quality
No change gets in without passing automated checks:
- tests on PHP 8.5 and 8.6, each package also installed on its own;
- static analysis at the strictest level;
- mutation testing, which changes the code on purpose to check that a test notices;
- documentation checked, with its French translation kept in step.
Taking part
Tilttek grows with the people who use it: try it, criticise it, suggest improvements. Everything happens in the open.
- The Tilttek packages on GitHub
- The Tilttek packages on Packagist
- PHIL, the platform Tilttek is built on
To follow the releases, see the news.