Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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.


I am not going to cover setting up your programming environment. This assumes you have

  • Installed Unity 5.6.7
  • Registered at and downloaded the 0.8 SDK. See 3P Developers Page

    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.
  • 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