3 options
The Android game developer's handbook : discover an all in one handbook to developing immersive and cross-platform Android games / Avisekhar Roy.
- Format:
- Book
- Author/Creator:
- Roy, Avisekhar, author.
- Series:
- Community experience distilled.
- Community experience distilled
- Language:
- English
- Subjects (All):
- Android (Electronic resource)--Handbooks, manuals, etc.
- Android (Electronic resource).
- Application software--Development.
- Application software.
- Mobile computing.
- Physical Description:
- 1 online resource (369 pages) : color illustrations.
- Edition:
- 1st ed.
- Place of Publication:
- Birmingham : Packt Publishing, 2016.
- Biography/History:
- Roy Avisekhar: 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.
- Summary:
- About This BookPractical tips and tricks to develop powerful Android gamesLearn to successfully implement microtransactions and monitor the performance of your game once it's out live.Integrate Google's DIY VR tool and Google Cardboard into your games to join in on the VR revolutionWho This Book Is For This book is ideal for any game developer with prior knowledge of developing games in Android. A good understanding of game development and a basic knowledge of Android platform application development and Java/C++ will be helpful. What You Will LearnLearn the prospects of Android in game developmentUnderstand the Android architecture and explore the platform's limitations and variationsExplore the various approaches to game development using AndroidLearn about the common mistakes and possible solutions in Android game developmentDiscover the top cross-platform game engines and port games on to different Android platformsOptimize the memory and performance of your gameFamiliarize yourself with different ways to earn money from Android gamesIn Detail This book will help developers understand user behavior, to predict and create scopes of improvement in Android games The book begins with the guidelines of game development on the Android platform and a brief description of the current variants of Android devices available. Next, you will walk through the various tools available for developing Android games and learn how to choose the most appropriate tools for specific purposes. Later, you will focus on creation and maintenance of a game loop using the Android SDK, and learn about common mistakes in game development in order to avoid them and improve performance. Next, we will dive into shaders and learn how to optimize memory and performance. You will then learn testing and debugging Android games followed by an overview of virtual reality and how
- to integrate it into Android games. Finally, you will explore the tools required to polish and finalize the game and possible integration of third-party tools or SDKs in order to monetize the game.
- Contents:
- 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
- Chapter 3: Different Android Development Tools
- Android SDK
- Android Development Tool
- Android Virtual Device
- Configuring AVD.
- 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
- 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
- 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
- Chapter 5: Understanding the Game Loop and Frame Rate
- Introduction to the game loop
- User input
- Game update
- State update
- Rendering frames.
- 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
- 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.
- 3D processing is way heavier than 2D processing
- Device configuration
- Processor
- RAM
- GPU
- Display quality
- Battery capacity
- 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
- 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.
- Application services
- Service life cycle
- Resource processing
- Drawable resources
- Layout resources
- Color resources
- Menu resources
- Tween animation resources
- Other resources
- Different memory segments
- 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
- Development optimization
- Data structure model
- Asset-using techniques
- Art assets
- Audio assets
- Other assets
- Handling cache data
- 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
- Checking overall memory usage
- Private RAM.
- Proportional set size (PSS).
- Notes:
- Includes index.
- Description based on online resource; title from PDF title page (ebrary, viewed March 7, 2017).
- ISBN:
- 1-78588-666-5
- OCLC:
- 957317970
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.