Date post: | 14-Jun-2015 |
Category: |
Mobile |
Upload: | alex-cabrera-gil |
View: | 475 times |
Download: | 0 times |
Mobile GamesFrom idea to product
Alex Cabrera
Introducing
http://gplus.to/drlecks http://uplayonline.com
Index
Idea
Development
Launch
Game Design
World
We need an idea
Can be obtained everywhere
1 line definition
Alone worths nothing
Define your world
Transports the user
Explains the game
History & Characters
Introduces game mechanics
Catch user
Guided experience
Branding
Game designAudience
Category
Playability
Progress
Fidelization
Monetization
Usability
Audience
Defined
Defines screen & content structure
Categories
Not always trivial
Saturated Categories
Invisible Categories
Playability
Touch screen
Versatility
Fingers on screen
Max. 2 fingers
Ideally: 1 finger
Progress & fidelization
Objective: retain users
Playability upgrades
Economy upgrades
Vanity upgrades
Monetization
Ads
Pay to play
In-app payments
Sponsors
Usability
Multi-area
If you have to explain it, it’s wrong
Development!
Unity
Highlights
Good habits
Social Networks
Advises
Fragmentation
Screen size
Resolution
Hardware
Operating systems
Graphic User Interface (GUI)
Formerly a mess
Workarounds: nGUI
Unity 4.6: new GUI
Profiler
Measures application performance
CPU, FPS, RAM, VRAM, RENDERING…Divides occurrences by source
Asset Store / Plugins
Built-in store
Time saver
DIY vs. Buy
Good habits
Parameterization
Singleton
Optimization
Time.deltaTime
Limit frameRate
Concurrency control
Parameterization
● Unity allows to edit parameters trough editor
● Avoid magic-numbers
● Life easier for Game/level designer
Singleton
● Unity loses all the state when loading new scenes
● This pattern allows an object to “jump” between scenes
● No more info losing in scene changes
● Very useful on application-level tasks
Time.deltaTime
● Avoids weird performance on low-end devices
● For all the tasks involving time-dependent increments
● Changes frame rate dependency to time dependency
Limit frame rate
● Not all situations need 60fps
● We can limit fps on certain scenarios (menus)
● Battery save
Concurrency control
● Not all tasks need to be processed every frame
● Time.timeSinceLevelLoad
● Reduces the Update method impact on performance
Optimization
DrawCalls
Image import
Update Method
DrawCalls
● Everytime unity needs to draw a
mesh
● Batching: a DrawCall reducing
procedure
● Can be reduced recycling
materials
● “Stats” & Profiler
Image import
● Unity formats all imported images
● Size and compression format
● Resources, always imported
Update()
Prohibited!
ArrayList
gameObject.transform
new Vector3(1,2,3);
Better...
Object[]
Local reference
class variable
Social Networks
● Must have● Facebook, Google+, Game Center● No G+ -> No Google Play feature● No GC -> No AppStore feature● No Fb -> No users (Shit happens)● All: Rankings, achievements, requests,
personalization● G+ i GC: save game● G+: Multiplayer & Quests● Official plug-ins from Fb & G+
Launch
Publish
Marketing
Monitorization
Advises
20/80 Rule
80% 20%
20% 80%
Work
Time consumed
Better think before coding
Don’t be a negathon!
Do what you love
Keep It Simple, Stupid!
Android vs. iOS
Hire an artist!
Alex Cabrera
http://gplus.to/drlecks
@alexcabrera_pc