Software Development

P3 Game Development

We encourage 3rd-party game development for the P3 Pinball Platform and provide a development kit to assist in the process. Please find more information about developing P3 games here: 3rd-Party Development Page.

P-ROC & P3-ROC Custom Game Development

To help custom game developers create new game software for their P-ROC and P3-ROC projects, we assisted in the initial creation of a community owned, open-source project to ease the creation of custom game rules. This initial project (pyprocgame) also served to provide a sort of documentation and roadmap for others who would be interested in developing their own frameworks. Now, several community-owned and community-developed open-source software tools and framework development projects exist, and a rich developer community has been established. Active projects are listed below for your convenience.

Note – The following projects help with the creation of game software running on the host PC that is connected to the P-ROC or P3-ROC over USB. These are not to be confused with low level firmware already running on the boards themselves.

Discussion forums:

  • Pindev Slack Channel: a real-time communications channel where many custom and commercial pinball developers discuss their projects and help each other succeed. For an invitation to the slack channel, please email [email protected].

Community-supported software projects

  • SkeletonGame: A fork of the original pinball software development framework pyprocgame with enhanced features and improved usability and documentation.
    • Full software framework for developing pinball games with a P-ROC / P3-ROC
    • Open source: Project Homepage

  • Mission Pinball Framework (MPF): A python-based pinball software development framework
    • Full software framework for developing pinball games
    • Open source: Project Homepage

  • libpinproc: P-ROC/P3-ROC low level interface library
    • C language API
    • Tested in Linux / Mac OS X / Windows
    • Open source: GitHub repository
    • Includes sample higher level app (pinproctest) showing how to use the library to interface to a pinball machine
    • Includes a firmware update app (pinprocfw) that can be used to update firmware images on the P-ROC and P3-ROC

  • pypinproc: Python module wrapping libpinproc
    • Used to access a P-ROC/P3-ROC via libpinproc within Python
    • Open source: GitHub repository

  • PinMAME Support: While developing custom game software, many users have found it helpful to be able to continue playing the original game rules for the sake of feature comparisons (or simply so the game is still playable while custom game software is in development). PinMAME has support for the P-ROC so you can run original game rules on actual machines through a P-ROC board (in place of the original CPU board).