Book Image

OUYA Game Development by Example

By : John Donovan
Book Image

OUYA Game Development by Example

By: John Donovan

Overview of this book

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.
Table of Contents (18 chapters)
OUYA Game Development by Example Beginner's Guide
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • Acceleration / Time for action – adding an impulse force to a rigidbody component
  • acceleration variable / Time for action – turning input into movement
  • adb devices command / Time for action – containing game elements within the safe zone
  • adb kill-server command / Time for action – containing game elements within the safe zone
  • Add Component button / Time for action – turning input into movement
  • Add Current button / Time for action – adding a goal zone
  • AddForce function / Time for action – turning input into movement
  • additional functionalities
    • button features, adding / Time for action – adding button features, What just happened?
    • camera, improving / Time for action – improving the camera
  • ADT bundle
    • downloading / Time for action – downloading Java, the Android SDK, and the ODK
  • Agile Manifesto / The Agile methodology
  • Agile methodology
    • about / The Agile methodology
  • Android NDK package / What just happened?
  • Android packages
    • installing / Time for action – installing Android packages
  • Android SDK
    • downloading / Time for action – downloading Java, the Android SDK, and the ODK
    • packages, installing with / Installing packages with the Android SDK
  • Android SDK package / What just happened?
  • Application.LoadLevel function / What just happened?, Time for action – saving the player's position
  • Area Light / Time for action – manipulating the scene
  • audio
    • adding, to game / Time for action – adding audio to your game
  • Audio Source component / Time for action – adding audio to your game

B

  • backlog / The Scrum methodology
  • Bake Scene button / Time for action – adding realism to your scene with lightmapping
  • baking / Time for action – adding realism to your scene with lightmapping
  • BitBucket repository
    • creating / Time for action – creating a BitBucket repository, What just happened?
  • Bouncy material / Have a go hero – playing with other Physics Materials
  • Build & Run option / Time for action – containing game elements within the safe zone
  • button features
    • adding / Time for action – adding button features, What just happened?
  • buttons
    • interacting with, touchpad used / Using the touchpad to interact with buttons
    • interactive button, creating / Time for action – creating an interactive button, What just happened?

C

  • camera
    • improving / Time for action – improving the camera
    • rotation controls, adding / Have a go hero – add rotation controls to your camera
  • Canabalt
    • features / Playing the OUYA
  • CannonballPrefab field / Time for action – creating an interactive button
  • cannonball prototype
    • creating / Creating the cannonball prototype
  • cannonballs
    • counting / Time for action – counting cannonballs
    • explosions, adding / Time for action – adding explosions to your cannonballs
  • cannon prefab
    • creating / Time for action – creating a cannon prefab
    • target, creating for / Time for action – creating a target for the cannon
  • CollectCoin function / Time for action – accessing the scripts on other objects
  • collectibles
    • creating / Creating collectibles to save, Time for action – creating a basic collectible
    • scripting / Time for action – scripting the collectible, What just happened?
  • collider property / Time for action – adding a goal zone
  • ColorChanger script / Time for action – writing a function
  • Command pattern
    • about / The Command pattern
    • URL / Have a go hero – implement one of the preceding patterns
  • console
    • setting up / Setting up the console
  • consumables
    • about / Consumables
  • CreateComplexObject function / The Factory pattern
  • cursor
    • on screen, hiding / Time for action – hiding the cursor on the screen
  • custom font
    • creating, with text shader / Time for action – creating a custom font with a text shader, What just happened?

D

  • 3D text
    • creating / Time for action – creating and scripting 3D text
    • scripting / Time for action – creating and scripting 3D text
  • 3D text prototype
    • creating / Creating a 3D text prototype
  • data
    • capturing, with return values / Time for action – capturing data with return values
    • saving, with Unity engine / Saving data with the Unity engine
    • saving, with PlayerPrefs / Time for action – saving data with PlayerPrefs
    • saving, with OUYA API / Saving data with the OUYA API
  • debug text / What just happened?
  • delta / Time for action – creating a vector from cursor movement
  • developer portal
    • game, creating / Time for action – creating your game on the developer portal
  • Development Team, Scrum / The Scrum methodology
  • Directional Light / Time for action – manipulating the scene
  • Discover button / Time for action – installing your first game
  • DOWNLOAD button / Time for action – installing your first game
  • Download ZIP button / Time for action – importing a Unity input script

E

  • early return / Time for action – creating a vector from cursor movement
  • entitlements
    • about / Entitlements
  • explosions
    • adding, to cannonballs / Time for action – adding explosions to your cannonballs, What just happened?

F

  • Factory pattern
    • about / The Factory pattern
    • URL / Have a go hero – implement one of the preceding patterns
  • FireCannon function / Time for action – adding an impulse force to a rigidbody component, Time for action – counting cannonballs
  • fire effect
    • creating, with particle shader / Time for action – creating a fire effect with a particle shader, What just happened?
  • first game
    • installing / Time for action – installing your first game, What just happened?
  • following camera
    • creating, in Unity / Creating a following camera in Unity
  • following third-person camera
    • creating / Time for action – creating a following third-person camera, What just happened?
  • ForceMode option / Time for action – adding an impulse force to a rigidbody component
  • Free-to-play game / Picking a monetization model
  • function
    • writing / Time for action – writing a function
    • controlling, with parameters / Time for action – controlling functions with parameters
  • function overloading / Time for action – creating a vector from cursor movement
  • FX shader / Working with shaders in depth

G

  • game
    • goal zone, adding / Time for action – adding a goal zone
    • icons, creating for / Time for action – creating icons for your game
    • tutorial, linking to / Time for action – linking your tutorial to your game
    • audio, adding / Time for action – adding audio to your game
    • creating, on developer portal / Time for action – creating your game on the developer portal
  • game engine
    • installing / Installing the game engine, Time for action – setting up Unity, What just happened?
  • game flow
    • creating / Creating your game flow
  • GameObject.FindGameObjectsWithTag function / The Singleton pattern
  • GameObject variable / Time for action – adding an impulse force to a rigidbody component
  • games
    • displaying / Displaying games
  • GetAxis function / Time for action – turning input into movement
  • GetKey/GetButton function / Adding additional functionality to our marble
  • git / Time for action – creating a BitBucket repository
  • git add filename command / Time for action – making your first commit and push
  • git checkout -- filename command / Time for action – making your first commit and push
  • goal zone
    • adding / Time for action – adding a goal zone
  • Grab tool
    • about / Time for action – setting the scene
  • Graphical User Interface (GUI) / Time for action – creating an interactive button
  • GUI.Button function / Time for action – creating an interactive button
  • GUI scripting guide
    • URL / What just happened?
  • GUI shader / Working with shaders in depth
  • GUI Text object
    • setting up / Time for action – setting up a GUI Text object
    / Time for action – containing game elements within the safe zone, Time for action – creating a title screen
  • GUI texture
    • automatically scaling GUI texture, creating / Time for action – making an automatically scaling GUI texture, What just happened?
  • GUI Texture object / Time for action – creating a title screen

H

  • HideCursor function / Time for action – hiding the cursor on the screen
  • High-Definition Multimedia Interface (HDMI) / Time for action – containing game elements within the safe zone
  • high scores
    • in new scene, checking / Time for action – checking high scores in a new scene
    • values, displaying / Time for action – displaying high score values, What just happened?
    • reset button, adding to list / Have a go hero – adding a reset button to your high score list

I

  • Ice material / Have a go hero – playing with other Physics Materials
  • ice Physics Material
    • applying / Time for action – applying an ice Physics Material
  • icons
    • creating, for game / Time for action – creating icons for your game
  • Impulse / Time for action – adding an impulse force to a rigidbody component
  • impulse force
    • adding, to rigidbody / Time for action – adding an impulse force to a rigidbody component
  • in-app purchases
    • about / The different kinds of in-app purchases
    • entitlements / Entitlements
    • consumables / Consumables
    • product, setting up on OUYA developer portal / Setting up a product on the OUYA developer portal
    • game, preparing for / Time for action – preparing your game for in-app purchasing
    • purchase screen, creating / Time for action – creating a purchase screen
    • first purchase function, creating / Time for action – creating your first purchase function
    • successful purchases, saving / Time for action – saving and loading successful purchases
    • successful purchases, loading / Time for action – saving and loading successful purchases
    • unlocked functionality, reflecting / Time for action – reflecting unlocked functionality in games, What just happened?
    • pricing / Pricing your in-app purchases, Setting the price of your full game
    • monetization model, picking / Picking a monetization model
  • inheritance keyword / Time for action – creating and scripting 3D text
  • input library
    • using / Time for action – turning input into movement
  • installation
    • game engine / Installing the game engine
    • Unity / Time for action – setting up Unity
  • Instantiate function / Time for action – adding an impulse force to a rigidbody component
  • interactive button
    • creating / Time for action – creating an interactive button
  • interactive marble prototype
    • creating / Creating an interactive marble prototype
    • scene, setting / Time for action – setting the scene, What just happened?
    • Unity input script, importing / Time for action – importing a Unity input script
    • input library, using / Time for action – turning input into movement
    • movement control, with OUYA SDK / Time for action – movement with the OUYA SDK, What just happened?
  • Internet settings
    • configuring / Networking
  • isSwiping / Time for action – creating a vector from cursor movement

J

  • Java
    • downloading / Time for action – downloading Java, the Android SDK, and the ODK
  • Java Development Kit (JDK) / Time for action – downloading Java, the Android SDK, and the ODK
  • Java JDK package / What just happened?
  • Java Runtime Engine (JRE) / Time for action – downloading Java, the Android SDK, and the ODK
  • JavaShowCursor function / What just happened?

K

  • keyboard interaction
    • adding, to scripts / Time for action – adding keyboard interaction to scripts

L

  • lightmapping
    • used, for adding realism to scene / Time for action – adding realism to your scene with lightmapping, What just happened?
  • Light Probes
    • URL / Have a go hero – experiment with Light Probes in Unity Pro
  • LookAt function / Time for action – creating a following third-person camera
  • loss screen
    • creating / Time for action – creating a loss screen

M

  • Mac OS
    • PATH variable, editing on / Time for action – editing PATH on Mac OS
  • Marble object / Time for action – creating a tutorial scene
  • materials / Have a go hero – make your prototype stand out with materials
  • Metal material / Have a go hero – playing with other Physics Materials
  • mkdir command / Time for action – creating a BitBucket repository
  • mobile shader / Working with shaders in depth
  • MonoBehavior keyword / Time for action – creating and scripting 3D text
  • mouse position
    • reading / Time for action – reading mouse position in Unity
  • movement control
    • with OUYA SDK / Time for action – movement with the OUYA SDK, What just happened?
  • MoveObject function / Time for action – capturing data with return values
  • moveVector variable / Time for action – turning input into movement, Time for action – movement with the OUYA SDK
  • multiple frames
    • touch input capturing over / Have a go hero – capturing touch input over multiple frames

N

  • nature shader / Working with shaders in depth

O

  • Object-oriented programming (OOP) / Time for action – writing a function
  • ObjectMover script / Time for action – writing a function
  • ODK
    • downloading / Time for action – downloading Java, the Android SDK, and the ODK
  • OnCollisionEnter function / Time for action – adding a goal zone
  • OnGUI function / Time for action – creating an interactive button, Time for action – creating a reusable GUI Skin
  • OnTriggerEnter function / Time for action – scripting the collectible, Time for action – adding audio to your game
  • OUYA
    • first game, installing / Time for action – installing your first game, What just happened?
    • playing / Playing the OUYA
    • first test, running / Time for action – running your first test on OUYA, What just happened?
  • OUYA API
    • data, saving with / Saving data with the OUYA API
  • OUYA content guidelines
    • about / Meeting the OUYA content guidelines
  • OUYA controller
    • touch controls / Touch controls
  • OUYA Development Kit / Time for action – downloading Java, the Android SDK, and the ODK
  • OUYA Forums
    • about / OUYA Forums
  • OuyaInput controller framework
    • URL / Time for action – importing a Unity input script
  • OUYA ODK
    • movement control, using with / Time for action – movement with the OUYA SDK, What just happened?
  • Ouya ODK package / What just happened?
  • OUYA packages
    • exporting from Unity / Time for action – exporting OUYA packages from Unity
  • OuyaPurchaseOnSuccess function / Time for action – creating your first purchase function
  • OUYA touchpad cursor / What just happened?
  • Overscan / Time for action – containing game elements within the safe zone
  • own camera
    • creating / Have a go hero – creating your own camera

P

  • packages
    • installing / Downloading and configuring additional packages, Time for action – downloading Java, the Android SDK, and the ODK, What just happened?
    • installing, with Android SDK / Installing packages with the Android SDK
    • importing, into new workspace / Time for action – importing packages into a new workspace, What just happened?
    • Java JDK / What just happened?
    • Android SDK / What just happened?
    • Ouya ODK / What just happened?
    • Android NDK / What just happened?
  • particle shader
    • fire effect, creating with / Time for action – creating a fire effect with a particle shader, What just happened?
  • particles shader / Working with shaders in depth
  • Particle System object / Time for action – creating a fire effect with a particle shader
  • PATH variable
    • modifying / Modifying the PATH variable
    • editing, on Mac OS / Time for action – editing PATH on Mac OS
    • editing, on Windows / Time for action – editing PATH on Windows
  • paygate model / Picking a monetization model
  • Physics Materials
    • playing with / Have a go hero – playing with other Physics Materials
    • creating / Have a go hero – making Physics Materials react realistically
  • Pixel Inset property / Time for action – creating a title screen
  • PlayerPrefs
    • data, saving with / Time for action – saving data with PlayerPrefs
  • players position
    • saving / Time for action – saving the player's position
  • PLAY NOW button / Time for action – installing your first game
  • Point Light / Time for action – manipulating the scene
  • prefab
    • about / Time for action – setting the scene
  • print function / Time for action – adding keyboard interaction to scripts
  • product
    • setting up, on OUYA developer portal / Setting up a product on the OUYA developer portal
  • Product Owner, Scrum / The Scrum methodology
  • project
    • packaging, for submission / Packaging your project for submission
  • public keyword / Time for action – creating and scripting 3D text

R

  • reflective shader / Working with shaders in depth
  • RenderFX shader / Working with shaders in depth
  • reset button
    • adding, to high score list / Have a go hero – adding a reset button to your high score list
  • reusable GUI Skin
    • creating / Time for action – creating a reusable GUI Skin, What just happened?
  • rigidbody
    • impulse force, adding / Time for action – adding an impulse force to a rigidbody component, What just happened?
  • Rotate tool
    • about / Time for action – setting the scene
  • rotation controls
    • adding, to camera / Have a go hero – add rotation controls to your camera
  • Rubber material / Have a go hero – playing with other Physics Materials

S

  • save data
    • using, in multiple scenes / Using save data in multiple scenes
  • Scale tool
    • about / Time for action – setting the scene
  • scene
    • manipulating / Time for action – manipulating the scene
    • setting / Time for action – setting the scene, What just happened?
  • scenes
    • lighting / Lighting your scenes perfectly
    • realism adding, with lightmapping / Time for action – adding realism to your scene with lightmapping, What just happened?
  • Scene window / Time for action – setting up Unity
  • scripts
    • keyboard interaction, adding / Time for action – adding keyboard interaction to scripts
    • on other objects, accessing / Time for action – accessing the scripts on other objects, What just happened?
  • Scrum
    • about / The Scrum methodology
    • Product Owner / The Scrum methodology
    • Master / The Scrum methodology
    • Development Team / The Scrum methodology
  • Scrum Master / The Scrum methodology
  • Self-Illumin shader / Working with shaders in depth
  • Self space / Time for action – creating a following third-person camera
  • ShaderLab documentation
    • URL / What just happened?
  • shaders
    • about / Working with shaders in depth
    • FX shader / Working with shaders in depth
    • GUI shader / Working with shaders in depth
    • mobile shader / Working with shaders in depth
    • nature shader / Working with shaders in depth
    • particles shader / Working with shaders in depth
    • reflective shader / Working with shaders in depth
    • RenderFX shader / Working with shaders in depth
    • Self-Illumin shader / Working with shaders in depth
    • sprites shader / Working with shaders in depth
    • Transparent shader / Working with shaders in depth
    • Unlit shader / Working with shaders in depth
  • Singleton pattern
    • about / The Singleton pattern
    • URL / Have a go hero – implement one of the preceding patterns
  • speed variable / Time for action – turning input into movement
  • Spotlight / Time for action – manipulating the scene
  • sprites shader / Working with shaders in depth
  • Stack Overflow
    • about / Stack Overflow
  • Start function / Time for action – creating and scripting 3D text, Time for action – improving the camera, Time for action – displaying high score values
  • static functions / Time for action – counting cannonballs

T

  • target
    • creating, for cannon / Time for action – creating a target for the cannon, What just happened?
  • Text Color property / Time for action – creating a custom font with a text shader
  • text shader
    • custom font, creating with / Time for action – creating a custom font with a text shader, What just happened?
  • Text Shader material / Time for action – creating a custom font with a text shader
  • ThirdPersonCamera script / Time for action – creating a following third-person camera
  • title screen
    • creating / Time for action – creating a title screen
  • touch controls / Touch controls
  • touch data
    • incorporating, into machines / Incorporating touch data into your mechanics
  • touch input
    • capturing, over multiple frames / Have a go hero – capturing touch input over multiple frames
  • touchpad
    • using, to interact with buttons / Using the touchpad to interact with buttons
  • transform.forward property / Time for action – creating a following third-person camera
  • transform.forward vector / Have a go hero – add rotation controls to your camera
  • transform property / Time for action – scripting the collectible
  • Translate function / Time for action – capturing data with return values
  • Translate tool
    • about / Time for action – setting the scene
  • Transparent shader / Working with shaders in depth
  • tutorial
    • scene, creating / Time for action – creating a tutorial scene
    • linking, to game / Time for action – linking your tutorial to your game, What just happened?
  • typecasting / Time for action – adding an impulse force to a rigidbody component

U

  • Unity
    • setting up / Time for action – setting up Unity
    • OUYA packages, exporting from / Time for action – exporting OUYA packages from Unity
    • mouse position, reading / Time for action – reading mouse position in Unity
    • preparing, for version control / Time for action – preparing Unity for version control
  • Unity Asset Store packages
    • polish, adding with / Adding polish with Unity Asset Store packages, Time for action – adding explosions to your cannonballs
  • Unity engine
    • data, saving with / Saving data with the Unity engine
  • Unity Forums
    • about / Unity Forums
  • Unity input script
    • importing / Time for action – importing a Unity input script
  • Unity projects
    • polishing, in depth / Polishing Unity projects in depth
  • Unity Submission Checklist
    • following / Following the Unity Submission Checklist
  • Universal Serial Bus (USB) cable / Time for action – containing game elements within the safe zone
  • Unlit shader / Working with shaders in depth
  • unlocked functionality
    • reflecting / Time for action – reflecting unlocked functionality in games
  • Update function / Time for action – creating and scripting 3D text, Time for action – turning input into movement, Time for action – movement with the OUYA SDK, Time for action – reading mouse position in Unity, Time for action – creating a following third-person camera
  • UpdateRotation function / Time for action – creating a following third-person camera, Have a go hero – add rotation controls to your camera
  • USB connection
    • configuring / Configuring the USB connection
  • USB driver
    • configuring, on Windows / Time for action – configuring the USB driver on Windows

V

  • vector
    • creating, from cursor movement / Time for action – creating a vector from cursor movement, What just happened?
  • Vector3 / Time for action – turning input into movement
  • VelocityCharge / Time for action – adding an impulse force to a rigidbody component
  • version control
    • about / Getting started with version control
    • Unity, preparing for / Time for action – preparing Unity for version control

W

  • Waterfall model
    • about / The Waterfall model
  • Windows
    • PATH variable, editing on / Time for action – editing PATH on Windows
    • USB driver, configuring on / Time for action – configuring the USB driver on Windows, What just happened?
  • Wood material / Have a go hero – playing with other Physics Materials
  • World space / Time for action – creating a following third-person camera