Table of Contents
- Video Guides
- Adding a table to the repository - Start to Finish
- How to Branch - Make Multiple PRs At Once
- Text Guides
- Finding a table image wheel
- How to add a table preview to your readme
- File naming for the repo
- Table Submission Guidelines
Video Guides¶
Adding a table to the repository - Start to Finish¶
YouTube Tutorial (Ominous Osie)
This tutorial is for slightly more advanced users of the VPXs 4KP beta. Once you've added a new table to your USB and tested it, this will help you in adding that table to the main repository!
Git Desktop downloads: Windows | Mac (link at the bottom right)
VPXs Git Repo: Repo
Spreadsheet: Google Docs
How to Branch - Make Multiple PRs At Once¶
YouTube Tutorial (Ominous Osie)
This tutorial is for slightly more advanced users of the VPXS 4KP beta, this one goes through branching - so that you can add multiple tables at once!
Text Guides¶
Finding a table image wheel¶
There is a massive list of pre-made VPX table wheel images that can be found here: - Bla1ze - Pre-made GL Wheel images (MEGA) - pointdablame - Pre-made GL Wheel images (Google Drive)
How to add a table preview to your readme¶
To add the image, first go to the VPX table download page, and download the preview image from there.
Next, copy that into the /images folder in the root of your local fork of the repo, and give it an appropriate name like vpx-[table]-preview.png etc
Lastly, go into the README.md file in the vpx-table folder for this table and update the preview image link:

File naming for the repo¶
The repo has specific naming requirements in order to work with the Legends Unchained Table Manager.
Please ensure your files are named:
| File Name | Required | Description |
|---|---|---|
| launcher.png | :white_check_mark: | The image used by the AtGames Launcher UI |
| table.yml | :white_check_mark: | Wizard config YAML |
| backglass.png | :x: | Backglass image to use during loading |
| dmd.png | :x: | DMD image to use during loading and as a static image for tables without a DMD |
| launcher.cfg | :x: | Any launcher configs like button labels |
| nvram.nv | :x: | NVRAM file needed for the table to initialize (should not have high-scores from play) |
| playfield.png | :x: | Playfield image to use during loading |
| table.ini | :x: | VPX settings to overried to use the table |
| table.vbs | :x: | VBS file to use instead of the one built-in to the VPX |
| VPReg.ini | :x: | Registry emulation file. If high scores are in the file, ensure the following initials are used JSM, CTH, NIX, VPX |
Table submission guidelines¶
Required¶
Must look good¶
Tables must have a proper POV set
- We prefer Window view(Mode 2) but Legacy(0) or Camera(1) are acceptable if the POV is good.
- LoadedWeapon POVs are very nice to use, and we do not restrict their use as long as they are sourced from VPUniverse. Rotation needs to be set at 180 if you use these, and vertical distance may need to be adjusted.
Tables must not look overly blurry or pixelated:
We understand that there will be some blurriness and pixelation because we have to scale the tables down for them to be playable on this hardware.
- MaxTexDimension no lower than 2048.
- AAFactor no lower than .9. We will accept +- .05 depending on the case.
Must play well¶
FPS should be above 40 consistently
We realize FPS can fluctuate depending on the table, but if it constantly has spikes below 40, it's not a good experience
Stutters should be minimal
Preferably there should be none at all but some tables do have stutter in some spots. If it doesn't affect gameplay, it's acceptable.
No teleporting balls
See the above section. This indicates either incorrect settings or the hardware simply can't handle the table.
Other¶
Dif files must be used to address a problem
We added support for dif files to modify tables that would either not run on the 4kp or require modifications before use. This is not meant to be used for table conversions or anything like that. Github has file size limitations that we must adhere to, which is also a factor in this.
- Files should be no more than 10MB
- Files should be created to address a particular issue(broken asset, plunger not working, playfield issues) that the table author will not fix themselves. We encourage people to reach out to table authors on their distribution sites (VPUniverse, VPForums) to try to get fixes done but this isn't always possible because of various reasons.
Document your work
If you make changes to a VBS file, add comments on where you made the changes. Add your name and short description on changes in a comment at the top of the file. Be descriptive in the Github commits on what changes you made. This helps us track what's changed for approving commits and updating tables later.
Preferred¶
Installable through the wizard
This includes having a properly formatted table.yml, a properly made launcher image (launcher.png), and a DMD image if needed (DMD.png). If you need help with artwork we can assist, you just need to ask in the Discord.
If a table needs more than one rom, Music, etc it cannot be used for wizard submission at this time.
Sidewalls
If there's an option for it in the table options or vbs file, and they don't affect framerates much, turn them on. This can also help align the table for POV purposes.
Siderails
Turn them off if there's an option for it. Usually lies in the table VBS file. These are visually distracting on the playfield and unneeded. We will have a guide on the Wiki to help with this if there is no option available.
Lockbar(or table chin)
Same as Siderails. The option to turn this off is usually embedded with the Siderail option in the table VBS. We will have a guide on the Wiki to help with this if there is no option available.
FreePlay On
Normally saved in the nvram file with the table, should be set either in the in-game rom menu(use 7 or 0 on a keyboard, 9 for coin door), in F6 menu on a PC, or sometimes in the table VBS.
Optional¶
VBS improvements
This is a bit tricky because it skirts the line between tweaking the table and overhauling it to make it something different. Examples of things we have done in the past:
-
Replacing the Sound code. This can help with audio issues such as directional audio not working correctly or ball rolling sounds not working. In some cases, this can be done easily, as there are a lot of table authors who use versions of JPSalas' VBS functions. Even then, the sound functions sometimes have to be modified. This can be difficult and time-consuming.
-
Replacing table physics. This can also sometimes be a drop-in replacement, using the JPSalas example above. This is sometimes done to make tables play a little better, but drags the line between tweaking a table and making something new, as in not what the author intended. We have done this from time to time to address obvious play issues but should be used carefully.