Posted December 11, 2025 by xRennn
#update #clicker #news
Hey ClickXP enjoyers 🖱️🔥
Over the last updates we’ve focused on three main pillars:
User experience (new UI, fixed menu, clearer profile)
Competitive / ranking system (rating, decay, server-side logic)
Instant feedback (popups, cleaner leaderboards, new web page)
Here’s a recap of what’s new in v0.9.4 and v0.9.3.
Removed the old external multi-menu system: the app now uses a fixed menu, and only the main window content changes dynamically.
Redesigned most of the interface to make the client more consistent, readable and enjoyable to use.
Added a dedicated Leaderboards section inside the app so you can browse all rankings directly from the client.
Introduced new custom visuals for 1st, 2nd and 3rd place in the leaderboards, so top players stand out immediately.
Added a brand new Profile section, which now includes:
A profile header with neon-border avatar circle (Avatar BETA), styled username, rank pill, and subtitle showing the selected avatar.
A “Current Rating” block with title, large CR value and a stacked PNG rank badge so rating is always clearly visible.
A Rank & Progress card showing current rank, rating, progress bar toward the next tier, descriptive status text, and dedicated loading/success/error states. When your rank changes, both text and badges update automatically.
A Player Summary grid for core metrics (Level, XP, Clicks, etc.), wired to live-updated labels.
Full integration with the avatar selection logic so your chosen avatar is reflected instantly in the profile header and tiles.
Rank data fetching and caching via refresh_profile_data(), /ranking/me (with fallback to /user/stats), with automatic UI refresh whenever the rank cache changes.
Added custom icons next to leaderboard titles on the main dashboard to strengthen visual identity and improve readability.
Applied many small UX and interaction improvements to make the client feel smoother overall.
Introduced a fixed ranking tier system (RANK_TIERS) with rating thresholds for each rank from Bronze up to Click God, plus helper functions to compute the target rating for the next rank.
Implemented rating + inactivity decay:
base rating set to 1000;
after a 3-day grace period, each inactive day subtracts 15 rating points (never below 0);
the rank name is automatically recalculated from the updated rating.
Fully reworked session rating calculation:
sessions are normalized and decay is applied;
a weighted performance score is computed using CPM, peaks, bursts, consistency and percentile;
the score is converted into a rating delta using RATING_K_FACTOR = 24, clamped between -12 (max loss) and +35 (max gain);
suspicious sessions use a reduced K-factor and cannot increase rating.
Strengthened server-side anti-cheat:
sync() limits accepted clicks per batch using a cap based on MAX_CPS * BURST_FACTOR;
_evaluate_session_legitimacy() rejects or penalizes sessions with out-of-range duration, excessively high average CPS, unrealistic peaks, too many clicks per minute, suspicious variance, or implausible bursts;
any session flagged as suspicious is forced to a non-positive rating delta.
Improved persistent state and consistency:
after each session, rating, rank name and next-rank target are updated and saved;
endpoints like user_stats() and /ranking/me apply inactivity decay before responding so stats, profile and ranking data always stay in sync with real user activity.
Added a dedicated Leaderboards page on the website that shows all leaderboards and keeps them updated in (almost) real time
ClickXP is still in beta, so your feedback is extremely valuable:
Drop a comment here on itch.io or reach out through the project’s socials / Discord.
Thanks for being part of the growth of ClickXP. 🖱️🚀