The Android Game Developer's Handbook Discover an all in one handbook to developing immersive and cross-platform Android games Avisekhar Roy BIRMINGHAM - MUMBAI The Android Game Developer's Handbook Copyright © 2016 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: August 2016 Production reference: 1120816 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78588-586-0 www.packtpub.com Credits Author Project Coordinator Avisekhar Roy Izzat Contractor Reviewer Proofreader Attilio Carotenuto Safis Editing Commissioning Editor Indexer Edward Gordon Tejal Daruwale Soni Acquisition Editor Graphics Rahul Nair Disha Haria Content Development Editor Production Coordinator Anish Sukumaran Melwyn Dsa Technical Editor Cover Work Taabish Khan Melwyn Dsa Copy Editors Sonia Mathur Karuna Narayanan About the Author Avisekhar Roy is a B.Tech engineer in computer science. He has had a passion for coding since his school days. However, he had no plans to become a game programmer. His fate landed him in the gaming industry in 2010. Since then, he fell in love with game development. Avisekhar has worked in many formats of game development environment, ranging from small companies and individual studios to corporate companies and full-scale game development studios. He recently started his own gaming start-up in 2016 and is currently working on games for the mobile platform. Avisekhar has also worked with some big companies, such as Reliance Games in India, as well as a small-scale studio called Nautilus Mobile. He is now trying to acquire a position in the gaming industry for his own venture, Funboat Games. I would like to mention my parents, who have supported me in every step during the journey of my career. I would not be able to write this book without their blessings. I would like to thank Mr. Pritesh Dhawle for his active support in writing the book; he is not just my partner at Funboat Games, but also an intimate friend. I'd also like to express my gratitude to Mr. Kinshuk Sunil, who supported me while writing this book at an early stage. There are many more friends and well-wishers whom I would like thank for their support. Finally, I would like to express my gratitude toward the people who provided their valuable analysis on specific subjects; their articles and reports have helped me a lot to research more while writing this book. About the Reviewer Attilio Carotenuto is a senior game designer and developer with over 7 years of experience in his field. He's the owner and game director at Himeki Games, an indie studio with a focus on hardcore, premium games, currently working on An Oath to the Stars, a Japanese-style bullet hell shooter. Attilio previously worked at companies such as Electronic Arts Playfish, King, and Space Ape Games, creating games that are played by millions of people every day. He has previously worked with Packt Publishing as a technical reviewer for Building Levels in Unity, Volodymyr Gerasimov; Unity3D UI Essentials, Simon Jackson; and Unity 3D Game Development by Example [Video], Adam Maxwell. You can find more about his recent projects, articles, and talks on his personal website at http://www.attiliocarotenuto.com/. www.PacktPub.com eBooks, discount offers, and more Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub. com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks. https://www2.packtpub.com/books/subscription/packtlib Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books. Why subscribe? • Fully searchable across every book published by Packt • Copy and paste, print, and bookmark content • On demand and accessible via a web browser Table of Contents Preface xvii Chapter 1: Android Game Development 1 Android game development 1 Features and support 3 Challenges 4 User experience 4 Design constraints 5 A game is not just an application 5 Games versus applications 5 Life cycle of Android application and games 6 Performance of games and applications 7 Memory management of games and applications 7 Choosing the target device configuration 8 Game scale 8 Target audience 9 Feature requirement 9 Scope for portability 10 Best practices for making an Android game 10 Maintaining game quality 11 Minimalistic user interface 11 Supporting maximum resolutions 12 Supporting maximum devices 12 Background behavior 13 Interruption handling 13 Maintaining battery usage 14 Extended support for multiple visual quality 15 Introducing social networking and multiplayer 15 Summary 16 [ i ] Table of Contents Chapter 2: Introduction to Different Android Platforms 17 Exploring Android mobiles 18 Exploring Android tablets 22 Exploring Android televisions and STBs 24 Exploring Android consoles 28 Exploring Android watches 33 Development insights on Android mobiles 35 Development insights on Android tablets 38 Development insights on Android TV and STBs 39 UI and game design 41 Overscan 41 Development insights on Android consoles 42 Development insights on Android watches 42 Creating and setting up a wearable application 43 Including the correct libraries in the project 44 Hardware compatibility issues with Android versions 44 Platform-specific specialties 44 Android mobiles 45 Android tablets 45 Android televisions and STBs 45 Android consoles 46 Android watches 46 Summary 46 Chapter 3: Different Android Development Tools 49 Android SDK 50 Android Development Tool 50 Android Virtual Device 51 Configuring AVD 51 Android Debug Bridge 53 Using adb on an Android device 54 Dalvik Debug Monitor Server 55 Other tools 56 Eclipse 56 Hierarchy Viewer 57 Draw 9-Patch 58 ProGuard 59 Asset optimization tools 60 Full asset optimization 60 Creating sprites 61 [ ii ] Table of Contents Tools for testing 61 Creating a test case 61 Setting up your test fixture 61 Adding test preconditions 63 Adding test methods to verify an activity 63 Performance profiling tools 64 Android Studio 65 Android project view 65 Memory and CPU monitor 66 Cross-platform tools 67 Cocos2d-x 68 Unity3D 69 Unreal Engine 70 PhoneGap 71 Corona 72 Titanium 73 Summary 74 Chapter 4: Android Development Style and Standards in the Industry 75 The Android programming structure 76 Class formation 76 Call hierarchy 77 Game programming specifications 78 Gameplay programming 78 Graphics programming 79 Technical programming 79 Sound programming 80 Network programming 80 Game tool programming 80 Research and development programming 81 Technical design standards 81 Game analysis 82 Design pattern and flow diagram 82 Technical specification 82 Tools and other requirements 83 Resource analysis 83 Testing requirements 83 Scope analysis 84 Risk analysis 84 Change log 84 [ iii ]
Description: