With apologies to KG...


I'd dipped a toe in Unity development during the brief time I owned a sort-of-capable MacBook  in 2015 (it was a 2011 model I expanded to the full 4GB). Had I known about itch.io, I might have succeeded in releasing "Duckin' A!" (that eventually got redeveloped in AndroidStudio and released in June of 2019) just before its touchpad broke through the casing.

So, to about two months ago, when I got involved with a Phillg Game Mechanics Game Jam (http://www.phillygamemechanics.com/ ).

The  challenge:

Given a two-month timeframe, create a game and get it published.

The Equipment:

Acer Chromebook 14 (model CB3-431, codenamed "EDGAR").  4GB RAM, Celeron N3160 CPU(four cores) at 1.6 GHz, 32 GB eMMC storage. GPU is apparently "Intel HD Graphics 400" physically within the CPU.

Operating System was GalliumOS v3.0, a derivative of Ubuntu Linux optimized for Chromebooks

Blender 2.79 - an open-source modeling and animation tool for which Unity played well with.

Unity 2019 - Linux native rather than in Windows emulation. At the time, I anticipated collaborators using the longer-established Mac/Windows versions of Unity - that may say something about my notion of "how the cool kids do it".

The Adventure:

The basic Unity installation (for creating a Mac/Windows/Linux release) required 5.6 GB of disk space - some of which may have been for working area in the course of decompression. Bringing in the HTML5 extension required another 1 GB, while the facilities to build for Android demanded  another 4.8 GB.

Unity can import models and textures directly from Blender. Maintaining orientation - Blender natively works with the Z axis vertical rather than the Y axis - requires checking the "Preserve Hierarchy" box when importing.

"Dude, where's my shadows and textures?"
Through the adventures of getting from proof of concept to a viable product, I noticed that Unity's rendering engine gave no shadows, despite per-GameObject settings to do so. The issue lay in my use of a beta vesion of Unity. Upgrading to the 2019.2.0f1 actual release version got me my hoverpad shadows.

Another point of concern was the need to make progress down a roadway obvious. Interestingly, I'd made a typical 2D texture from a photo of the asphalt just outside my home, then tried to attach it to the roadway units in both Blender and Unity, getting only the ambiguous solid gray. Thankfully, a Philly Game Mechanics regular clued me in  on the need for UV mapping on models. It seems that the maintainers of Blender came up a far less disturbing-to-look-at process for UV unwrapping by version 2.79.

I intended to publish to Android via the Google Play Store, but ran into difficulties:

  • Unity's Android extension lacked the SDK Manager and its containing "tools" folder, so I had to bring that in from Google's Android SDK files.
  • Unity could not seem to build to a test device without hanging, seemingly on the versions of the Android SDK and the OpenJDK that came with Unity's Android extension
  • Skipping the build, but leaving the "Target Platform" set to "Android", resulted in Unity's launching the Android Debugging Bridge AND application hang in response to a "Quit" operation.

In order to publish, and knowing that both Unity and itch.io support WebGL (HTML5), I ended up launching here on itch.io as an HTML5 app

What's it all mean?
Unity for Linux is a potentially powerful development tool, and plays nicely with Linux-native asset editors. However, it requires an unfathomable amount of disk space, and was failure-prone in building for Android. While for the present, those are dealbreakers, versions later than 2019.2.0f1 may correct them.

Leave a comment

Log in with itch.io to leave a comment.