Welcome to the Bird Watcher Tutorial
When the P3 was first announced, I was extremely excited about the possibility of the platform. The P3 Sample App included with the SDK is a great starting point for any app. However, it can be a little overwhelming, and hard to know where to start.
The purpose of this tutorial is to document an example of writing a complete pinball game, from idea to playable. Hopefully it will help explain some of the concepts of the platform, Unity, and help you overcome the getting started roadblock.
Why am I qualified to write this
I'm not.
But I know enough to be dangerous. I have worked as a professional software developer for over 15 years, working on things from high performance databases, mobile cryptography, applied machine learning, large scale distributed systems and much more. I have a Bachelor of Computer Science and a Masters of Computer Science.
When I started playing around with the SDK, I knew nothing about Unity, had never used C# and had never used Windows as a development environment.
Over the last few years, I have started developing a few P3 games, and got them all to a moderately playable state.
- Gammagoat Sample App: A simple EM-inspired game
- Double Super Jackpot: An app I wrote to enter into the Buffalo Pinball theme song cover contest
- Arena (Codename): A Rougelite card game.
Prerequisites
I am not going to cover setting up your programming environment. This assumes you have
- Installed Unity 5.6.7
- Registered at multimorphic.com and downloaded the 0.8 SDK. See 3P Developers Page
Note
Make sure you follow the SDK setup instructions and have copied your .multimorphic directory to your home directory
- Optionally installed other programs that might be useful like git, vscode, blender, gimp.
Recommended reading
-
It is a good idea as much as possible to follow the Microsoft C# Coding convensions. I do a terrible job at this, but it is a good idea to follow.
-
Read the SDK documentation. You should read it all. But at a minimum:
- Introduction to the P3 Development Kit
- Overview of the P3
- Structure of a P3 App