Beginning Raspberry Pi
A few updates on my personal progress.
One of my recent pushes has been to update my game-related website. I've been neglecting it for quite some time, and really wanted to start updating entries on it more regularly. I'm still working a day job, so my time is limited. But I have been able to switch my site over to Wordpress, and I've begun digging into Wordpress development in order to customize it properly. I come from a web development background, so I can't possibly just slap someone else's template on the site. I've been learning how to develop and customize Wordpress templates on my own. It's been going a little slowly, but progress has definitely been made. I figured out the built-in color editing system for Wordpress, and added my own custom color entries for styling the site. No links yet, it still looks like crap.
I also recently picked up a Raspberry Pi 3. I found out that in the last few months there have been some serious advances in custom builds of Android being ported to the Raspberry Pi. This was very exciting for me. I've been dreaming for some time about using a micro-computer to design and build a custom mini-arcade. The Raspberry Pi has always been a decent little mini-computer, but it's always had very limited options in terms of game engine support. My favorite engine, Unity, doesn't run on the ARM-powered Raspbian OS. But it DOES run on Android. With a GPU-capable version of Android TV installed on the Raspberry Pi, it is possible to get Unity-developed games running on the platform.
Over the past week, I've been performing tests and tweaking settings in order to see how viable this micro-computer solution is. Getting a Unity project running on the Android-TV powered Pi wasn't nearly as hard as I thought it would be. The Android TV installation was relatively straight-forward. Honestly, the biggest hurdle was getting the side-loading working to install the APK on the Pi. But I got it playing nice in the end. The real issue is performance with the hardware I'm working with. The Raspberry Pi 3 is a decent micro-computer, but it's no beast. And while Unity is one of the leaner engines out there, it does have a bit of overhead. So far, with a basic, largely empty Unity scene you can expect a steady 30 FPS at 1080p, and a steady 60 FPS at 720p. My own plans don't require very high resolutions. Last night I dropped the resolution down to 800 x 600 in order to squeeze even more performance out of it. Resolution settings can be a bit tricky to configure on Android devices, as they are usually designed for static screen assignment.
I was also able to find some very nice arcade control options on Amazon. I used to order my arcade control hardware from HAPP. (one of the more standard options in authentic arcade controls) But they can be a little pricey. I ran across some Amazon options that are much more affordable, decent quality, and come with a USB wiring board. Only $20 for a complete one-player set, including plenty of buttons and a steel-shaft joystick. These controls are the same joystick and buttons that are commonly incorporated into the Japanese-style arcade fight-pads. Having the USB wiring board is one of the big advantages. A USB rig is one of the easiest ways to incorporate these controls. You could possibly wire the setup directly to the Pi using the GPIO pins, but you would have to also code a custom listening script to retrieve values from it.