Open Source / Open Platform
The P3 will be both open source and open platform. What does this mean? It means that anybody can edit game code or develop new games and/or playfield modules themselves.
All original-themed games that we develop for the P3 will be open source. This means the source code will be made available for download so that others can read and even modify the code.
We realize that everybody has different ideas for game features, and we won't be able to implement them all ourselves. By open sourcing the code, we're giving people the freedom to implement features as they choose, and we'll even support their efforts! We'll also give serious consideration to integrating user-developed features into our official releases.
The P3 is a true multi-game platform. It does for physical pinball the same thing video game consoles do for video games - it gives customers the ability to play many different games on the same machine. On the P3, games are defined by software and a physical shot layout (upper playfield module), both of which are easily changed. We'll be developing a number of games ourselves, and others can develop games too!
By making the P3 an open platform, we're encouraging people outside of Multimorphic to develop their own games. On the software side, we'll be providing a software development kit (SDK), where we'll document how to write game applications for the P3 and provide tools to assist in the process. On the hardware side, we'll document the upper playfield module mechanical specs, and we'll show people how to integrate new modules with the platform's hardware control system.
In other words, we want it to be easy for others to create games for the P3, and we'll do our best to ensure that it is!
"The Proof is in the Pudding"
All of our existing projects serve as proof of our dedication to making the P3 open source and open platform. Every software project we (Multimorphic and PinballControllers.com) have either developed or co-developed is open source:
- libpinproc (low level P-ROC driver)
- pypinproc (P-ROC extension for Python)
- pyprocgame (Pinball software game framework/tools)
Additionally, the serial driver boards and protocols used in our hardware control system are already open platform, meaning anybody can develop their own serial driver boards for use on the same serial chain.