OUYA Game Development by Example

More Information
  • Control camera functions, lighting, and appearance in a 3D game engine
  • Script gameplay in Unity3D in the C# programming language
  • Use the OUYA API to process input from controllers
  • Create longer games by coding, saving, and loading systems
  • Configure your computer to deploy code directly to the OUYA console
  • Improve the appearance of games with materials and textures
  • Implement in-app purchases in the game in order to monetize the game in a more effective manner

The OUYA console and development kit gives you the power to publish video games for the players, creating a console marketplace of the gamers, for the gamers, and by the gamers. Using the OUYA developer kit and the Unity3D game engine, even beginners with a captivating game idea can bring it to life with a hint of imagination.

OUYA Game Development by Example uses a series of feature-based, step-by-step tutorials that teach beginners how to integrate essential elements into a game engine and then combine them to form a polished gaming experience.

  • Create enthralling and unique games for the OUYA console
  • Learn basic scripting methods in a three-dimensional game engine
  • Polish and package your games for publishing on the OUYA marketplace
Page Count 268
Course Length 8 hours 2 minutes
ISBN 9781849697224
Date Of Publication 19 May 2014
Installing the game engine
Time for action – setting up Unity
Downloading and configuring additional packages
Time for action – downloading Java, the Android SDK, and the ODK
Modifying the PATH variable
Time for action – editing PATH on Mac OS
Time for action – editing PATH on Windows
Time for action – installing Android packages
Configuring the USB connection
Time for action – configuring the USB driver on Windows
Time for action – exporting OUYA packages from Unity
Time for action – importing packages into a new workspace
Creating a 3D text prototype
Time for action – manipulating the scene
Time for action – creating and scripting 3D text
Creating a custom function
Time for action – writing a function
Time for action – capturing data with return values
Time for action – controlling functions with parameters
Making our scripts interactive
Time for action – adding keyboard interaction to scripts
Deploying our code on OUYA
Time for action – running your first test on OUYA
Creating an interactive marble prototype
Time for action – setting the scene
Time for action – importing a Unity input script
Time for action – turning input into movement
Time for action – movement with the OUYA SDK
Adding additional functionality to our marble
Time for action – adding button features
Time for action – improving the camera
Completing our game
Time for action – adding a goal zone
Using the touchpad to interact with buttons
Time for action – creating a cannon prefab
Time for action – creating an interactive button
Time for action – adding an impulse force to a rigidbody component
Using cursor data to add touch input to games
Time for action – reading mouse position in Unity
Time for action – creating a vector from cursor movement
Incorporating touch data into your mechanics
Time for action – hiding the cursor on the screen
Time for action – creating a target for the cannon
Creating collectibles to save
Time for action – creating a basic collectible
Time for action – scripting the collectible
Time for action – accessing the scripts on other objects
Saving data with the Unity engine
Time for action – saving data with PlayerPrefs
Time for action – setting up a GUI Text object
Time for action – counting cannonballs
Time for action – checking high scores in a new scene
Time for action – displaying high score values
Saving data with the OUYA API
The different kinds of in-app purchases
Setting up a product on the OUYA developer portal
Time for action – preparing your game for in-app purchasing
Coding in-app purchasing in your game
Time for action – creating a purchase screen
Time for action – creating your first purchase function
Time for action – saving and loading successful purchases
Time for action – reflecting unlocked functionality in games
Adding polish with Unity Asset Store packages
Time for action – adding explosions to your cannonballs
Pricing your in-app purchases
Picking a monetization model
Meeting the OUYA content guidelines
Time for action – containing game elements within the safe zone
Time for action – creating icons for your game
Polishing Unity projects in depth
Time for action – creating a title screen
Time for action – creating a loss screen
Time for action – creating a tutorial scene
Time for action – linking your tutorial to your game
Creating a following camera in Unity
Time for action – creating a following third-person camera
Time for action – adding audio to your game
Packaging your project for submission
Time for action – creating your game on the developer portal
Expanding your skills with advanced challenges
Time for action – creating a custom font with a text shader
Time for action – creating a fire effect with a particle shader
Time for action – saving the player's position
Time for action – creating a reusable GUI Skin
Time for action – making an automatically scaling GUI texture
Time for action – adding realism to your scene with lightmapping
Time for action – applying an ice Physics Material
Popular game development methodologies
Basic design patterns for larger code projects
Getting started with version control
Time for action – creating a BitBucket repository
Time for action – preparing Unity for version control
Time for action – making your first commit and push
Finding your own answers to questions online


Jack Donovan

Jack Donovan is a 24-year-old software engineer living in Brooklyn, New York. He graduated from Champlain College in Burlington, Vermont with a BS in game programming and soon after joined IrisVR, a startup founded in Burlington to create oneclick software for architects to visualize models in virtual reality. IrisVR moved to New York City after being accepted into the startup incubator program Techstars and has since moved to an independent office in NoHo, where Jack continues to work.

Jack also wrote OUYA Game Development By Example, a book focused on the basics of developing games for the Android-powered OUYA console. Both books use the Unity3D engine for development, which Jack has been using to develop games and software in since 2010.