Making console games in Unity Tomas Jakubauskas

Similar documents
Lesson 0 - Introduction to Playstation 3 programming

Mobile Operating Systems Lesson 05 Windows CE Part 1

Parental controls on Xbox 360, Xbox One, Nintendo Wii, PlayStation 3 and PlayStation 4

Determining Your MAC Address in Windows XP

Mayumi Sampei Beom Seok Chang Fukumi Watanabe Ashley Kim Elisa Yoshigoe Yoon Young Joo

Welcome to Corel VideoStudio Pro X5

XBMC Architecture Overview

DESIGN OF A TOUCHLESS USER INTERFACE. Author: Javier Onielfa Belenguer Director: Francisco José Abad Cerdá

Energy Consumption of New Generation Game Consoles - Key Findings

Florida 4-H Consumer Choices Study Topics. Student Guide. Video Game Systems. Introduction and Background

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

Microsoft Visual Studio 2010 Instructions For C Programs

INSTALLATION GUIDE ENTERPRISE DYNAMICS 9.0

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

COMMANDS 1 Overview... 1 Default Commands... 2 Creating a Script from a Command Document Revision History... 10

Beginning Android 4. Games Development. Mario Zechner. Robert Green

REDCENTRIC UNITY SOFTWARE MINIMUM REQUIREMENTS

Next Generation Natural User Interface with Kinect. Ben Lower Developer Community Manager Microsoft Corporation

Panasonic Self Help Guides

Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)

Gredler / Moravska / Wegendt. Case 17. Microsoft X-Box Live!

Digital Video Recorder

Quick Start Guide. GV-Redundant Server GV-Failover Server. 1 Introduction. Packing List

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Working with SQL Server Integration Services

CYCLOPE let s talk productivity

Eliminate Memory Errors and Improve Program Stability

Questions and Answers

Suricata IDS. What is it and how to enable it

Workshop on Android and Applications Development

Practical Android Projects Lucas Jordan Pieter Greyling

IDIS Solution Suite. Streaming Service. Software Manual. Powered by

L11 - New Techniques to Increase Efficiency with PanelView Plus 6 Applications Wil Mattheis Commercial Engineer

2020 Design Update Release Notes November 10, 2015

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Addendum DVR670 Installation and Operation manual AM18-Q0617

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Manjrasoft Market Oriented Cloud Computing Platform

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

Application. EDIUS and Intel s Sandy Bridge Technology

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

SESSION MUSIC PRODUCER The Make-Music-Now Vocal Recording Studio

1. Central Monitoring System Software

SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started.

USB 3.0 to HDMI/DVI Dual Display Adapter Installation Guide

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

Central Management System

Understanding the Performance of an X User Environment

WINDOWS PROCESSES AND SERVICES

Restraining Execution Environments

ROCK BAND 3 WIRELESS KEYBOARD:

Quick Start Guide. From setup to gameplay. Basic Setup. Configuring Your System. Using Game Discs IMPORTANT INFORMATION

INSTALLATION GUIDE. AXIS Camera Station

A little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer

INTERNAL USE ONLY (Set it to white if you do not need it)

GPU Architecture. Michael Doggett ATI

Windows Presentation Foundation: What, Why and When

The Future Of Animation Is Games

Dazzle. Digital Video Creator 100 User s Guide

Be sure to connect the USB cable from TonePort into your computer s USB port, and then proceed with the following steps

Important HP Media Center PC Updates

How To Balance Workload On Vantage

1. Central Monitoring System Software

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

[PACKTl. Flash Development for Android Cookbook. Flash, Flex, and AIR. Joseph Labrecque. Over 90 recipes to build exciting Android applications with

Video, film, and animation are all moving images that are recorded onto videotape,

Firmware Update Instruction Manual

Silk Test Testing Mobile Web Applications

Fiery E100 Color Server. Welcome

STB- 2. Installation and Operation Manual

APNT#1209 Using GP-Pro EX in Windows 7 XP Mode. Introduction. Prerequisites. Licensing and availability of XP Mode

DENON DJ Music Manager

IDIS Solution Suite. Backup Service. Software Manual. Powered by

TOP 5 Defects & Tips. page 1 / 11

Software Installation and Creating a New Company

Axis Technologies Computer Hardware and Electronics Portfolio Categories

Product specifications

Microsoft Office 2010 system requirements

Compressor Supreme Force Feedback User Manual

Wasabi 360 Ultra User Guide

Monitor Wall 4.0. Installation and Operating Manual

SAPPHIRE HD GB GDDR5 PCIE.

Features Reference. About Unified Communication System. Before Using This Machine. Starting a Meeting. What You Can Do During the Meeting

AXIS 211A Network Camera

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

XBOX Performances XNA. Part of the slide set taken from: Understanding XNA Framework Performance Shawn Hargreaves GameFest 2007

A. All equipment and materials used shall be standard components that are regularly manufactured and used in the manufacturer s system.

Wowza Media Systems provides all the pieces in the streaming puzzle, from capture to delivery, taking the complexity out of streaming live events.

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Dynamic Digital Depth (DDD) and Real-time 2D to 3D conversion on the ARM processor

DEPLOYING A VISUAL BASIC.NET APPLICATION

NetClient software user manual

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

Transcription:

Making console games in Unity Tomas Jakubauskas

Making console games in Unity History Getting started Development workflow Limitations and requirements New input methods Q&A

History Wii dev started in 2007, first game out in 2008 Xbox 360 dev started in 2010, first game out in 2011 Playstation 3 dev started in 2010, first game out in 2011 Unity is getting ready for next-gen!

Why develop for consoles? Xbox 360: over 66M sold o Over 18M Kinects sold o Over 40M Xbox Live subscribers Playstation 3: over 62M sold Nintendo Wii: over 95M sold Parallel market to mobiles, not dead yet

OK! Where do I start? Become a licensed developer o Complete a licensing agreement with platform holder o Complete a detailed NDA Xbox 360 - www.xbox.com/developers Playstation 3 - www.scedev.net Nintendo Wii www.warioworld.com

Hardware & SDKs Ordered online after becoming a licensed developer Xbox 360 and PS3 tools integrate with Visual Studio o Visual Studio Pro comes free with every Xbox 360 kit. Development and testing done over Ethernet o Easy to share hardware Can use Unity with testkits o Devkits needed for native plugin development

Unity licensing Console licences are per-title o Price varies depending on title-type: retail DVD, XBLA, PSN, FunLabs. Trial licences o Contact sales with proof that your studio is a licensed developer News and discussions in private mailing lists o Unity engineers o Other users of Unity for consoles Source-code licences available

Unity builds Console support comes as add-on packages o o Install over an existing copy of Unity Extended documentation and samples Workflow is the same o Build And Run Deployment options o Xbox 360 Copy to HDD (Ethernet) DVD emulation (USB) o Playstation 3 PC hosted (Ethernet) PSN Submission Blu-Ray Disk

Debugging Unity 3.5 o Native tools (PIX, XbPerfView, GPad) o Crash dumps (runtime symbols provided) o Script symbols generated o Explicit null checks o Built-in CPU profiler Next version o MonoDevelop support for Xbox360 (in QA now) o Built-in GPU profiler for Playstation 3

Can we ship the game now? Not yet There are limitations And specifics And requirements And even new possibilities!

Limitations? Nothing serious! Limited memory o 512MB unified on Xbox 360 and 256MB/256MB video/system on Playstation 3 o Devkits provide extended memory to help with the initial port o Native tools help in reducing texture memory (mipmap usage statistics) o Built-in profiler displays memory usage in various areas PowerPC CPU architecture o Scripts execute slower than on your beefy x86 desktop machine o Use built-in profiler to find bottlenecks

Specifics: Scripting Ahead-of-time (AOT) script compilation o Platform owners do not allow JIT compilation for security reasons o Limited support of generics and LINQ No duck-typing: o Wrong: var a = go.getcomponent<meshrender>(); o Right: var a : MeshRender = go.getcomponent<meshrender>(); Unhandled managed exceptions are not caught o Work in progress o Runs faster though Code stripping helps decrease memory footprint.net Marshalling allows to interface native code

Specifics: Native code access? Yes! o o o Xbox 360 DLL Access D3DDevice Playstation 3 PRX Access Sony SPURS Wii links directly to UnityWii library Implement rarely used features for your game o Also those that Unity doesn t expose yet Reuse existing C++ code base Extensive manual: www.mono-project.com/interop_with_native_libraries

Specifics: Graphics No fixed-function pipeline o Just write vertex and fragment programs o Avoid ShaderLab combiner effects Xbox 360 has one fixed resolution: 720p Playstation 3 supports SD and HD resolutions Hardware MSAA is not available o FXAA3 post-process effect gives similar results Optimised skinning o Xbox 360 on GPU o Playstation 3 on SPU

Specifics: Graphics (part 2) Video playback using native APIs o UnityEngine.X360VideoPlayer for WMV files o UnityEngine.PS3VideoPlayer for MPEG4/AVC/DivX files Editor supports graphics emulation o Find unsupported materials easily Multi-threaded rendering o Make use of those Xbox 360 cores

Specifics: Other No Mono threads on Playstation 3 Certain APIs not yet available o WWW for Xbox 360 will be ready in the next build o MovieTexture is replaced with native APIs Xbox 360 is a 4-user machine

Requirements: Title id Every game gets one Binds network services Xbox 360: o Game configuration (SPA) o _SpaConfig.cs o PartnerNET Playstation 3: o Trophy signature

Requirements: SPA - Stats At least one leaderboard Must be in active session to submit new stats o UnityEngine.X360Session Single-player mode too!

Requirements: SPA - Presence Broadcast player in-game status. o UnityEngine.X360Presence API.

Requirements: SPA - Achievements Achievements and gamer points o Award using UnityEngine.X360Achievements API Different rules for: o Retail titles o XBLA titles o Kinect Fun Lab titles

Requirements: Trophies (PS3) Signature key provided by Sony Packages are created using SDK tools o Award using UnityEngine.PS3TrophyUtility

Requirements: Other XBLA / PSN games must have a trial mode o DRM functionality in UnityEngine.PS3DRMUtility and UnityEngine.X360Core o Needs extra menu items to exit to the market place Technical certification requirement list is in the SDK o Unity handles as many TCRs as possible o Developers need to be aware of certain TCRs and work apropriately

So what are the new possibilities?

You guessed it - Input! Controllers Playstation 3 Move Xbox 360 Kinect o Skeleton tracking o Camera streams

Controllers The usual story o Xbox 360 pad o PS3 Sixaxis o UnityEngine.PS3Pad Sensor filtering Vibration InputManager UnityEngine.Input API

Playstation 3 Move Fully supported o Including Eye Toy 2 camera o Accessed via UnityEngine.PS3Move o Can access camera feed for calibration

Johann Sebastian Joust Innovation Award o 12th Annual Game Developers Choice Awards o [Video]

Xbox 360 Kinect Skeleton tracking Camera streams Microphone Speech recognition Fitness API Editor integration

Kinect Skeleton Tracking Hand refinement Smoothing Biometric identification Full API exposed o UnityEngine.KinectSkeleton o UnityEngine.KinectIdentity

Kinect Fun Labs: Air Band First Unity Xbox 360 title Features o Skeleton tracking o Video post-processing and super-composition o Video recording and Youtube publishing o [Video]

Kinect Camera Streams Full API exposed o UnityEngine. KinectCamera o UnityEngine. KinectImageStream

Kinect Fun Labs: Mutation Station Another Unity Xbox 360 title Features o Camera streams o Depth-stream based video effects o [Video]

Kinect Editor Integration Skeleton tracking o Prototype gesture code instantly Camera feeds o Prototype video effects instantly

Other Kinect features Easy script access o o o Microphone void MyAudioDataHandler(float[] data) { } KinectAudio.OnMicData = MyAudioDataHandler; Speech recognition void MyPhraseHandler(string phrase, float confidence) { } KinectSpeech.OnRecognitionPhrase = MyPhraseHandler; Fitness KinectFitness.GetFitnessLevels()

Hey, did I forget Nintendo Wii? Nope, but Unity 3.5 is the last version with Wii support o That is why we give it less attention However Wii support in 3.5 is mature o o DVD and WiiWare titles supported LotCheck requirements handled (Strap reminder, Home button, disconnection dialog, disk error handling, etc.) Some difference from other consoles o o Only fixed-function JIT enabled

Final notes Less restrictive release schedule for console runtime We can profile your game prior to submission We take your input on what to improve o And what APIs to expose o And what your next game will require

Q&A