App42 Student Lab – Android
Game Dev Series V 0.1
Workshop conducted by
(Wednesday 5th March 2014)
To be covered
Gaming Industry – The booming world
Why Android?
Prerequisites for the workshop
Basic Steps of Development
• Idea Generation
• Planning and Identifying Target Audience and Revenue Model
• Design
• Approach
• Prototype Development
• Programming
• Testing
• Deployment and Release
Android Setup
Developing a sample Tic-Tac-Toe Game
Backend Development with App42
• Creating Leaderboard

Hackathon Details
Q & A Session

Attend V 0.2 for
 Facebook Integration and Social Leaderboard
 Play Store Publishing
 Simple & Effective Marketing Techniques

Attend V 0.3 for
 Converting Single-player Game to
Multiplayer
 Monetization Techniques
Gaming Industry – The money-making world
for young entrepreneurs
There are many stories on App Developers becoming billionaires at a
very young age.

What you need to make a great App?
- A unique idea - Little or no investment - A few hours

What you get?
- A global market of over 250 million smartphone and tablet users
- A share in 33,675 downloads a minute or 17.7 billion a year

Why games?
Mobile games is the most
popular App Category - 7080% downloads are games

93% of app downloaders who
pay for an app, pay for a
mobile gaming app

The smartphone gaming
industry is expected to double
by 2016
Why to start with Android
Biggest smartphone market
• 48.5% share alone
• Android platform has been adapted by all the big mobile hardware vendors - Samsung, HTC,
Motorola etc.
You can develop for Android from multiple devices - Windows, Mac OS and Linux unlike iOS where
you require a Mac
Android is an OS based on the Linux Kernel – an open source
• Java is the programming language - a very old language, with large number of tutorials and
content available

Simpler publishing process
• Cheap developer fee on the Play Store ($25 one-time), as opposed to $99 per year for Apple
Store
• Easy and quicker updating of apps
With the integration of Google Wallet and Google Checkout, monetization has become easier
Prerequisites for the workshop
Downloaded
Java and
configured
the Path

You must have

Downloaded
Eclipse and
Android SDK
Registered with
ShepHertz to
access App42
Android SDK
Steps to create a Mobile App
A great imagination leads to a great App
The App must provide some kind of benefit to the users, be it tangible like saving their time,
reducing costs, enhancing productivity or intangible, like giving them a good experience.
To create a successful mobile app:
• Identify a problem which can be resolved by your App
• Decide on the must-have features
If you are making a Game:
• It must have a unique game-play and
• must provide a great user-experience
Contd..
Planning and Identifying
Planning is the most crucial phase of any IT project. For a Mobile App, you need to first identify:

• The Target Audience
Everything should be planned and developed keeping in mind the target users. This will surely
increase the probability of success

• Mobile Platforms and Devices to be supported
Platforms and devices should be selected keeping in mind their geo-coverage among your target
users, device support, performance and compatibility with your App.

• Revenue model
The App market is booming like never before. To generate revenue from this umpteen resource,
you need to select the appropriate approach in accordance with your app. There are different
models of generating revenue - paid Apps, in-app freemium, advertisements, subscription and pay
per download.
You should have a clear monetization strategy, right from the beginning.
Contd..
Designing
A great design is yet another significant factor responsible for the success of your App.

You must concentrate on the UI design and multi-touch gestures for your App and consider
platform design standards as well. Today, a lot of emphasis is on the UI design and graphics of
an App. If a user does not find the App visually appealing in the first look, he is bound to
delete the App as there are multiple options available in the market. A great design creates an
instant impact on the mind of the user while ensuring usability of the App.
Design tools for a basic App:
• Xcode / Eclipse

• Image Editing tool (Adobe Photoshop)
Contd..
Identify approach to develop - native, web or hybrid
App development Approach must be in accordance with your time and budget constraints.

• Native
Native Apps deliver the best user experience but require significant time and skill to be developed.
These Apps are basically platform specific and require expertise along with knowledge

• Web
Web Apps are quick and cheap ones to develop and can run on multiple platforms but are less
powerful than Native Apps. These are developed using HTML5, CSS or JavaScript code

• Hybrid
This recent approach combines prebuilt native containers with on-the-fly web coding in order to
achieve the best of both worlds. In this approach, the developer augments the web code with
native language to create unique features and access native APIs
Contd..
Develop a prototype
• The process of taking your idea and turning it into an application with some basic functionality
• A prototype makes it easier to sell your idea to potential buyers who can now actually view the
tangible benefits instead of just visualizing or reading product description. It is quite helpful in
attracting investors and finding licensees
Contd..
Application Programming
iOS Applications
• IDE: Xcode
• Language: Objective C
Android Applications

• IDE: Eclipse
• Language: Java
Windows Applications

• IDE: Visual Studio
• Language: C, C++, C#
Blackberry Applications
• IDE: Eclipse
• Language: Java, C++
Contd..
Testing
Functional Testing
Functional testing ensures that the application is working as per requirements

Performance Testing
This testing process is undertaken to check the performance and behavior of the application under
certain conditions such as low battery, bad network coverage, low available memory, and
simultaneous access to application’s server by several users and other conditions. Performance of
an application can be affected from two sides: server side and client side
Contd..
Memory Leakage Testing
Memory leakage happens when an App is unable to manage the memory it is allocated resulting in
poor performance of the App and overall slowdown of the system. As mobile devices have limited
memory, memory leakage testing is very crucial.
In case of Android, Memory Management is automatically done by Android System

Interrupt Testing
There are different types of interruptions: Incoming and Outgoing calls, SMS, MMS, Incoming
Notifications, Battery Removal, Cable Insertion and Removal for data transfer, Network outage and
recovery, Media Player on/off
You need to check if the App is able to handle interruptions by going into a suspended state and
resuming afterwards.
Contd..
Usability testing
Usability testing is carried out to verify if the application is achieving its goals and getting a
favorable response from users. This is important as the usability of an application is its key to
commercial success. This can be done by beta-testing the App within a group of users

Installation testing
Installation testing verifies that the installation process goes smoothly without the user having to
face any difficulty. This testing process covers installation, updating and uninstalling of an
application.

Certification Testing
To get a certificate of compliance, the App needs to be tested on each mobile device against the
guidelines set by different mobile platforms.
Contd..
Deploying and Releasing
Deployment Management includes planning, scheduling and controlling the expected traffic on the
App.
Buying server space in advance is a costly affair. So these days a number of PaaS (Platform-as-aService) providers have come up in the market to provide shared server space to developers to
reduce their cost on infrastructure.

Publishing on Store
The Publishing process is more or less similar on every store.
Guidelines to publish on the Play Store will be taken up in V.02 next Wednesday.
Android Setup
How to create a simple “hello world” Android project in Eclipse IDE + ADT plugin,
and run it with Android Virtual Device (AVD)
Steps
1. Install Android SDK
2. Install ADT Eclipse plugin
3. Create an Android Virtual Device (AVD)
4. Create Android Project with Eclipse (Wizard)

5. Code it…
6. Start it in Android Virtual Device (AVD)

Tools used in this workshop
JDK 1.6
Eclipse IDE 3.7 , Indigo
Android SDK
Developing a Sample Android Game
We are now ready to create our own project
Sample Game : Tic-Tac-Toe
Features:
• Turn-based Game Play

• Basic Leaderboard

Follow the link for a complete Video Tutorial
How to configure Java; Android Setup; Developing a basic Tic-Tac-Toe Game; Leaderboard
integration with App42
Backend Development with App42
App Development = Frontend (Client-side Coding) + Backend (Server-side Coding)
 Frontend collects input from user and backend (Phone’s backend or global-server backend)
processes the data and outputs to frontend.
 Most of the time of a developer goes into server-side coding (interaction with server, server space,
cost, managing etc.)

App42 provides backend APIs (explain API) that can be directly integrated with your frontend
and have the App/Game ready to go live
 450+ APIs spread across 20+ modules
 18+ Native SDKs (Android, iOS, Unity, Windows, ..)

 7500+ customers globally
 Biggest Gaming companies from India : Zapak, Hungama, Robosoft,..
App42 Backend Modules

450+ APIs

20+ Modules

18 Native SDKs
Integrating Leaderboard
In this session, we have integrated a basic Scoreboard using App42 Leaderboard APIs
• For using any of the 20+ App42 Modules, follow this Tutorial on Steps to get Started
• Watch the video for integrating a basic leaderboard

For Facebook-based Leaderboards, watch out V 0.2
on Wednesday 12th March ’14.
Register now
Hackathon
We now announce the Hackathon open!
Category of games:
• Casual single-player

• 2 – player turn-based
• Multiplayer (will be taught in V 0.3)

Rules:
 Use atleast two App42 Backend APIs or AppWarp Multiplayer Engine
 Submission of Entries (.apk file) by 26th March ‘14
 Results – 2nd April ’14
Register now
Contd..
Support from ShepHertz Team:
• For any technical assistance while developing, post your questions on our Forum on the website

What do you get:
• App42 Certification to deserving Games

• Exciting Prizes to be won
Categorical prizes:
- Best UI

- Best use of App42 APIs

- Best Gameplay

• Internship opportunity with ShepHertz to the best coder!

- and more
Links for Reference :
http://www.shephertz.com
http://api.shephertz.com
http://appwarp.shephertz.com
http://app42paas.shephertz.com

Contact: sales@shephertz.com
Skype: ShepHertz

Follow us on:

App42 Student Lab - Android Game Dev Series V 0.1

  • 1.
    App42 Student Lab– Android Game Dev Series V 0.1 Workshop conducted by (Wednesday 5th March 2014)
  • 2.
    To be covered GamingIndustry – The booming world Why Android? Prerequisites for the workshop Basic Steps of Development • Idea Generation • Planning and Identifying Target Audience and Revenue Model • Design • Approach • Prototype Development • Programming • Testing • Deployment and Release
  • 3.
    Android Setup Developing asample Tic-Tac-Toe Game Backend Development with App42 • Creating Leaderboard Hackathon Details Q & A Session Attend V 0.2 for  Facebook Integration and Social Leaderboard  Play Store Publishing  Simple & Effective Marketing Techniques Attend V 0.3 for  Converting Single-player Game to Multiplayer  Monetization Techniques
  • 4.
    Gaming Industry –The money-making world for young entrepreneurs There are many stories on App Developers becoming billionaires at a very young age. What you need to make a great App? - A unique idea - Little or no investment - A few hours What you get? - A global market of over 250 million smartphone and tablet users - A share in 33,675 downloads a minute or 17.7 billion a year Why games? Mobile games is the most popular App Category - 7080% downloads are games 93% of app downloaders who pay for an app, pay for a mobile gaming app The smartphone gaming industry is expected to double by 2016
  • 5.
    Why to startwith Android Biggest smartphone market • 48.5% share alone • Android platform has been adapted by all the big mobile hardware vendors - Samsung, HTC, Motorola etc. You can develop for Android from multiple devices - Windows, Mac OS and Linux unlike iOS where you require a Mac Android is an OS based on the Linux Kernel – an open source • Java is the programming language - a very old language, with large number of tutorials and content available Simpler publishing process • Cheap developer fee on the Play Store ($25 one-time), as opposed to $99 per year for Apple Store • Easy and quicker updating of apps With the integration of Google Wallet and Google Checkout, monetization has become easier
  • 6.
    Prerequisites for theworkshop Downloaded Java and configured the Path You must have Downloaded Eclipse and Android SDK Registered with ShepHertz to access App42 Android SDK
  • 7.
    Steps to createa Mobile App A great imagination leads to a great App The App must provide some kind of benefit to the users, be it tangible like saving their time, reducing costs, enhancing productivity or intangible, like giving them a good experience. To create a successful mobile app: • Identify a problem which can be resolved by your App • Decide on the must-have features If you are making a Game: • It must have a unique game-play and • must provide a great user-experience
  • 8.
    Contd.. Planning and Identifying Planningis the most crucial phase of any IT project. For a Mobile App, you need to first identify: • The Target Audience Everything should be planned and developed keeping in mind the target users. This will surely increase the probability of success • Mobile Platforms and Devices to be supported Platforms and devices should be selected keeping in mind their geo-coverage among your target users, device support, performance and compatibility with your App. • Revenue model The App market is booming like never before. To generate revenue from this umpteen resource, you need to select the appropriate approach in accordance with your app. There are different models of generating revenue - paid Apps, in-app freemium, advertisements, subscription and pay per download. You should have a clear monetization strategy, right from the beginning.
  • 9.
    Contd.. Designing A great designis yet another significant factor responsible for the success of your App. You must concentrate on the UI design and multi-touch gestures for your App and consider platform design standards as well. Today, a lot of emphasis is on the UI design and graphics of an App. If a user does not find the App visually appealing in the first look, he is bound to delete the App as there are multiple options available in the market. A great design creates an instant impact on the mind of the user while ensuring usability of the App. Design tools for a basic App: • Xcode / Eclipse • Image Editing tool (Adobe Photoshop)
  • 10.
    Contd.. Identify approach todevelop - native, web or hybrid App development Approach must be in accordance with your time and budget constraints. • Native Native Apps deliver the best user experience but require significant time and skill to be developed. These Apps are basically platform specific and require expertise along with knowledge • Web Web Apps are quick and cheap ones to develop and can run on multiple platforms but are less powerful than Native Apps. These are developed using HTML5, CSS or JavaScript code • Hybrid This recent approach combines prebuilt native containers with on-the-fly web coding in order to achieve the best of both worlds. In this approach, the developer augments the web code with native language to create unique features and access native APIs
  • 11.
    Contd.. Develop a prototype •The process of taking your idea and turning it into an application with some basic functionality • A prototype makes it easier to sell your idea to potential buyers who can now actually view the tangible benefits instead of just visualizing or reading product description. It is quite helpful in attracting investors and finding licensees
  • 12.
    Contd.. Application Programming iOS Applications •IDE: Xcode • Language: Objective C Android Applications • IDE: Eclipse • Language: Java Windows Applications • IDE: Visual Studio • Language: C, C++, C# Blackberry Applications • IDE: Eclipse • Language: Java, C++
  • 13.
    Contd.. Testing Functional Testing Functional testingensures that the application is working as per requirements Performance Testing This testing process is undertaken to check the performance and behavior of the application under certain conditions such as low battery, bad network coverage, low available memory, and simultaneous access to application’s server by several users and other conditions. Performance of an application can be affected from two sides: server side and client side
  • 14.
    Contd.. Memory Leakage Testing Memoryleakage happens when an App is unable to manage the memory it is allocated resulting in poor performance of the App and overall slowdown of the system. As mobile devices have limited memory, memory leakage testing is very crucial. In case of Android, Memory Management is automatically done by Android System Interrupt Testing There are different types of interruptions: Incoming and Outgoing calls, SMS, MMS, Incoming Notifications, Battery Removal, Cable Insertion and Removal for data transfer, Network outage and recovery, Media Player on/off You need to check if the App is able to handle interruptions by going into a suspended state and resuming afterwards.
  • 15.
    Contd.. Usability testing Usability testingis carried out to verify if the application is achieving its goals and getting a favorable response from users. This is important as the usability of an application is its key to commercial success. This can be done by beta-testing the App within a group of users Installation testing Installation testing verifies that the installation process goes smoothly without the user having to face any difficulty. This testing process covers installation, updating and uninstalling of an application. Certification Testing To get a certificate of compliance, the App needs to be tested on each mobile device against the guidelines set by different mobile platforms.
  • 16.
    Contd.. Deploying and Releasing DeploymentManagement includes planning, scheduling and controlling the expected traffic on the App. Buying server space in advance is a costly affair. So these days a number of PaaS (Platform-as-aService) providers have come up in the market to provide shared server space to developers to reduce their cost on infrastructure. Publishing on Store The Publishing process is more or less similar on every store. Guidelines to publish on the Play Store will be taken up in V.02 next Wednesday.
  • 17.
    Android Setup How tocreate a simple “hello world” Android project in Eclipse IDE + ADT plugin, and run it with Android Virtual Device (AVD) Steps 1. Install Android SDK 2. Install ADT Eclipse plugin 3. Create an Android Virtual Device (AVD) 4. Create Android Project with Eclipse (Wizard) 5. Code it… 6. Start it in Android Virtual Device (AVD) Tools used in this workshop JDK 1.6 Eclipse IDE 3.7 , Indigo Android SDK
  • 18.
    Developing a SampleAndroid Game We are now ready to create our own project Sample Game : Tic-Tac-Toe Features: • Turn-based Game Play • Basic Leaderboard Follow the link for a complete Video Tutorial How to configure Java; Android Setup; Developing a basic Tic-Tac-Toe Game; Leaderboard integration with App42
  • 19.
    Backend Development withApp42 App Development = Frontend (Client-side Coding) + Backend (Server-side Coding)  Frontend collects input from user and backend (Phone’s backend or global-server backend) processes the data and outputs to frontend.  Most of the time of a developer goes into server-side coding (interaction with server, server space, cost, managing etc.) App42 provides backend APIs (explain API) that can be directly integrated with your frontend and have the App/Game ready to go live  450+ APIs spread across 20+ modules  18+ Native SDKs (Android, iOS, Unity, Windows, ..)  7500+ customers globally  Biggest Gaming companies from India : Zapak, Hungama, Robosoft,..
  • 20.
    App42 Backend Modules 450+APIs 20+ Modules 18 Native SDKs
  • 21.
    Integrating Leaderboard In thissession, we have integrated a basic Scoreboard using App42 Leaderboard APIs • For using any of the 20+ App42 Modules, follow this Tutorial on Steps to get Started • Watch the video for integrating a basic leaderboard For Facebook-based Leaderboards, watch out V 0.2 on Wednesday 12th March ’14. Register now
  • 22.
    Hackathon We now announcethe Hackathon open! Category of games: • Casual single-player • 2 – player turn-based • Multiplayer (will be taught in V 0.3) Rules:  Use atleast two App42 Backend APIs or AppWarp Multiplayer Engine  Submission of Entries (.apk file) by 26th March ‘14  Results – 2nd April ’14 Register now
  • 23.
    Contd.. Support from ShepHertzTeam: • For any technical assistance while developing, post your questions on our Forum on the website What do you get: • App42 Certification to deserving Games • Exciting Prizes to be won Categorical prizes: - Best UI - Best use of App42 APIs - Best Gameplay • Internship opportunity with ShepHertz to the best coder! - and more
  • 24.
    Links for Reference: http://www.shephertz.com http://api.shephertz.com http://appwarp.shephertz.com http://app42paas.shephertz.com Contact: [email protected] Skype: ShepHertz Follow us on: