24
Workshop conducted by (Wednesday 5 th March 2014) App42 Student Lab – Android Game Dev Series V 0.1

App42 Student Lab - Android Game Dev Series V 0.1

Embed Size (px)

DESCRIPTION

ShepHertz has started App42 Student Lab to provide umpteen learning and practical simulation to budding developers. The Android Game Dev Series is the first workshop that is being conducted in association with Entrepreneurship Cell, IIT Kharagpur. The Series consists of three Webinars and a month-long Hackathon for college students to learn and bring their ideas to reality. In this first Webinar V0.1 we have covered: basic steps in developing an App or a Game, configuring Java, Android SDK Setup, developing a sample Tic-Tac-Toe Game on Android, and integrating a basic Leaderboard using App42.

Citation preview

Page 1: App42 Student Lab - Android Game Dev Series V 0.1

Workshop conducted by

(Wednesday 5th March 2014)

App42 Student Lab – Android Game Dev Series V 0.1

Page 2: 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

Page 3: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 4: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 5: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 6: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 7: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 8: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 9: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 10: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 11: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 12: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 13: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 14: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 15: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 16: App42 Student Lab - Android Game Dev Series V 0.1

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..

Page 17: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 18: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 19: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 20: App42 Student Lab - Android Game Dev Series V 0.1

App42 Backend Modules

450+ APIs 20+ Modules 18 Native SDKs

Page 21: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 22: App42 Student Lab - Android Game Dev Series V 0.1

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

Page 23: App42 Student Lab - Android Game Dev Series V 0.1

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..