Bringing Parallax to SHIELD
Parallax is a first-person puzzle platformer which takes place between two overlapping dimensions. The player must weave back and forth between black and white, dodge deadly lasers, and manipulate gravity as they try to be in the right place, in the right dimension, and the right time.
With 32 challenging levels, Parallax will push your spatial reasoning skills to their limits.
What Went Right?
I was initially very skeptical about the SHIELD's performance. Although Parallax does not appear superficially to be graphically demanding, it uses some advanced rendering techniques which have caused slight performance hits on mid-range PCs in the past when settings are maxed. And here, I was given a steak-sized machine called the SHIELD. I was understandably worried. However, the SHIELD blew me away when it ran the game more smoothly than any computer I've tested Parallax on before.
When I had trouble with porting (and I frequently had trouble with porting), Mike and Dave from NVIDIA were always there to help me out. The QA team also helped me nail a lot of bugs.
It was challenging to get used to making builds for Android TV from the Unity engine. There is a complicated setup process which requires copying some XML from the Google Play Developer Console, and generating keys with which to sign my builds. After this, every time I open up Unity, I must enter two passwords, and then modify a version code and a version string, then fiddle with an XML file just to make a build. Having come from working with Steam, which does not require signed builds, and has automatic version tracking, this way of doing things took a bit of getting used to.
It was a challenge to get gamepad support for all the different kinds of gamepads, especially when I did not own some of them. The recommended Unity plugin did not work for me, and I ended up having to make some heavy modifications to NVIDIA's code sample in order to handle a lot of edge cases.
What Went Wrong
Some graphics effects mysteriously did not work or look the way they should on the SHIELD. For example, anti-aliasing crashed the game, so I had to change to using a postprocessing anti-aliasing effect. A blurring effect used on PC looked strangely blocky on the SHIELD, so it was disabled by default since it was not essential.
Google Play Game Services
It was very difficult to get cloud game saves and achievements to work properly. There are just enough small, easily-missed details such that it is pretty much impossible to get things right the first time. This would normally not be an issue, but the errors thrown by the Google Play Game Services libraries are often vague, or just plain wrong. Plus, it is not possible to reset an achievement through the game, which makes testing extremely difficult.