🕹️PlayerHUD

Blocks ::: block_playerhud
Maintained by Jean Lúcio
A gamification block for Moodle with XP progression, levels, inventory system, and ranking.
Latest release:
53 sites
1k downloads
12 fans
Current versions available: 1

PlayerGames Ecosystem by Jean Lúcio, featuring a 3D retro joystick

⚠️ Required Companion Plugin: PlayerHUD requires the PlayerHUD Filter to be installed and enabled. Without it, item drops will not render in course content.

MDL Shield

PlayerHUD – Structured Gamification Engine for Moodle

The PlayerHUD Block is a modular gamification system for Moodle that introduces structured progression mechanics based on XP, Levels, Inventory, and Ranking.

It provides a dynamic HUD (Head-Up Display) inside courses, allowing students to track their progress in real time while teachers configure engagement mechanics aligned with pedagogical objectives.

✨ Features

  • 🎮 XP & Level System: Automatic level progression based on earned XP.
  • 🏅 Level Tiers: The level badge changes color at every 5-level milestone (e.g., 5, 10, 15, 20), giving students a visual sense of progression.
  • 🎛 Configurable Progression: Teachers define the number of levels and XP required for each level.
  • 🎒 Inventory System: Collectible items with configurable Cooldown (Recharge Time) and usage limits.
  • 📜 Quest System: Create manual, collection, activity, reputation, and chapter quests with a built-in auto-suggestion tool.
  • 🎭 RPG Characters: Students choose characters with unique portraits, lore, and tiers. Items can be restricted to specific characters.
  • 📖 Story & Chapters: Interactive branching narratives with scenes, choices, and chapter progression tied to quests.
  • 🏪 NPC Shop & Trades: Allow students to exchange collected items for rewards using a secure, rules-based transaction system.
  • 📊 Analytics & Reports: Comprehensive audit logs, game economy tracking, progress visualization, and quest completion charts.
  • 📍 Drop System: Place collectible items across course sections (labels, pages, descriptions) using shortcodes provided by the PlayerHUD Filter.
  • 🎁 Auto Drop Distribution: Automatically distribute item drops to all enrolled students with undo support.
  • 🏆 Ranking System: Leaderboard with tie-breaker logic and visibility controls.
  • 🔐 Optional Participation: Students may choose to opt in or opt out of the gamification system.
  • Real-Time Updates: AJAX-based collection using Moodle’s core API.
  • 🤖 AI Tools (Optional):NEW Two AI-powered features powered by Gemini, Groq, or any OpenAI-compatible provider:
    • Content Generator — creates items, story chapters with branching nodes, and RPG class backstories on demand.
    • Game Master Assistant — a conversational chat tab for teachers. Ask questions about game design, get suggestions, and trigger actions (create item, create quest, generate chapter) with a confirmation step before anything is saved.
  • 📱 Mobile-Ready: Compatible with Moodle web services.

🎓 Educational Purpose

PlayerHUD is designed to encourage active engagement, reinforce mastery-based progression, and support competitive/cooperative learning dynamics while keeping pedagogical integrity intact.

📖 Usage

  1. Install the PlayerHUD Filter and enable it in your site's filter settings. This step is required before using the block.
  2. Add the PlayerHUD Block to your course.
  3. Access the Management Panel (Teacher role required) and consult the dedicated Teacher Help page for Game Masters.
  4. Configure:
    • Items and XP values
    • Number of levels and XP thresholds
    • Drop placements and Auto drop distribution 
    • Quests, RPG Characters, and Stories 
    • NPC Trades and exchange rules
    • Recharge time (Cooldown) and Collection limits
  5. Students collect items directly within course sections, complete quests, progress through the story, and trade in the Shop.
  6. XP, levels, and ranking update automatically. Monitor everything via the Reports tab.

🔎 Third-party Service Disclosure (AI)

PlayerHUD includes optional AI-powered features for generating items, story scenes, and character oracle responses. These features are not required. The plugin works fully without any external AI service.

  • Supported Providers: Google Gemini, Groq, and custom OpenAI-compatible APIs.
  • Bring Your Own Key (BYOK): The plugin does not provide API keys. Keys and custom Base URLs must be configured by the institution.
  • Data Privacy: No student data, prompts, or raw responses are stored. Data is only transmitted when a teacher explicitly uses the feature to generate course content.

⚙️ Technical Reliability & Security

  • Core Standards: Fully compliant with Moodle coding and accessibility (WCAG 2.1 AA) standards.
  • Robust Architecture: Capability-based access control, strict require_sesskey() protection against CSRF, rigorous server-side validation for game rules, and automated test coverage (including new PHPUnit coverage for RPG tables).
  • Data Security & Privacy: Full implementation of the Moodle Privacy API (GDPR compliant), Backup & Restore support (now extended to all RPG tables), and privacy-aware ranking participation.
  • Scalable & API Ready: Optimized database structure with memory-efficient bulk queries that avoid redundant database calls, and fully Moodle External API compliant.
  • Bring Your Own Key (BYOK): The plugin does not provide API keys. Keys must be configured by the site administrator or individually by teachers.

🕹️PlayerGames Ecosystem

PlayerHUD Filter is part of the PlayerGames gamification ecosystem. Together, these plugins transform Moodle into an immersive experience:

Potential privacy issues

This plugin stores user progress data including XP, levels, ranking position, and collected items. It implements Moodle's Privacy API for data export and deletion.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5

Contributors

Jean Lúcio (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments

Show comments
  • Plugins bot
    Thu, 19 Feb 2026, 1:30 AM
    Approval issue created: CONTRIB-10331
  • 建 天
    Mon, 13 Apr 2026, 9:42 AM
    尊敬的贡献者,这个插件很不错,我部署在中国大陆后,其中有个:AI的那个不能用,其中:AI的调用可以改为其他模型吗?比如中国的阿里云、腾讯、openaI ,谢谢。期待你的回复
  • 建 天
    Mon, 13 Apr 2026, 10:21 AM

    Error
    X

    AI离线:Gemini错404
    OK 这是报出的错误
  • Jean Lúcio
    Tue, 14 Apr 2026, 1:59 AM
    尊敬的张,您好!

    非常感谢您的留言以及对 PlayerHUD 的支持。您的建议非常棒,我完全理解您所在地区的 API 网络限制问题。

    我会采纳您的建议,并在插件的下一次更新中加入自定义 API 端点(兼容 OpenAI 格式,可用于阿里云、腾讯等模型)的选项。

    请您密切关注 PlayerHUD 的后续发布版本。再次感谢您的反馈!
  • Jean Lúcio
    Wed, 22 Apr 2026, 9:15 PM
    尊敬的建天,您好!

    再次感谢您对 PlayerHUD 的支持和耐心等待。

    我很高兴地通知您,您之前建议的功能现在已经可用了!在最新版本的插件中,我们已经加入了自定义 AI API 端点的设置选项。现在您可以配置并使用兼容 OpenAI 格式的任何其他大语言模型了,比如您提到的阿里云或腾讯模型。

    欢迎您更新并体验。如果您在配置或使用过程中遇到任何问题,请随时在这里留言告诉我。

    祝好!
  • Philippe CARDOSO
    Fri, 5 June 2026, 5:07 PM
    Wow! This is truly one of the best gamification plugins I have seen, so I wanted to take the time to write a review.

    I particularly appreciate the idea of collectible items and the ability to purchase them. This is an excellent feature, especially for teachers who want to provide tangible rewards to students. For example, an item could grant immunity from a future penalty (such as a "joker" for forgetting materials), or allow a student to retake an assessment. The possibilities are numerous and can be adapted to each teacher's educational approach.

    Unfortunately, the plugin only works at the course level. It cannot be integrated across the entire platform. It would be interesting to have a global system with a shared store, shared experience points, and both overall and course-specific leaderboards based on progress across all gamified courses (like block_game plugin).

    To strengthen the gamification aspect even further, I think it would be interesting to offer a collection of avatars or icons that unlock as students level up. I can easily imagine students being motivated to earn XP in order to unlock the logo of their favorite sports team or an avatar of a character they like. Likewise, for quiz-based activities, it would make sense to award XP proportionally to the score achieved.

    Honestly, I almost feel bad making these suggestions because they highlight areas for improvement without doing enough justice to the many strengths of this plugin. I especially like the idea of limiting the number of available items and including hidden mystery items : those are genuinely excellent features ! The story and RPG elements are also very appealing, although expanding them further would probably require significant development effort and might not align with the needs of all teachers.

    This plugin contains some truly great ideas, and I hope it finds the audience it deserves. It has the potential to help more teachers discover and design courses that incorporate gamification and engagement-retention principles—approaches that, in my personal experience, remain largely unknown or underestimated in education.
  • Jean Lúcio
    Fri, 5 June 2026, 7:36 PM
    Hi Philippe,

    I truly want to thank you for taking the time to test the plugin and write this review. This is incredibly rewarding and important to me.

    Your suggestions are very welcome! In fact, I’d like to mention that some of them are already addressed in the latest published version (v1.5.0). I added a collection of avatars (17 in total) alongside a virtual currency (PlayerCoin) that teachers can automatically add to the course, allowing students to acquire them. I believe this implementation at least partially covers one of your ideas. Whenever possible, I would appreciate it if you could test this feature and share your thoughts.

    Regarding the block working outside the course level, this idea is also on my radar. One of my concerns was how to maintain fairness for all students globally, considering that some will inevitably access more Moodle modules than others, potentially making the competition unbalanced. However, I believe I've found a path forward. I am currently developing a plugin called "PlayerGames" that adds this gamification layer globally. It is still in development, so it is not in the Moodle plugins Directory yet, but if you have the means to test it, you can download it directly from my GitHub: https://github.com/jeanlucio/moodle-local_playergames. A final fun fact about this new plugin: it will also allow teachers and technical staff to participate in the gamification!

    Regarding expanding the story elements and RPG module, I completely agree with your assessment. This is one of the most complex (and rich) modules, and because of that, I am currently evaluating how far it makes sense to expand it right now, even though I have many new ideas for it as well.

    The idea of proportional XP for quizzes is brilliant and hadn't occurred to me. I will definitely study the feasibility of implementing it.

    Finally, thank you once again for your time and analysis. I look forward to hearing your thoughts on future updates of this plugin or others I am working on!

    Best regards,

    Jean
  • Philippe CARDOSO
    Tue, 9 June 2026, 2:20 AM
    Hello Jean,
    I downloaded your "PlayerHUD" beta plugin, and the least I can say is that your tool is very extensive. I am very familiar with the retention mechanisms used in modern video games (Forza, NBA 2K, EA FC, Candy Crush, etc.), and your Moodle plugin is by far the closest to them. While I think these mechanisms can be harmful in video games by fueling addiction, I find that in an educational context, it's a powerful driver that can further motivate students. I would love it if my students were "addicted" to my exercises and lessons! ^^

    With this goal of stimulating learning, your idea of offering consecutive connection streaks is truly excellent, especially when combined with mini-games. I can easily picture myself offering mini-games for simple problems or vocabulary questions. However, I think it should be possible to customize these streaks to make them either daily or weekly. For example, a streak would be validated if, for 3 days during the week, the student completes their mini learning games, and if a daily streak is preferred, the student would have to log in 7 days in a row.

    I tested your virtual currency and avatar collection systems. It's really great to have this kind of tool. Generally speaking, everything that makes setup easier, like the auto-suggestion features or your AI integration, seems effective and relevant to me. That being said, I think the impact would be even stronger if students could directly modify their Moodle profile avatar. Since I teach 12 to 15-year-olds, I know they love this, and tying this change to XP seems very effective to me, especially if the final stage allows for full customization by importing their own image. For example, after reaching 1,000 XP, the student would move to level 2 and unlock the corresponding avatars, and so on.

    In your message, you worry about the potential imbalance between students, particularly between those who will have access to more modules than others. But, is it possible to create filters by cohort? Furthermore, does XP necessarily have to be synonymous with competition? I must admit that at first, I saw XP as a way to create a global and module-by-module ranking, but today, I am questioning that. I wonder if it wouldn't be better to use XP simply to reward Moodle use: just attendance and consistency. Telling students that the more they use the platform, the more XP they accumulate, unlocking rewards or earning virtual currency. This way, even a student struggling academically will be rewarded if they put in the effort. I also like the idea that a teacher can quickly gauge a student's activity at a glance at their level and total XP.

    That being said, I don't completely reject the idea of a leaderboard... But perhaps a ranking by completed modules, partially disconnected from XP, would be more beneficial to reward the highest-performing and fastest students. I have a lot of ideas, but I barely dare write them to you because I know your priority is to identify what will bring the most value to the greatest number of people so you can focus on it. We could imagine rewards limited to the fastest students (which is already possible), to those with the best grades, or even a visual tracking of their progress, but all of this probably represents too much work.

    To conclude my message, I think you should focus on implementing your plugin across the entire Moodle system, as it seems obvious to me that limiting it to a single course module would be far too restrictive. Regarding the RPG part, I have so many application ideas, but since you seem to want to develop mini-games and daily rewards, I very clearly think these features unique to Moodle will bring more value, because even with an AI, I imagine it represents a lot of work, and reliability and long-term support are probably what is most sought after.
  • Jean Lúcio
    Wed, 10 June 2026, 9:32 PM
    Hi Philippe, I hope you're doing well.

    I want to thank you once again for taking the time to analyze my plugins, especially the one still in development! Receiving such insightful feedback so quickly is incredibly valuable to me.

    Your suggestion about avatars is actually something I had considered—specifically, giving students the ability to update their own Moodle profile pictures. My main hesitation was the risk of students eventually uploading inappropriate images or causing awkward situations without a teacher's moderation filter. Since teachers can already add custom avatars to the system, I thought students could simply request their desired images to be added by the instructor. What do you think about this approach?

    Regarding your point about competition, this is something I've pondered from the very beginning. In PlayerHUD, I made sure to include a setting that allows the teacher to toggle the leaderboard on or off. If I implement this at a global level, I definitely plan to maintain this same setting.

    You also gave me a fresh perspective on cohort filters. I must admit I will need to study this a bit more to understand the technical feasibility within the current architecture I'm building. Expanding these features platform-wide is absolutely a goal of mine, even though progress on that front is a bit slower at the moment.

    Please don't hesitate to share any other ideas you might have. The truth is, despite seeing a significant number of downloads for this tool, I've received very little feedback—and certainly none as dedicated and thorough as yours.

    Thank you once again, and I hope my plugins continue to add value to your courses!

    Best regards,

    Jean
  • Philippe CARDOSO
    Tue, 16 June 2026, 10:31 PM
    Hello Jean,

    I’m not surprised that you receive so little feedback. Having worked on projects online myself, I’ve noticed that the amount of user feedback is generally very low. This probably explains, at least in part, why so many software applications and operating systems constantly ask users for feedback.

    Regarding avatars unlocked with experience points, I think you are absolutely right. It is probably not a very good idea, and it could mainly create moderation issues, especially with users under the age of 15. The same applies to allowing students to request a custom avatar from the teacher: the balance between advantages and disadvantages seems rather weak to me. Personally, I can already somewhat anticipate their preferences (football club logos, animals, fictional characters, etc.).

    Regarding the leaderboard, I think everything mainly depends on what it actually represents. If it mostly reflects the student’s overall activity and experience in Moodle (time spent, completed exercises, consistency, course exploration, etc.), then I do not think it is necessarily harmful for struggling students. On the contrary, some students with weaker academic results could still accumulate a lot of XP simply because they use Moodle more frequently and engage with it more consistently.

    In this context, XP does not tell a student that they are “bad,” but rather that they are more or less active on the platform. To me, this feels much less problematic than a ranking system directly based on grades, averages, or exam results, where comparisons immediately become more sensitive and potentially discouraging.

    This is also why, in my previous message, I suggested that it could be interesting for students to earn a small portion of their XP through good grades or successful exercises, in order to create a slight distinction between students without making it the main criterion. Most XP points could simply be earned by exploring courses, completing activities, and using Moodle regularly.

    In conclusion, and at the risk of repeating myself, I think leaderboards tied to a specific course or exercise can be very effective for generating short-term motivation. However, across the entire system, I see less value in them, except perhaps for XP systems intended to encourage more regular use of Moodle, which seems to be what you are trying to achieve with your streak and daily question system.

    I will continue following your work, and if I have the opportunity, I will gladly share more feedback. At the moment, I have a lot of work related to course formatting and organization, so I’m waiting until everything is finished before integrating more gamification.

    More generally, I feel that Moodle development lacks interactivity and gamification. I even think that the success of H5P has limited developers’ creativity and locked users into a solution that is ultimately restrictive and not very ergonomic. Moodle is missing formative activities and content that truly take full advantage of digital possibilities and gamification plugins such as yours.

    Best regards,

    Philippe
Please login to post comments