Skip to content

Gamification Overview

Requires MediaVerse Pro - This feature is available exclusively in the Pro version.

MediaVerse Gamification turns your media community into a competitive platform. Users earn XP, enter photo competitions, challenge each other to battles, and boost their media visibility - all integrated with the wb-gamification plugin’s XP and reward engine.

Gamification requires MediaVerse Pro and the wb-gamification plugin (active and configured). All gamification features are disabled by default. Enable each feature individually at MediaVerse > Settings > Gamification.

Gamification overview in MediaVerse admin settings

  • MediaVerse Pro 1.0.0+
  • wb-gamification plugin (active)
  • WordPress 6.5+
  • PHP 7.4+
Feature Description Setting Key
Photo Challenges Themed weekly competitions with voting mvs_challenges_enabled
Photo Battles 1v1 head-to-head media matchups mvs_battles_enabled
Tournaments Single-elimination bracket competitions mvs_tournaments_enabled
Media Boosts Spend points to increase media visibility mvs_boosts_enabled
Upload Streaks Track consecutive daily uploads mvs_streaks_enabled

All three competition types share a unified database schema. Each type follows its own lifecycle, but they share the same tables.

Themed weekly competitions. Admin creates a challenge with a theme, entry window, and voting window. Users submit a photo, community votes, winners earn XP prizes.

1v1 matchups. A challenger picks a photo and invites an opponent. Both submit photos, the community votes, the system resolves the winner.

Single-elimination brackets for 4 to 64 participants. Users register, the system seeds the bracket, rounds proceed by community vote until a winner is determined.

Table Purpose
mvs_competitions Master record for all challenges, battles, and tournaments
mvs_competition_entries User photo submissions for any competition type
mvs_competition_matches Individual head-to-head pairings (battles and tournament rounds)
mvs_competition_votes Per-user votes on entries or matches
mvs_boosts Active and expired media boost records

The mvs_competitions.type column distinguishes between challenge, battle, and tournament records.

XP and points are not awarded by MediaVerse itself - the separate free wb-gamification plugin is the points engine. MediaVerse ships an integration manifest that registers 15 gamification actions (photo upload, album creation, likes/comments/follows/favorites received and given, bookmarks, battle win, challenge participation, challenge placing, tournament round win, tournament win, and streak milestones).

wb-gamification manifest showing MediaVerse actions and XP values

As members interact with the site and competitions, MediaVerse fires the matching action hooks - for example mvs_media_uploaded, mvs_battle_resolved, mvs_challenge_winner_named, mvs_tournament_finalized, and mvs_streak_milestone - and wb-gamification awards the points configured for each action. The per-competition XP prizes you set on a challenge or tournament are honored through the wb_gam_points_for_action filter, so the points a member earns match the prize shown in the UI.

Without the wb-gamification plugin active, competitions still run end to end - members enter, vote, and win - but no points are earned or spent. Install and activate wb-gamification to enable the XP and rewards layer.

URL Description
/media/challenges/ Browse and enter photo challenges
/media/battles/ View active and completed battles
/media/tournaments/ Browse tournaments and view brackets
/compete/ Unified competition hub showing all active competitions

The My Media dashboard adds Challenges, Battles, and Tournaments tabs showing the logged-in user’s entries, results, and active matches.

My Media dashboard with competition tabs

All competition lifecycle transitions run via Action Scheduler on an hourly recurrence. No competition state changes happen in real time - transitions occur at the next hourly tick after a deadline passes.

Scheduled Action Trigger Condition
mvs_activate_scheduled_challenges Challenge start date reached
mvs_close_challenge_entries Entry deadline reached
mvs_finalize_expired_challenges Voting deadline reached
mvs_resolve_expired_battles Battle vote deadline reached
mvs_start_registered_tournaments Tournament registration deadline reached
mvs_resolve_expired_matches Match vote deadline reached
mvs_expire_boosts Boost impression target or duration reached
mvs_daily_streak_check Daily at 2 AM - break streaks for missed uploads

Action Scheduler must be running for gamification to function. If you use a managed host that blocks WP-Cron, configure Action Scheduler with a server-level cron trigger.