So You Want to Build a Snowman…But it is Summer

44
COPYRIGHT 2014 @ UNITY TECHNOLOGIES SO YOU WANT TO BUILD A SNOWMAN… But it’s summer.

Transcript of So You Want to Build a Snowman…But it is Summer

Page 1: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

SO YOU WANT TO BUILD A SNOWMAN…But it’s summer.

Page 2: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

COREY JOHNSONFIELD ENGINEER OF DOOM• Game industry for 10+ years

• Electronic Arts for 6.5, Unity for the rest

• Worked on game engines, tools, gameplay, UI, networking,

and services

• Credited in dozens of title but shipped Ultima Online:

Kingdom Reborn and Darkspore

• Loves games, soccer, and pop culture

Page 3: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

COREY JOHNSONFIELD ENGINEER OF DOOM• Game industry for 10+ years

• Electronic Arts for 6.5, Unity for the rest

• Worked on game engines, tools, gameplay, UI, networking,

and services

• Credited in dozens of title but shipped Ultima Online:

Kingdom Reborn and Darkspore

• Loves games, soccer, and pop culture

• Uses the power of love to help people

Page 4: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

OVERVIEW• Cross Platform?

• Golden Rule

• Input

• Aspect Ratio & Resolution

• Min Spec

• Performance

• Services

• Some Random Tips

Page 5: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

CROSS PLATFORM

Page 6: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

HOW BAD CAN IT BE?

Page 7: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

HOW BAD CAN IT BE?

Page 8: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

HOW BAD CAN IT BE?

• Radically different performance• Radically different form factors• Radically different input methods• Radically different monetization methods

Page 9: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

BUT FIRST!!!

Page 10: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

UNITY’S NOT SPECIALAT LEAST NOT IN THIS CASE

Page 11: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

UNITY’S NOT SPECIALAT LEAST NOT IN THIS CASE

Any technique you would use for any engine, even

your own, can be used in Unity

Page 12: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

UNITY’S NOT SPECIALAT LEAST NOT IN THIS CASE

Any technique you would use for any engine, even

your own, can be used in Unity

(probably)

Page 13: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

GOLDEN RULE

Page 14: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

COREY’S GOLDEN RULE

Page 15: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

COREY’S GOLDEN RULE

When it comes to designing an experience, design

specifically for your target platform

Page 16: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

INPUT

Page 17: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVER INPUT REFERENCE

Separate intent from man-machine interface

Page 18: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVERER INPUT REFERENCEpublic class ExampleClass : MonoBehaviour {

void Update() {if (Input.GetKey(

KeyCode.UpArrow))Jump();

}}

}

Page 19: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVERER INPUT REFERENCEpublic class ExampleClass : MonoBehaviour {

void Update() {if (Input.GetKey(

KeyCode.UpArrow))Jump();

}}

}

Page 20: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVER INPUT REFERENCE TOpublic class ExampleClass : MonoBehaviour {

void Update() {if (InputManager.GetIntent(Intents.Jump

))Jump();

}}

}

Page 21: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVER INPUT REFERENCE TOpublic class InputManager : MonoBehaviour {

void FixedUpdate() { if (Input.GetKey(

KeyCode.UpArrow))intents[Intents.Jump] =

true;}

}}

Page 22: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLEVER INPUT REFERENCE TOpublic class InputManager : MonoBehaviour {

void FixedUpdate() { if (IsGestureFired(“swipe”, data)

&& data.handId == 1)intents[Intents.Jump] =

true;}

}}

Page 23: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

ASPECT RATIO & RESOLUTION

Page 24: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

ASPECT RATIO

Design your layout system to handle change in aspect

ratio

Page 25: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

ASPECT RATIO

Page 26: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

RESOLUTION

Page 27: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

RESOLUTION

Use appropriate sprites for the screen resolution

Page 28: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

RESOLUTION

Page 29: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

RESOLUTION

What resolution should I develop in?

Page 30: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

MINIMUM SPECIFICATIONS

Page 31: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

MIN SPECS MATTER

Page 32: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

MIN SPECS MATTER

Don’t do all of your development on some über

Maschine

Page 33: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

PERFORMANCE

Page 34: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

GPU

Custom rendering requires custom ports for each

architecture

Page 35: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

MEMORY

Use as little as possible

Page 36: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

MEMORY

Page 37: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

PLUGINS

Trade off between performance and portability

Page 38: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

SERVICES

Page 39: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

ASSET STORE

Trade off between new functionality and portability

(maybe)

Page 40: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

CLOUD BUILD

Page 41: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIESCOPYRIGHT 2014 @ UNITY TECHNOLOGIES

RANDOM ADVICE

Page 42: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

LEAD WITH YOUR OFF FOOT

If you want to ship on multiple platforms

simultaneously, make your lead platform the most

complex

Page 43: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

GRASS IS ALWAYS GREENER

If you plan on shipping to different regions, plan for it

Page 44: So You Want to Build a Snowman…But it is Summer

COPYRIGHT 2014 @ UNITY TECHNOLOGIES

Questions?

Win a pro license: bit.ly/ibaustinCorey Johnson, Field Engineer of Doom

[email protected]