Published on March 6, 2014
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.. 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: email@example.com Skype: ShepHertz Follow us on:
App42 Student Lab - Android Game Dev Series V0.1 ... ShepHertz: App42 Gamification of Cross-Platform Games - Marmalade Webinar - Duration: 48:02.
App42 Student Lab - Android Game Dev Series V0.3 - Video Tutorial ShepHertz. Subscribe Subscribed Unsubscribe. ... App42 BaaS - Duration: 7:26.
Gamedev.net is the leading resource for game developers, ... [Android][IOS][Free] ... GameDev.net™, ...
Introducing Marshmallow, S’More to Love. ... If you're in the market for an Android phone, you've run out of excuses not to get a Nexus.
Hardware Dev Center Hardware Dev Center. ... Windows Hardware Lab Kit (HLK) ... Windows 8.1: What's new for USB.
What Makes Your Android Setup “Unique”? XDA-Developers started off as a small ... Gazing Ball” series. ... these VR games for dedicated VR ...
Sony Developer World is the hub for third party developer interested ... Sony announced the launch of the Future Lab Program, ... Android 6.0 (Marshmallow ...