Index
A
- Android Activity lifecycle
- about / The Android Activity lifecycle
- reference link / The Android Activity lifecycle
- Android device
- Tappy Defender, debugging on / Debugging on an Android device
- Android Studio
- installing / Installing Android Studio
- URL / Installing Android Studio
- Android Studio file structure
- asteroid
- collision detection, precising with / Precise collision detection with an asteroid
- Asteroid class
- collision package, adding to / Adding a collision package to the Asteroid class
- asteroid collision detection
- about / Colliding with an asteroid
- crossing number / The crossing number
- phase / The first phase and overview of asteroid collision detection
- overview / The first phase and overview of asteroid collision detection
- asteroids
- drawing / Drawing and moving the asteroids
- moving / Drawing and moving the asteroids
- Asteroids' Simulator game
- checks, performing / Performing the checks
- helper methods / Helper methods
- ship, destroying / Destroying a ship
- asteroid, destroying / Destroying an asteroid
- collisions, testing in update() / Testing for collisions in update()
- improving / Finishing touches
- asteroids simulator
- about / Asteroids simulator
- game controls / The game controls
- rules / Rules for the game
- asteroids simulator project
- about / Asteroids simulator
- features / Asteroids simulator
B
- backstory, Tappy Defender game / Backstory
- enhanced draw method / The backstory
- BFXR
- URL / Generating the FX
- Bob
- functionality, adding to / Introducing Bob
- animating / Animating Bob
- border
- collision detection, precising with / Precise collision detection with the border
- border collision
- about / Colliding with the border
- border collision detection
- Bullet class
- creating / Rapid fire bullets
- collision package, adding to / Adding a collision package to the Bullet class
- bullet collision detection
- about / Bullet collision detection
C
- CD class
- about / The CD class outline
- radius overlapping, implementing for asteroid / Implementing radius overlapping for asteroids and ships
- radius overlapping, implementing for ships / Implementing radius overlapping for asteroids and ships
- rectangle, implementing for border / Implementing rectangle intersection for the border
- code structure, Tappy Defender game
- about / The game code structure
- Android Activity lifecycle / The Android Activity lifecycle
- collision detection
- about / Things that go bump – collision detection
- options / Collision detection options
- planning for / Planning for collision detection
- precising, with border / Precise collision detection with the border
- precising, with asteroid / Precise collision detection with an asteroid
- collision package
- adding, to objects / Adding collision packages to the objects and making them accessible
- access, providing to / Adding collision packages to the objects and making them accessible
- adding, to Bullet class / Adding a collision package to the Bullet class
- adding, to SpaceShip class / Adding a collision package to the SpaceShip class
- adding, to Asteroid class / Adding a collision package to the Asteroid class
- CollisionPackage class
- about / The CollisionPackage class
- control buttons, HUD object / Adding control buttons
- CopyOnWriteArrayList
- reference link / Ready aim fire
- crossing number algorithm
- about / The crossing number algorithm
D
- design pattern, Tappy Defender game
- about / The design
- control / Control
- model / Model
- view / View
- reality check / Design pattern reality check
- development environment
- setting up / Setting up your development environment
- drone
- about / The drone
E
- endianness
- reference link / Building an OpenGL-friendly, GameObject super class
- enemies
- building / Building the enemies
- designing / Designing the enemy
- spawning / Spawning the enemy
- update method, handling / Making the enemy think
- existing classes
- reusing / Reusing existing classes
- SoundManager class, adding / Adding the SoundManager class
- InputController class, adding / Adding the InputController class
F
- 60 + FPS
- drawing at / Drawing at 60 + FPS
- fire tiles
- adding / Adding some fire tiles
- Flappy Bird apps, Google Play
- URL / The game mechanics
- flight, Tappy Defender game
- background, scrolling / The thrill of flight – scrolling the background
- fragment shader
- about / What is neat about Version 2?
G
- game engine, Tappy Defender game
- upgrading / Upgrading the game engine
- platform activity / The platform activity
- layout, locking to landscape / Locking the layout to landscape
- PlatformView class / The PlatformView class
- game loop, Tappy Defender
- coding / Coding the game loop
- view, building / Building the view
- new class, creating for view / Creating a new class for the view, What we did
- class code, structuring / Structuring the class code
- game activity / The game activity
- GameObject class
- about / The GameObject class
- functionality, adding to / Bringing the spaceship to life
- GameObject super class
- GL Shader Language (GLSL) / What is neat about Version 2?
- GLSL
- about / Managing simple shaders
- guard
H
- home screen, Tappy Defender game
- building / Building the home screen
- project, creating / Creating the project
- UI, building / Building the home screen UI
- functionality, coding / Coding the functionality
- GameActivity, creating / Creating GameActivity
- AndroidManifest.xml file, configuring / Configuring the AndroidManifest.xml file, What we did
- HUD
- displaying / Displaying a HUD
- HUD objects
- about / Scores and the HUD
- control buttons, adding / Adding control buttons
- tally icons / Tally icons
- life icons / Life icons
- declaring / Declaring, initializing, and drawing the HUD objects
- initializing / Declaring, initializing, and drawing the HUD objects
- drawing / Declaring, initializing, and drawing the HUD objects
I
- identity matrix
- reference link / Building an OpenGL-friendly, GameObject super class
- InputController class
- adding / Adding the InputController class
- installing
- JDK / Installing the JDK
- Android Studio / Installing Android Studio
- iteration, Tappy Defender game
- about / Iteration
- enemy graphics, adding / Multiple different enemy graphics
- exercise, in balance / An exercise in balance
- format time / Format time
- back button, handling / Handle the back button
J
- Java SE Downloads
- URL / Installing the JDK
- JDK
- installing / Installing the JDK
L
- level designs, Platformer game
- about / The level designs
- cave / The cave
- city / The city
- forest / The forest
- mountains / The mountains
- HUD / The HUD
- life icons, HUD objects
- about / Life icons
M
- machine gun
- building, with variable rate of fire / Ready aim fire
- MachineGun class
- implementing / Ready aim fire
- matrices
- about / How we will use OpenGL ES 2?
- reference link / Building an OpenGL-friendly, GameObject super class
- mechanics, Tappy Defender game / The game mechanics, The game mechanics
- MotionEvent class
- reference link / Detecting touches
- multiphase collision detection
- about / Multiphase collision detection
O
- objects
- collision package, adding to / Adding collision packages to the objects and making them accessible
- OpenGL
- working / Why use it and how does it work?
- reasons, for using / Why use it and how does it work?
- OpenGL ES 1
- about / What is neat about Version 2?
- OpenGL ES 2
- about / Introducing OpenGL ES 2
- benefits / What is neat about Version 2?
- using / How we will use OpenGL ES 2?
- preparing / Preparing OpenGL ES 2
- layout, locking to landscape / Locking the layout to landscape
- Activity class / Activity
- view / The view
- class, used for managing game / A class to manage our game
- simple shaders, managing / Managing simple shaders
- renderer / The game's main loop – the renderer
- optimizations, collision detection
- multiple hitboxes / Multiple hitboxes
- neighbour checking / Neighbor checking
- options, collision detection
- rectangle intersection / Rectangle intersection
- radius overlapping / Radius overlapping
- crossing number algorithm / The crossing number algorithm
P
- persistence, Tappy Defender game
- adding / Adding persistence
- pickups
- Platformer game
- aesthetic props, adding / Eye candy
- new platform tiles, adding / The new platform tiles
- new scenery objects, adding / The new scenery objects
- scrolling parallax backgrounds / Scrolling parallax backgrounds
- pause menu, with moveable viewport / Pause menu with moveable viewport
- levels / Levels and game rules
- game rules / Levels and game rules
- travelling, between levels / Traveling between levels
- level designs / The level designs
- PlatformView class
- about / The PlatformView class
- basic structure / The basic structure of PlatformView
- view, through viewport / The view through a viewport
- levels, creating / Creating the levels
- enhanced update method / The enhanced update method
- enhanced draw method / The enhanced draw method
- player input
- about / Player input
- PlayerShip object
- about / The PlayerShip object
- drawing / Drawing PlayerShip
Q
- quadrants
- reference link / Bringing the spaceship to life
R
- radius overlapping
- about / Radius overlapping
- rectangle intersection
- about / Rectangle intersection
- route
- generating, for guard / The guard
- rules, Tappy Defender game / Rules for the game, Rules for the game
- implementing / Implementing the rules
S
- scene, Tappy Defender game
- drawing / Drawing the scene
- plotting / Plotting and drawing
- PlayerShip, drawing / Drawing PlayerShip
- Canvas object / The Canvas and Paint objects
- Paint object / The Canvas and Paint objects
- frame rate, controlling / Controlling the frame rate
- scores
- about / Scores and the HUD
- shader program
- about / What is neat about Version 2?
- sound FX, Tappy Defender game
- adding / Adding sound FX
- generating / Generating the FX
- SoundPool class, used for playing sounds / The SoundPool class
- coding / Coding the sound FX
- SoundManager class
- about / The SoundManager class
- adding / Adding the SoundManager class
- spaceship
- about / The spaceship
- bringing, to life / Bringing the spaceship to life
- spaceship, controlling
- about / Controlling the spaceship
- touches, detecting / Detecting touches
- boosters, adding to spaceship / Adding boosters to the spaceship
- screen resolution, detecting / Detecting the screen resolution
- SpaceShip class
- collision package, adding to / Adding a collision package to the SpaceShip class
- Star class
- update method, adding / Twinkling stars
- static game border
- drawing / Drawing a static game border
T
- tally icons, HUD object / Tally icons
- Tappy Defender game
- planning / Planning the first game
- backstory / Backstory, The backstory
- mechanics / The game mechanics, The game mechanics
- rules / Rules for the game, Rules for the game
- design pattern / The design
- code structure / The game code structure
- home screen, building / Building the home screen
- game loop, coding / Coding the game loop
- PlayerShip object / The PlayerShip object
- scene, drawing / Drawing the scene
- deploying / Deploying the game
- debugging, on Android device / Debugging on an Android device
- best options / Best options for Tappy Defender
- rules, implementing / Implementing the rules
- ending / Ending the game
- restarting / Restarting the game
- sound FX, adding / Adding sound FX
- sound FX, generating / Generating the FX
- persistence, adding / Adding persistence
- iteration / Iteration
- finishing / The finished game
- about / The game
- game engine, upgrading / Upgrading the game engine
- Tappy Defender project
- about / Tappy Defender
- tough retro platformer project
- about / Tough retro platformer
- features / Tough retro platformer
V
- vertex shader
- about / What is neat about Version 2?