Sonic Pinball Panic! is a non-profit, just-for-fun project. This project and website are not affiliated with, and do not represent Sega Games Co., Ltd., Sega Enterprises, Ltd., Sega holdings Co., Ltd., Sega Sammy Holding Inc., or Sega of America. I thank the aforementioned parties in advance for understanding this is a fan project, for the fans!
I wouldn't say I'm a huge Pinball fan, but I do enjoy sinking quarters in my local machines and slipping into the zone. I got to thinking how it's strange that Gottlieb made two different pinball machines for Nintendo's Mario (Blue and Yellow), yet Sega never made an official Sonic the Hedgehog pinball machine.
Sonic is perfectly suited for Pinball... The first four flagship Sonic games all feature one level with pinball mechanics, and in some cases both bumpers and flippers. Consider: Sonic 1: Spring Yard Zone, Sonic 2: Casino Night Zone, Sonic 3: Carnival Night Zone, Sonic CD: Collision Chaos Zone.
Even stranger, Sonic got a spin-off game, Sonic Spinball that was a virtual pinball machine for the Sega Genesis. Not to mention that Sega already manufactured Pinball machines with other IP's...
But why was there never a physical Sonic Pinball game? I started imagining what it might be like if there was a 90's era Sonic pinball machine. Originally I only planned on modeling and producing a few Blender renders. I thought I might do some light animation and record a YouTube video explaining how the machine might play if it were real. As I made progress on my model, my friend asked me what game engine I was making this in. Well, I wasn't considering making this a game - but just for fun I Googled pinball assets for Unity. Sure enough, I found a pretty comprehensive Pinball Creator kit.
Slowly the idea of making this an actual playable pinball machine started shifting my goal for the project. I figured I could use the aforementioned Unity pinball kit for most of the physics and logic, then just drop my model in. Finally the excitement of making a playable table won. Instead of just rendering a couple images of the Sonic machine, I was going to put this into Unity. I wanted to push Unity graphics as hard as I could. I'm pretty decent working with shaders and the real time rendering pipeline, so I decided that my goal would be to make the machine look as good as I possibly could in Unity.
It wasn't that easy. The Pinball kit was amazing, but also, very limited in scope - I had to do quite a bit of hacking to get my machine to run on top of the pinball kit. At the end of the day, however, the kit was a good enough foundation to make this game possible.
Overall, I'm happy with this. It's not perfect. There are glitches. I'm happy with the modeling and graphics, but I know I could have pushed myself further. It all came down to my time budget. I see lots of ways I could improve the visuals and performance, but I need to draw a line somewhere. I've already spent too much time on this fan project. If I let myself run wild, I would just keep tweaking and polishing ;). Ultimately my goal was more than accomplished: not only did I model and render an awesome Sonic pinball machine - I also got it running and playable in Unity, while pushing Unity's graphics as hard as I could.
My only regret is that it's currently too slow for SteamVR. The pinball machine is only 500K tris, but something about Unity's shaders or something is making it bog down in VR. I really want it in VR, so I MAY continue working on it, but no promises though. I can't promise this fan project will run well on your Mac or PC - I have a pretty decent rig, and I expect most gaming oriented PC's should be able to run with full quality. If you're on a laptop with integrated graphics, you're mileage may vary.