Continuing on a quest for a collaborative pinball machine (yes, it is the 100 year journey that starts with a single step)...I always start by running into this issue...how can multiple people work on a playfield layout and use a versioning tool to iterate the design.
Here's the background. I started a design with toyotaboy in Future pinball. It saves files as *.fpt. From a quick look at fpt files, they look like a binary format. The issue with this is that if toyotaboy makes a change (such as moving a post 3 mm to the left), I can't see what has changed inside the proprietary save file format. So that is the issue with Future Pinball. Does anybody know if Visual Pinball (VPX) has the same issue?
What I'm looking for is a virtual pinball simulator that uses text based files to "compile" into a table so that you can easily see what changes have been made when taking "diffs" of the "source" files. So something like PCB software where each pinball element (pop bumper, post, etc) is listed as its position on the playfield, radius for the pop bumper, how bouncy and object is, etc. When looking at that file, I would look at the changes in the position to tell that toyotaboy moved a will 3mm to the left, added a wall, changed the bounciness, etc.
So on a slightly different question, the Unity game engine has a physics engine built into it. Are there any Unity projects out there that have a working pinball machine that could be extended to be more generic and maybe preprocess files into something that can be fed into the engine to create custom machines? It would basically be rewriting Future Pinball and Virtual Pinball pieces in Unity to make this possible. I'm only looking for basic functionality like pop bumpers, ramps, flippers, posts, walls, (wireforms, but those could just be ramps), etc. No desire or need to run old PROMs. If Future Pinball and Virtual Pinball can't show differences with slight changes, it seems this is the only way to go.
Any helpful pointers or information would be greatly appreciated. Any Unity partially completed projects would be interesting to take a look at. I do like that Unity is multiplatform, so it removes issues with Linux/Mac/Windows users not being able to contribute.