Workshop conducted by (Wednesday 5 th March 2014) App42 Student Lab – Android Game Dev Series V 0.1
May 17, 2015
Workshop conducted by
(Wednesday 5th March 2014)
App42 Student Lab – Android Game Dev Series V 0.1
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
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
Android Setup
Developing a sample Tic-Tac-Toe Game
Backend Development with App42
• Creating Leaderboard
Hackathon Details
Q & A Session
Gaming Industry – The money-making worldfor 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 - 70-
80% 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
Registered with ShepHertz to access App42 Android SDK
Downloaded Eclipse and Android SDK
Downloaded Java and
configured the Path
You must have
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
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..
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
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-a-
Service) 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.
Contd..
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
We are now ready to create our own project
Sample Game : Tic-Tac-Toe
Features:
• Turn-based Game Play
• Basic Leaderboard
Developing a Sample Android Game
Follow the link for a complete Video TutorialHow to configure Java; Android Setup; Developing a basic Tic-Tac-Toe Game; Leaderboard
integration 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,..
Backend Development with App42
App42 Backend Modules
450+ APIs 20+ Modules 18 Native SDKs
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
Integrating Leaderboard
For Facebook-based Leaderboards, watch out V 0.2
on Wednesday 12th March ’14.
Register now
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
Hackathon
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 - and more
• Internship opportunity with ShepHertz to the best coder!
Contd..
Links for Reference :http://www.shephertz.com
http://api.shephertz.com
http://appwarp.shephertz.com
http://app42paas.shephertz.com
Follow us on:
Contact: [email protected]
Skype: ShepHertz