The Android game developer's handbook discover an all in one handbook to developing immersive and cross-platform Android games
Discover an all in one handbook to developing immersive and cross-platform Android gamesAbout This Book Practical tips and tricks to develop powerful Android games Learn to successfully implement microtransactions and monitor the performance of your game once it's out live. Integrate Google...
Gespeichert in:
| 1. Verfasser: | |
|---|---|
| Format: | E-Book |
| Sprache: | Englisch |
| Veröffentlicht: |
Birmingham
PACKT Publishing
2016
Packt Publishing, Limited |
| Ausgabe: | 1st ed. |
| Schlagworte: | |
| ISBN: | 9781785885860, 9781785886669, 1785886665, 1785885863 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Inhaltsangabe:
- The Android game developer's handbook : discover an all in one handbook to developing immersive and cross-platform Android games -- About the Author -- About the Reviewer -- Table of Contents -- Preface -- Chapter 1: Android Game Development -- Chapter 2: Introduction to Different Android Platforms -- Chapter 3: Different Android Development Tools -- Chapter 4: Android Development Style and Standards in the Industry -- Chapter 5: Understanding the Game Loop and Frame Rate -- Chapter 6: Improving Performance for 2D/3D Games -- Chapter 7: Working with Shaders -- Chapter 8: Performance and Memory Optimization -- Chapter 9: Testing Code and Debugging -- Chapter 10: Scope for Android in VR Games -- Chapter 11: Android Game Development Using C++ and OpenGL -- Chapter 12: Polishing Android Games -- Chapter 13: Third-Party Integration, Monetization, and Services -- Index.
- Creating a sample game loop using the Android SDK -- Game life cycle -- Game update and user interface -- Interrupt handling -- General idea of a game state machine -- The FPS system -- Hardware dependency -- Display or rendering -- Memory load/unload operations -- Heap memory -- Stack memory -- Register memory -- ROM -- Logical operations -- Balance between performance and memory -- Controlling FPS -- Summary -- Chapter 6: Improving Performance for 2D/3D Games -- 2D game development constraints -- 2D art assets -- Sets of 2D art assets -- Same asset set for multiple resolutions -- Number of assets drawn on screen -- Use of font files -- 2D rendering system -- 2D mapping -- 2D physics -- Box2D -- LiquidFun -- Performance impact on games -- 2D collision detection -- Rectangle collision -- Rectangle and circle collision -- Circle and circle collision -- Performance comparison -- 3D game development constraints -- Vertices and triangles -- 3D transformation matrix -- 3D object and polygon count -- 3D rendering system -- 3D mesh -- Materials, shaders, and textures -- Textures -- Shaders -- Materials -- Collision detection -- Primitive colliders -- Mesh colliders -- Ray casting -- Concept of "world -- Elements of the game world -- Light sources in the game world -- Cameras in the game world -- The rendering pipeline in Android -- The 2D rendering pipeline -- The 3D rendering pipeline -- Optimizing 2D assets -- Size optimization -- Data optimization -- Process optimization -- Optimizing 3D assets -- Limiting the polygon count -- Model optimization -- Common game development mistakes -- Use of non-optimized images -- Use of full utility third-party libraries -- Use of unmanaged networking connections -- Using substandard programming -- Taking a shortcut -- 2D/3D performance comparison -- Different look and feel
- Proportional set size (PSS)
- Android Debug Bridge -- Using adb on an Android device -- Dalvik Debug Monitor Server -- Other tools -- Eclipse -- Hierarchy Viewer -- Draw 9-Patch -- ProGuard -- Asset optimization tools -- Full asset optimization -- Creating sprites -- Tools for testing -- Creating a test case -- Setting up your test fixture -- Adding test preconditions -- Adding test methods to verify an activity -- Performance profiling tools -- Android Studio -- Android project view -- Memory and CPU monitor -- Cross-platform tools -- Cocos2d-x -- Unity3D -- Unreal Engine -- PhoneGap -- Corona -- Titanium -- Summary -- Chapter 4: Android Development Style and Standards in the Industry -- The Android programming structure -- Class formation -- Call hierarchy -- Game programming specifications -- Gameplay programming -- Graphics programming -- Technical programming -- Sound programming -- Network programming -- Game tool programming -- Research and development programming -- Technical design standards -- Game analysis -- Design pattern and flow diagram -- Technical specification -- Tools and other requirements -- Resource analysis -- Testing requirements -- Scope analysis -- Risk analysis -- Change log -- Game design standards -- Game overview -- Gameplay details -- Game progression -- Storyboard and game elements -- Level design -- Artificial intelligence -- Art style -- Technical reference -- Change log -- Other styles and standards -- Different styles for different development engines -- Different programming languages -- Different work principles -- Different target platforms -- Industry best practices -- Design standards -- Programming standards -- Testing standards -- Summary -- Chapter 5: Understanding the Game Loop and Frame Rate -- Introduction to the game loop -- User input -- Game update -- State update -- Rendering frames
- Application services -- Service life cycle -- Resource processing -- Drawable resources -- Layout resources -- Color resources -- Menu resources -- Tween animation resources -- Other resources -- Different memory segments -- Stack memory -- Heap memory -- Register memory -- Importance of memory optimization -- Optimizing overall performance -- Choosing the base resolution -- Defining the portability range -- Program structure -- Managing the database -- Managing the network connection -- Increasing the frame rate -- Importance of performance optimization -- Common optimization mistakes -- Programming mistakes -- Design mistakes -- Wrong game data structure -- Using game services incorrectly -- Best optimization practices -- Design constraints -- Development optimization -- Data structure model -- Asset-using techniques -- Art assets -- Audio assets -- Other assets -- Handling cache data -- Summary -- Chapter 9: Testing Code and Debugging -- Android AVDs -- Name of the AVD -- AVD resolution -- AVD display size -- Android version API level -- Android target version -- CPU architecture -- RAM amount -- Hardware input options -- Other options -- Extended AVD settings -- Android DDMS -- Connecting an Android device filesystem -- Profiling methods -- Thread information monitoring -- Heap information monitoring -- Tracking memory allocation -- Monitoring and managing network traffic -- Tracking log information using Logcat -- Emulating device operations -- Android device testing and debugging -- Device testing -- Prototype testing -- Full or complete testing -- Regression testing -- Release testing or run testing -- Device debugging -- Use of breakpoints -- Monitoring the memory footprint -- Checking log messages -- Dalvik message log -- ART message log -- Checking heap updates -- Tracking memory allocation -- Checking overall memory usage -- Private RAM
- Cover -- Copyright -- Credits -- About the Author -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Android Game Development -- Android game development -- Features and support -- Challenges -- User experience -- Design constraints -- A game is not just an application -- Games versus applications -- Life cycle of Android application and games -- Performance of games and applications -- Memory management of games and applications -- Choosing the target device configuration -- Game scale -- Target audience -- Feature requirement -- Scope for portability -- Best practices for making an Android game -- Maintaining game quality -- Minimalistic user interface -- Supporting maximum resolutions -- Supporting maximum devices -- Background behavior -- Interruption handling -- Maintaining battery usage -- Extended support for multiple visual quality -- Introducing social networking and multiplayer -- Summary -- Chapter 2: Introduction to Different Android Platforms -- Exploring Android mobiles -- Exploring Android tablets -- Exploring Android televisions and STBs -- Exploring Android consoles -- Exploring Android watches -- Development insights on Android mobiles -- Development insights on Android tablets -- Development insights on Android TV and STBs -- UI and game design -- Overscan -- Development insights on Android consoles -- Development insights on Android watches -- Creating and setting up a wearable application -- Including the correct libraries in the project -- Hardware compatibility issues with Android versions -- Platform-specific specialties -- Android mobiles -- Android tablets -- Android televisions and STBs -- Android consoles -- Android watches -- Summary -- Chapter 3: Different Android Development Tools -- Android SDK -- Android Development Tool -- Android Virtual Device -- Configuring AVD
- 3D processing is way heavier than 2D processing -- Device configuration -- Processor -- RAM -- GPU -- Display quality -- Battery capacity -- Summary -- Chapter 7: Working with Shaders -- Introduction to shaders -- What is a shader? -- Necessity of shaders -- Scope of shaders -- How shaders work -- Types of shaders -- Pixel shaders -- Vertex shaders -- Geometry shaders -- Tessellation shaders -- Android library shaders -- Writing custom shaders -- Shaders through OpenGL -- Use of shaders in games -- Shaders in a 2D game space -- Shaders in a 3D game space -- Summary -- Chapter 8: Performance and Memory Optimization -- Fields of optimization in Android games -- Resource optimization -- Art optimization -- Sound optimization -- Data file optimization -- Design optimization -- Game design optimization -- Technical design optimization -- Memory optimization -- Don't create unnecessary objects during runtime -- Use primitive data types as far as possible -- Don't use unmanaged static objects -- Don't create unnecessary classes or interfaces -- Use the minimum possible abstraction -- Keep a check on services -- Optimize bitmaps -- Release unnecessary memory blocks -- Use external tools such as zipalign and ProGuard -- Performance optimization -- Using minimum objects possible per task -- Using minimum floating points -- Using fewer abstraction layers -- Using enhanced loops wherever possible -- Avoid getter/setters of variables for internal use -- Use static final for constants -- Using minimum possible inner classes -- Relationship between performance and memory management -- Memory management in Android -- Shared application memory -- Memory allocation and deallocation -- Application memory distribution -- Processing segments in Android -- Application priority -- Active process -- Visible process -- Active services -- Background process -- Void process

