40
Casual Games on Mobile Mukul Joshi, Director & CEO SpotOn Software Pvt. Ltd [email protected] www.spotonsoft.com

Mdc2010 Casual Game Dev

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Mdc2010 Casual Game Dev

Casual Games on Mobile

Mukul Joshi, Director & CEO

SpotOn Software Pvt. Ltd

[email protected]

www.spotonsoft.com

Page 2: Mdc2010 Casual Game Dev

Roadmap

Why the topic? Glimpses of mobile game world Before you begin the game development Mobile game development Commercialization Road ahead Q & A

Page 3: Mdc2010 Casual Game Dev

Why the topic?

What are casual games really?

Why the topic in devcon?

What do analysts say?

Page 4: Mdc2010 Casual Game Dev

What makes a game casual?

Who is a casual gamer and who is a hard-core gamer?

Lets have a pop up quiz

Page 5: Mdc2010 Casual Game Dev

What makes a game casual?

Targeted at Mass audience Can fit in any genre (puzzle, card, board etc.) Requires no special skills to play

Simple gameplay Ability to quickly reach final stage

Requires no long term commitment to play Allowing game play in short bursts

Typical user is older, high female population

Page 6: Mdc2010 Casual Game Dev

Why have them on mobile?

Targeted at Mass audience Can fit in any genre (puzzle, card, board etc.) Require no special skills to play

Simple gameplay Ability to quickly reach final stage

Require no long term commitment to play Allowing game play in short bursts

Typical user is older, high female population

Page 7: Mdc2010 Casual Game Dev

Lets talk about India Indian Mobile gaming market is growing in excess of 200% for the next two

years; expected to reach $450 Million in 2012 Source: www.pluggd.in Informate research shows that time spent on mobile phone gaming is around

7.5% of the total time spent on mobile phones, among those who play game at least once in a month While this is only a small part of the overall time spent on entertainment

(40%,largely mobile music), the time spent on mobile gaming has shows an increase over previous month

The choice of game selection differs with the age-group and gender 18-30 aged youths account for the higher-than average time spent on games

While the most popular mobile games are of the established genre (Card, Puzzle, Arcade), there is a spike in popularity for mobile games inspired by Hollywood, Bollywood movies and Cricket Source: financial express

Huge window of opportunity for the VAS providers with the entertainment hungry Indian youth willing to explore the world of mobiles and mobile internet

Host of India-based Game production companies sprouting given the lively market, enriching the competition and providing ever-increasing variety of games for all ages

Page 8: Mdc2010 Casual Game Dev

Mobile games is a hot market

Not just in India but World-Wide iPhone has made it even bigger Most of you are developers

Launch your products Work for your services customers

Likely that you will come across this VAS segment

Hence we are here

Page 9: Mdc2010 Casual Game Dev

Lets look at afew of them

Categories/Types

Differentiators

Challenges

Page 10: Mdc2010 Casual Game Dev

Single player games

Snake – Nokia 1997 Bubble breaker Win mobile

Puzzle BobbleTaito Corp

Bejewelled Accelerometer game Card game

Page 11: Mdc2010 Casual Game Dev

Important categories

Text based games (Bot fighter) Location based (Treasure hunt) Multiplayer Social

You need to understand the challenges with the nature of the game

Page 12: Mdc2010 Casual Game Dev

Multiplayer gaming challenges Where and when people play?

There is plenty of idle time while travelling Are the places or the time slots suitable for gaming

Interrupts in playing Phone calls, messaging Flat battery Non-tech interrupts (bus coming etc.)

Communication Mobile networks

Price Latency

Local radio (WiFi, Bluetooth) Social pressure

The average age of gamers is rising Now within 10 –35 years range in general Is gaming yet socially accepted?

Page 13: Mdc2010 Casual Game Dev

Before you begin

Game design

Choice of platform

Testing plans

Page 14: Mdc2010 Casual Game Dev

Good design is the key

Good games require good design Profitable gaming projects require good

design Even if those are services projects Especially fixed bid

Lets take an example of iPhone game

Page 15: Mdc2010 Casual Game Dev

Game design

Page 16: Mdc2010 Casual Game Dev

Understand the roles

Creative Pattern Story board Characters Difficulty Scoring Excitement factors

Designer Effects Graphics

Developers Understand Implement Unit test

Testers Many a times the

designers

Page 17: Mdc2010 Casual Game Dev

Your own game (product)

Understand the roles Identify them Put appropriate boundaries

Developer in you has the least of say Do not hurry to start development

Page 18: Mdc2010 Casual Game Dev

For services customer

Make sure you have “sufficient” information Understand you can be profitable when you

Deliver in time With expected quality of output

Goal – Reduce the time to be spent in Communication gaps Re-development Test – Design – Development iterations Device/Platform issues

Page 19: Mdc2010 Casual Game Dev

Issues!

Page 20: Mdc2010 Casual Game Dev

Issues contd

Main processor Each phone has it’s own processing power

Many don’t have floating point support

Graphics processor Each phone has its own graphics capabilities

Some can do fast 3D Some can do fast 2D but can’t handle 3D Some can barely handle 2D Alpha channel can be a major bottleneck

Page 21: Mdc2010 Casual Game Dev

Issues contd

Memory Again, each phone has its own

Application sizes from 32KB to several MB Heap sizes from 200KB to several MB Almost all combinations exist

Audio and video capabilities Each phone supports only a range of formats

Some do support all of them The majority does not

Page 22: Mdc2010 Casual Game Dev

Issues contd

Network capabilities Various limitations

Forget about IR Bluetooth can be a pain to support and is highly Unstable when there are “too many” clients Internet connection is usually slow

Keyboard Not all phones support multiple key press It’s a cumbersome interface

Page 23: Mdc2010 Casual Game Dev

Issues contd

Display Holy crap, too many variations

“My screen is bigger than yours!” “What color is that?”

You usually have to support them all

Page 24: Mdc2010 Casual Game Dev

Lets get scared

Page 25: Mdc2010 Casual Game Dev

Hats off to glu.com

25000 Different builds for “Transformers” mobile gameOn average mobile developers are creating 400 buildsGoogle maps targeted 10 platforms, created 100 different builds & my boss wanted it yesterday

Page 26: Mdc2010 Casual Game Dev
Page 27: Mdc2010 Casual Game Dev

Being a master

Understand the gravity

Learn the basics well

Page 28: Mdc2010 Casual Game Dev

Handling different screen sizes

Crude way - one build One build doesn't work for rich games/applications Backgrounds - paint in code or tile Vector images - too heavy Compute item positions from screen real-estate Don't do overdetailing And there is aspect-ratio to be considered as well

Page 29: Mdc2010 Casual Game Dev

Handling keyboard differences

Avoid using keys other than LEFT, RIGHT, UP, DOWN and FIRE

Support touch Handle qwerty Add a virtual mouse

It's far more intuitive to move a cursor around with phone's joystick or its equivalent rather than use the joystick itself to jump from one screen item to other.

Also, it looks ultra cool and familiar to computer users.

Don't rely on soft-keys

Page 30: Mdc2010 Casual Game Dev

Externalizing parameters

Basic I18N: Externalize strings (all messages) Implement intelligent device detection

Devices specific tweaks and adjustments can be stored in a config file and loaded depending on the device

OTA configurable parameters (server addresses etc)

Code must NOT contain other numbers than -1, 0, 1 or 2

Give a build to test early Everything should be externalized for the designer to test

Page 31: Mdc2010 Casual Game Dev

Double buffering Not suppported by all phones

At times the implementations, internally, kill the very purpose of double buffering by flushing it instantly to real screen.

Create custom buffer There is a way to create custom secondary buffer by performing all your

graphics operations on in memory scratch-image having same size as that of the screen

Support sprites (if not supported by platform) Goggle : Bitblt

Add compositing What if you wanted to show popups? and Also mouse cursor? You can have several offscreen buffers multiplexed to create layers with z-

ordering. Trade off between memory and CPU cycles spent in redrawing the whole

screen. Improves things significantly by requiring repaints only for significant changes on the screen.

Page 32: Mdc2010 Casual Game Dev

Handling animations & sprites Prefetch

Prefetching removes any delays caused by the file format decoders and I/O No memory management operations in game loop

Don't malloc() or free() inside game loop. Yes even free() can cause problems. Frequent malloc() will bog down the game

Doing malloc() a new sprite as & when required causes fragmentation of memory and after some time subsequent malloc() calls start taking more and more time.

Advice: If possible, malloc() all the required memory once, that is, when the game starts.

Use weak references with garbage collector. If your language supports automatic garbage collection then using weak references for

prefetched objects will ensure that they can be expunged if there is an urgent requirement of memory.

Reuse sprites. Use object pooling! Double buffering very imp for Animation Keep animation thread separate from game loop.

Page 33: Mdc2010 Casual Game Dev

Sound

Prefetch Combine to save file format header space

Use position offsets to seek and play appropriate piece in a combined file. (Applies to images as well)

Stick to basic formats (if targeting gazillion devices) PCM (Wave), Au work on most of the phones

Provide a way for users to adjust volume Not all phones will have direct volume adjustment keys

Page 34: Mdc2010 Casual Game Dev

Know the frameworks

Cocos2d Chipmunk Unity Oolong

Page 35: Mdc2010 Casual Game Dev

Commercialization

Page 36: Mdc2010 Casual Game Dev

iPhone story

How much can a developer make? Perhaps very little. First 30 days

on Apple App Store is crucial. Or, a lot. After 10 days, #1 iFart

was making $35K per day But, only 10% of apps are still in

use after 3 months; not sticky Avg. cost per app is $2.64 (based

on top 100 apps); price elastic! Other business models: freemium,

advertising (ugh), % transaction Problem is discoverability ...

getting lost in the 25,000 apps

http://www.streamingcolour.com/blog/2009/03/09/the-numbers-post-aka-brutal-honesty/

Page 37: Mdc2010 Casual Game Dev

Nokia’s Ovi Store• BlackBerry App World• Windows Marketplace• App Store for Symbian, PocketGear• Android Market• Palm Software Store• O2 Litmus (Mob4Hire)• 3rd party off-deck (GetJar, Handmark

Page 38: Mdc2010 Casual Game Dev

Conclusion

Page 39: Mdc2010 Casual Game Dev

Thank YouMukul JoshiDirector & CEO

SpotOn Software Pvt. Ltd.

[email protected]

Mobile Developer Conference by

MoMoBhttp://momob.in

Page 40: Mdc2010 Casual Game Dev

Questions?