Jump to content

VPX Achievement Watcher

    Create an account or sign in to download this
download_no_perm
14544 Views
959 Downloads
5 From 5 reviews
57.72 MB File Size
Solters Created by

12 Screenshots

About This File

🎯 VPX Achievement Watcher

A companion app for Visual Pinball X (VPX) that adds modern achievements, live overlays, and challenges by reading VPinMAME NVRAM data.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Features

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🏠 Dashboard

Your control center at a glance:

Β 

β€’ System Status: Is the watcher running? Is VPX active?


β€’ Session Summary: Two cards side by side:
Β  Β  β—¦ Last Run: Last table played, score, achievements unlocked, and date
Β  Β  β—¦ Run Status: Live status indicators (green/yellow/red) for Table, Session, Cloud, and Leaderboard connection


β€’ πŸ“¬ Notifications: Clickable feed with alerts for leaderboard ranks, beaten achievement records, missing VPS-IDs, and available updates. Unread count shown on tab badge. Clear All button to dismiss


β€’ πŸ“‹ Setup Status: Checklist that verifies your setup is complete β€” Player Name set, Cloud Sync enabled, VPS-IDs assigned, Maps loaded, Overlays configured, and Widget Controls bound. Red/yellow/green indicators with direct links to fix missing items. Shows "βœ… All set!" when everything passes


β€’ Quick Actions: Restart Engine, Minimize to Tray, Quit

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ‘€ Player

Your personal player profile and summary:

Β 

β€’ Player Level: Current level and XP progress bar based on unlocked achievements


β€’ Prestige System: Reach Prestige 1–5 by unlocking 2000 achievements per star (β˜† β†’ β˜…)


β€’ Level Table: All levels from Rookie to VPX Elite with their achievement thresholds


β€’ πŸ… Badges: 37 collectible badges earned through gameplay milestones β€” unlock achievements, complete challenges, reach levels, accumulate playtime, and more


β€’ Display Badge: Choose which badge icon appears next to your name on cloud leaderboards

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ“ˆ Progress

Track your achievement progress per table:

Β 

β€’ Select Table: Dropdown with all played tables (ROM-based and custom/non-ROM tables)


β€’ Global Achievements: Cross-table achievements like total playtime, tables played, manufacturer milestones β€” with progress bars (e.g. 12/25)


β€’ Per-Table Achievements: Each achievement listed with status (βœ… unlocked / πŸ”’ locked)


β€’ ℹ️ Info Links: Click the info icon on any achievement to see its unlock condition, VPS table info, and unlock timestamp


β€’ Rarity Tiers: Common, Uncommon, Rare, Epic, Legendary β€” color-coded based on how many cloud players have unlocked each one. Rarity legend shown below progress bar


β€’ Custom Table Progress: AWEditor-created achievements are tracked separately with their own progress view

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ“Š Records & Stats

Records every round played, session duration, and scores in the background:

Β 

β€’ 🌍 Global NVRAM Dumps: Full raw NVRAM data overview per table β€” all fields and values in a multi-column table


β€’ πŸ‘€ Player Session Deltas: What changed during your session β€” actions, score differences, playtime, and field-by-field changesΒ 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

☁️ Cloud

Global cloud leaderboard for achievement progress:

Β 

β€’ Category: Achievement Progress leaderboard per table


β€’ Search: Enter a table or ROM name with autocomplete (resolves table titles to ROM keys)


β€’ Fetch: Load the leaderboard β€” ranked list with progress bars, medals (πŸ†πŸ₯ˆπŸ₯‰), player badges, date, and ℹ️ VPS info links


β€’ VPS Info Dialog: Click ℹ️ on any leaderboard entry to see linked VPS table details and achievement breakdown

Β 

πŸ’‘ Tip: You can find your personal 4-digit player ID in the "System" tab. Make a note of it! If you ever install Watcher on a new PC, you can use it to restore your cloud progress.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

βš”οΈ Score Duels

Challenge other players to direct score duels on the same table!

Β 

The Score Duels tab is organized into 4 sub-tabs:

Β 

🎯 My Duels


β€’ πŸ“¬ Incoming Invitations: Inbox for duel challenges from other players β€” accept or decline with one click


β€’ πŸ”• Do Not Disturb: Toggle to stop receiving new duel invitations


β€’ βš”οΈ Start New Duel: Pick an opponent and table, then send a challenge


β€’ πŸ”€ Auto-Match: Join the matchmaking queue β€” automatically matched with a player who shares at least one table (by VPS-ID). Search times out after 5 minutes


β€’ 🟒 Active Duels: Overview of all running duels with status, time remaining, and cancel option


β€’ πŸ“œ Duel History: Past duel results with opponent, table, scores, and date

Β 

🌍 Global Feed
Live feed of all active and recently completed duels across all players.

Β 

πŸ† Leaderboard
Top 50 players ranked by duel wins. Shows Rank, Player Name, Wins, Losses, and Win Rate (%). Players need at least 3 completed duels to qualify. Your own row is highlighted with a β˜…. Medals for top 3: πŸ₯‡πŸ₯ˆπŸ₯‰.

Β 

πŸ† Tournament
4-player single-elimination knockout tournaments:


β€’ Join Queue: Enter the tournament matchmaking queue (30 min timeout)


β€’ Auto-Matching: When 4 players sharing at least one table are queued, a tournament is automatically created


β€’ Bracket: 2 Semifinals β†’ 1 Final, all played on the same randomly selected table


β€’ 2 hours per match β€” each duel has a 2-hour time limit


β€’ Notifications: In-app alerts for tournament start, elimination, final reached, and final result


β€’ History: Completed tournaments are saved locally with your placement (πŸ† Winner, #2, #3-4)

Β 

πŸ’¬ Tournament Chat: Live chat for tournament participants β€” real-time messages

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🎨 Appearance

Customize the look and feel of the entire application, organized into 5 sub-tabs:

Β 

πŸ–Ό Overlay


β€’ Global Styling: Font family, base font size, and overlay scale slider (30–300%)


β€’ Widget Placement & Orientation: Place and save screen positions for each overlay independently. Each widget has Portrait Mode (90Β°), Rotate CCW, Place, and Test buttons:


Β  Β  β—¦ Main Stats Overlay (with auto-close option)
Β  Β  β—¦ Achievement Toasts
Β  Β  β—¦ System Notifications
Β  Β  β—¦ Status Overlay (cloud/leaderboard feedback, can be disabled)
Β  Β  β—¦ βš”οΈ Duel Notifications


β€’ πŸ”„ Switch All β†’ Portrait/Landscape: Toggle all overlay orientations at once


β€’ πŸ“„ Overlay Pages: Enable/disable individual overlay pages β€” Page 1 (Highlights & Score) is always active; Page 2 (Achievement Progress), Page 3 (Cloud Leaderboard), Page 4 (VPC Leaderboard), Page 5 (Score Duels) can be toggled


β€’ Custom Background: Place an overlay_bg.jpg/png next to the executable for a custom overlay background

Β 

🎨 Theme


β€’ Active Theme: Select and apply a color theme from the dropdown


β€’ Color Preview: Live preview of Primary, Accent, Border, and BG colors


β€’ Overlay Preview / Test: Test Main Stats Overlay and Achievement Toast with the current theme


β€’ Available Themes: Full list of all themes with icon, name, and description

Β 

πŸ”Š Sound


β€’ Enable/Disable: Master toggle for sound effects


β€’ Volume: Slider (0–100%)


β€’ Sound Pack: Choose from multiple packs (Zaptron, Vex Machina, Retro, etc.)


β€’ Events Table: Per-event enable/disable toggle and preview button for each sound event

Β 

✨ Effects


β€’ GPU-accelerated visual effects with automatic CPU fallback

Β 

🐾 Mascots


β€’ πŸ† Trophie (GUI Mascot): Lives in the bottom-left corner of the main window


β€’ 🎱 Steely (Desktop Overlay Mascot): A metallic chrome pinball that lives on your desktop as an always-on-top overlay. Reacts to game events


β€’ Skins: Multiple visual skins for both mascots


β€’ Personality: Unique speech bubbles, reactions, memory, and a "bickering" system between them


β€’ Portrait Mode: Steely supports 90Β° rotation for cabinet screens

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ“Ί VPC Weekly Challenge

View Discord's Weekly Challenge directly on the overlay (view only).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ•ΉοΈ Controls

Configure hotkeys and input bindings for the overlay and challenges:

Β 

β€’ Supports keyboard keys and joystick buttons


β€’ Bindings for overlay toggle, duel accept (left), duel decline (right), and system tray show/hide


β€’ πŸ’‘ Flipper buttons or MagnaSave buttons work best

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ—ΊοΈ Available Maps

Browse all supported tables and their NVRAM map status:

Β 

β€’ βœ… NVRAM Map = achievement tracking supported


β€’ ❌ No NVRAM Map = not supported yet


β€’ 🟠 Local = .vpx file found in your tables folder


β€’ Filter by local tables with NVRAM maps, search by name or ROM


β€’ Assign VPS-IDs to link tables to the Virtual Pinball Spreadsheet database


β€’ View table author extracted from .vpx file metadata

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🎯 AWEditor β€” Custom Achievement Editor

Create custom achievements for tables that don't use VPinMAME ROMs (Non-ROM / Original tables):

Β 

β€’ πŸ“‹ Tables: Scan your tables directory for tables without NVRAM maps


β€’ ✏️ Codes: Analyze table scripts, detect events, and create custom achievement rules


β€’ Export: Generates VBScript + JSON files β€” the table writes trigger files that the watcher detects instantly


β€’ Full Script Export: Zero manual work β€” AWEditor inserts all FireAchievement calls automatically

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

βš™οΈ System

The System tab has 2 sub-tabs:

Β 

βš™οΈ General


β€’ πŸ‘€ Player Profile: Set your display name and 4-character player ID. Identity fields are locked while Cloud Sync is active


β€’ ☁️ Cloud Sync & Backup:

Β 

Enable/disable Cloud Sync (validates player name and ID against cloud for uniqueness). Auto-Backup toggle, manual Backup to Cloud, and Restore from Cloud (restores achievements, VPS mapping, and CAT progress)


β€’ πŸ› Feedback & Bug Reports: Report bugs or suggestions directly from the app


β€’ πŸ”‘ Admin Login: Log in as chat moderator for Tournament Chat moderation (admin only)

Β 

πŸ”§ Maintenance


β€’ πŸ“ Directory Setup: Configure BASE, NVRAM, and Tables directories


β€’ Repair Data Folders: Fix broken or missing data directories


β€’ Force Cache NVRAM Maps: Re-download and cache all NVRAM map files


β€’ πŸ”„ Update Databases: Force re-download of index.json, romnames.json, vpsdb.json, and VPXTool


β€’ ⬆️ Watcher Update: Check GitHub for newer releases β€” downloads and installs the Setup automatically with release notes preview

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ›‘οΈ Fair Play & Anti-Cheat

To keep the leaderboards fair, local saves and scores are protected by hash signatures.
Matches and tournaments use a feature called NVRAM tracking. Restarting from Ball 1, pressing F3, or restarting the VPX Player will result in disqualification.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Data Sources

The Achievement Watcher uses the following open-source projects and data sources:

Thanks to this people:

β€’ NVRAM Maps by tomlogic β€” https://github.com/tomlogic/pinmame-nvram-maps
β€’ vpxtool by francisdb β€” https://github.com/francisdb/vpxtool
β€’ VPC Data by emb417 β€” https://github.com/emb417/vpc-data
β€’ VPS Database by VPS Team β€” https://github.com/VirtualPinballSpreadsheet/vps-db
β€’ Visual Pinball & PinMAME β€” https://github.com/vpinball

What's New in Version 2.1   See changelog

Released

1. Completely new user interface (Arcade Dark Theme): The GUI has been rebuilt from the ground up. A stylish, dark pinball theme with improved structure, clear tabs (Dashboard, Appearance, Controls, Stats, Cloud, System), and new quick actions.

Β 

2. Enhanced Cloud Leaderboard (real achievement progress): In addition to challenge scores, your overall achievement progress per table (unlocked/total in %) will now be uploaded to the cloud and displayed in the leaderboard. Here, you can compare yourself with others or play challenges against each other.

Β 

3. Flip challenge by difficulty level: The cloud leaderboard for flip challenges separates scores by difficulty level (Pro=100, Difficult=200, Medium=300, Easy=400 flips).

Β 

4. Player ID System (Restore Function😞 The system now uses a 4-digit player ID. This is displayed in the "System" tab. Make a note of it! If you ever reinstall the app, you can enter your old ID there and your cloud progress will be restored. The ID is assigned automatically. Only the Watcher communicates with the cloud!

Β 

5. More freedom with overlay scaling: The hard scaling limit has been removed. You can now shrink overlays to an extremely small size (down to 30%) without text being cut offβ€”perfect for smaller screens or DMDs.

Β 

6. Improved toast notifications: The achievement pop-ups have received a visual upgrade, and the unattractive "(Session)" / "(Global)" text tags have been removed from the overlays.

Β 

7. Local anti-cheat signatures: All local save games and scores are now signed with an immutable hash. If the JSON files are manually manipulated in a text editor, the system detects this and immediately blocks the file.

Β 

8. Strict separation of challenges and normal gameplay: Players who are playing a challenge will no longer unlock regular achievements. Challenges are now an isolated "mode" to prevent achievements from being farmed undeservedly.

Β 

9. Tables without NVRAM maps cannot play challenges or trigger achievements.

Β 

10.Β Challenges that are canceled during the game are not scored by the Watcher and are not uploaded.

Β 

11. Finally, hours of bug fixes. I won't list them here.

Β 

This version includes a large number of improvements. Therefore, please delete the old installation completely. Old installation files are strictly not permitted due to the anti-cheat system.

User Feedback

Create an account or sign in to leave a review

You need to be a member in order to leave a review

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

thechadisgr8

Β Β  2 of 2 members found this review helpful 2 / 2 members

OK so FINALLY got to try this out, does this not pop up with achievements like a game would? If not that would be AMAZING! maybe I just over thought it lol really cool tho to see your stats in real time.Β 

Response from the author:

That's the goal, and it's my goal too. I'm already working on an overlay and pop-ups. It'll just take a little while πŸ˜‰

JRVirtual34

Β Β 

Hello team,

First of all, thank you for this tool, which is really well designed. It’s clear that it is still in the early stage of development, and for now there aren’t many duels or players yet β€” we’re still a fairly small group using it.

I was thinking it would be really great to also add Future Pinball tables. If it were possible to implement a system using fpRAM to scan and record scores, that could be really interesting to fully integrate Future Pinball into the platform.

This is just a suggestion to see if something like this could be considered in the future.

Anyway, take care and good luck with the upcoming updates!

deadmanworking

Β· Edited by deadmanworking

Β Β 

Wow. So much happened here between the initial release I tried and the current update, this feels like a polished piece of software already, thanks for working on this!Β 

UltraMagnus

Β Β 

wow, AWSOME Update!! I love all the auto matching and how it now scans every table I have it's great thank you

AquaticPlayToy

Β Β 

This software is a lot of fun.Β  Been playing around with it for the past few days and it's really cool to see the stats.Β  Highly recommend!

Γ—
  • Create New...