Summer 2012: Thesis Update - Week 5
I have begun experimenting with both touch interface design and building a basic networking example.
There are some great open-source resources available for iOS developers through the Unity game engine. I have begun experimenting with Unity’s built in Standard Assets for Mobile as well as two gesture packages, TUIO and FingerGestures. Within Unity’s standard assets, I was able to set up a simple touch region for the FPS controller as well as parenting the camera to an object for movement. This separates the camera attributes from the player control attributes. In addition, I used the free iOS app Unity Remote 3 to quickly prototype and iterate on touch screen designs.
The TUIO and FingerGestures frameworks are excellent resources to get off the ground running with enabling touch to objects in your Unity scene. TUIO has some great resources for one-finger actions and Finger Gestures enables multi-touch swiping and gesture commands. I was able to utilize some of the built in scripts to create a simple touch-drag function onto a spherical object within the scene in an XY plane. I still need to tweak some of the code to enable touch-drag on all axes. It was also exciting to see that these packages have support for some camera control scripts (orbit, zoom, pan, etc), which will be of great help in the development of my thesis.
Over the coming week, I want to explore developing touch menu systems within Unity as well as exploring more touch script functionality for camera control.
I have spent some time looking into Unity’s networking architecture for both desktop and mobile. Before building for mobile, I wanted to run through the Unity Multiplayer Tutorial which has some great example code to build a basic networked game. Once again the goal of this is to be able to stream content directly to the iPad so that it can run on it’s native processor as opposed to using a desktop streaming app. I was able to get up an running a standalone desktop build running on two computers where blocks are able to be spawned and streamed between the two computers.
The next step is to begin testing this for mobile. I will be attempting to provision and build this example using Xcode and seeing if I can spawn these cubes wirelessly on the tablet. Some challenges that I expect to face are some bugs when I begin to implement the touch-class into this example. In addition, if I am able to get a standalone build on the iPad, I plan to implement the touch-drag script onto each spawned cube so that I can manipulate their position in real-time. Hopefully going through more of the iPhone multiplayer tutorial will aid in this exploration as well as checking out some of the backend code on some of Unity’s freely available multiplayer open-source games.