mobile game development in unity

43
Mobile Game Development Experience with Unity by @hakansaglam

Upload: hakan-saglam

Post on 06-Apr-2017

458 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Mobile Game Development in Unity

Mobile Game Development Experience with Unity

by @hakansaglam

Page 2: Mobile Game Development in Unity

Hakan Saglam

5 Years Old as Game Developer 15 Years Old as Sofware Developer 25 Years Old as Gamer

Page 3: Mobile Game Development in Unity

present2010

Largest Okey community in Turkey

Largest Game community in Turkey

Largest Spades community

in US

Top 15 Mobile Games

in US

350M+ Users

Downloaded

300K+ Concurrent

Users

Page 4: Mobile Game Development in Unity

2GAMES IN US

TOP GROSSING LISTS

PEOPLE PLAYING OUR GAMES

CONCURRENTLY

300K+

COUNTRIES WHERE OUR USERS RESIDE

150

15GAMES IN APP

STORES

350MINSTALLS 100

TEAM MEMBERS

Page 5: Mobile Game Development in Unity

AgendaWhy do we move to Unity?

Editor in Unity

Coding in Unity

Testing in Unity

Debugging in Unity

Profiling in Unity

Continuous Integration and Delivery with Unity

Page 6: Mobile Game Development in Unity

Why do we move to Unity?

Page 7: Mobile Game Development in Unity

HAXERuntime Performance

Existing Experience

Open Source

Code Reusability

Not Popular / No Community

Development Environment

Difficult Prototyping

Page 8: Mobile Game Development in Unity

Open Source

Runtime Performance

Optimized for 2D Games

Low Level Language

Development Environment

Long Learning Curve

COCOS 2D-X

Page 9: Mobile Game Development in Unity

Open Source

Strong Community

Development Environment

Immature Technology

Limited / No Support

RoboVM Stopped !!!

LibGDX with RoboVM

Page 10: Mobile Game Development in Unity

Strong Community

Whole Integrated Solution

Development Environment

Asset Store and Services

Limited Canvas Support

Not Designed for Team Work

Limited Source Code Access

Unity 3D

Page 11: Mobile Game Development in Unity

Editor in Unity

Page 12: Mobile Game Development in Unity

Main Windows

Page 13: Mobile Game Development in Unity

Customize Menu Items

Add New Windows

Custom Windows

Page 14: Mobile Game Development in Unity

Put Custom Information into Main Windows

Customize Main Windows

Page 15: Mobile Game Development in Unity

Coding in Unity

Page 16: Mobile Game Development in Unity

Awake OnEnable Start Update FixedUpdate LateUpdate OnGUI OnApplicationPause OnDisable OnDestroy

Event Functions

Page 17: Mobile Game Development in Unity

Strange IoC

Page 18: Mobile Game Development in Unity

Component Driven Architecture

Page 19: Mobile Game Development in Unity

Call Fade Animation directly

Call Fade Animation by a Coroutine

Coroutines

Page 20: Mobile Game Development in Unity

Screen Management

Page 21: Mobile Game Development in Unity

Testing in Unity

Page 22: Mobile Game Development in Unity

for Game Logic

not for View Components

Unit Tests

Page 23: Mobile Game Development in Unity

Integration Tests

Test player scenarios in game scene with real player actions real player moves real player logs

Page 24: Mobile Game Development in Unity

Editor Tests

Page 25: Mobile Game Development in Unity

Debugging in Unity

Page 26: Mobile Game Development in Unity

Mono Develop

don’t use MonoDevelop Debugger

just use Debug.Log(); function

Page 27: Mobile Game Development in Unity

Editor Debugging

Play / Pause Go Frame by Frame Automatic Reset

Debug.Break(); Make changes on the fly

Page 28: Mobile Game Development in Unity

Frame Debugger

Optimize and Batch your Draw Calls

Page 29: Mobile Game Development in Unity

Debug on Xcode

Debug on Device

Debug via adb logcat

Page 30: Mobile Game Development in Unity

Profiling in Unity

Page 31: Mobile Game Development in Unity

Sprite Sheets

Use Atlas files for better GPU Performance

Organize your scene hierarchy for less Draw Calls

Page 32: Mobile Game Development in Unity

Stats Window CPU Usage Profiler Rendering Profiler Memory Profiler Audio Profiler Physics Profiler GPU Profiler Low Level Memory Profiler

Unity Profiler

Page 33: Mobile Game Development in Unity

Shorten startup time

Optimize runtime performance

Optimize memory usage

Xcode Instruments

Page 34: Mobile Game Development in Unity

Continuous Integration with Unity

Page 35: Mobile Game Development in Unity

Native Plugins

C# Libraries

Gaming Libraries

Page 36: Mobile Game Development in Unity

Game Repositories

released released soon

Page 37: Mobile Game Development in Unity

Binary Builds

Deploy to

HockeyApp

Deploy to

Test Flight

Deploy to

Play Store

Page 38: Mobile Game Development in Unity

Unity Services

Page 39: Mobile Game Development in Unity

Ads Analytics Cloud Build Multiplayer Performance Reporting Everyplay Collaborate Hardware Stats

Cloud Services

Page 40: Mobile Game Development in Unity

Asset Store

DOTween UniWebView Log Viewer JSON .NET TextMesh Pro Best HTTP Console Enhanced Enhanced Scroller Stats Monitor

Page 41: Mobile Game Development in Unity

Source Code

Open Source Libraries

Unity Labs

Unity Engine Source Code Access

Page 42: Mobile Game Development in Unity

Nikola Tesla

“Our virtues and our failings are inseparable, like force and matter. When they separate, man

is no more.”

Page 43: Mobile Game Development in Unity

Our team is growing, and we want you to join uswww.peakgames.net/careers

THANK YOU@hakansaglam