Index
A
- abstract class / Abstract classes
- access modifier
- about / Controlling class use with access modifiers
- used for controlling class / Controlling class use with access modifiers
- public / Controlling class use with access modifiers
- default / Controlling class use with access modifiers
- class access, in nutshell / Class access in a nutshell
- used, for controlling variable / Controlling variable use with access modifiers
- used, for methods / Methods have access modifiers too
- Accessors / Accessing private variables with getters and setters
- activity
- coding / Code the Activity
- Activity class / ImageView and Activity
- alien's components
- AlienChaseMovementComponent / AlienChaseMovementComponent
- AlienDiverMovementComponent / AlienDiverMovementComponent
- AlienHorizontalSpawnComponent / AlienHorizontalSpawnComponent
- AlienPatrolMovementComponent / AlienPatrolMovementComponent
- AlienVerticalSpawnComponent / AlienVerticalSpawnComponent
- AlienChaseMovementComponent / AlienChaseMovementComponent
- about / AlienChaseMovementComponent
- Code AlienLaserSpawner / Code AlienLaserSpawner
- interface, implementing in GameEngine / Implement the Interface in GameEngine, AlienDiverMovementComponent
- interface, implementing in / Implement the Interface in GameEngine
- interface, implementing / Implement the Interface in GameEngine
- AlienDiverMovementComponent / AlienDiverMovementComponent
- AlienHorizontalSpawnComponent / AlienHorizontalSpawnComponent
- AlienPatrolMovementComponent / AlienPatrolMovementComponent
- aliens
- spawning / Spawning the Aliens
- GameEngine, updating / Updating GameEngine
- level, updating / Updating Level
- GameObjectFactory, updating / Updating GameObjectFactory
- aliens components
- adding / Adding the alien's components
- AlienVerticalSpawnComponent / AlienVerticalSpawnComponent
- Android
- working / How Java and Android work
- versions, handling / Handling different versions of Android
- current versions, detecting / Detecting the current Android version
- Android Coordinate system
- about / Android Coordinate system
- plotting / Plotting and drawing
- drawing / Plotting and drawing
- Android developers / Why Java, Android and Games?
- Android emulator
- Sub’ Hunter game, executing / Running the game on an Android emulator
- Android games
- about / Why Java, Android and Games?
- combining, with Java / Why Java, Android and Games?
- Java, using / Java: The first stumbling block
- development / Java: The first stumbling block
- Android lifecycle
- about / A simplified explanation of the Android lifecycle
- phases / Lifecycle phases: What we need to know, Lifecycle phases: What we need to do
- onCreate method / Lifecycle phases: What we need to do
- onStart method / Lifecycle phases: What we need to do
- onResume method / Lifecycle phases: What we need to do
- onPause method / Lifecycle phases: What we need to do
- onStop method / Lifecycle phases: What we need to do
- onDestroy method / Lifecycle phases: What we need to do
- used, for starting and stopping thread / Using the Activity lifecycle to start and stop the thread
- run method, coding / Coding the run method
- Androidn games
- about / Why Java, Android and Games?
- Android Studio
- setting up / Setting up Android Studio, Final step, Android Studio and our project – A very brief guided tour
- Project panel / The Project panel
- Editor window / The Editor window
- AnimatedGraphicsComponent / AnimatedGraphicsComponent
- apple
- coding / Coding the apple
- using / Using the apple
- Apple constructor / The Apple constructor
- Application Programming Interface (API) / How Java and Android work
- array example mini-app
- creating / Simple array example mini-app
- ArrayList / ArrayLists
- ArrayLists / Arrays and ArrayLists are polymorphic
- array notation syntax / Java Arrays
- array of bullets
- spawning / Spawning an array of bullets
- arrays
- about / Getting dynamic with arrays
- dynamic array example / Dynamic array example
- out of bounds exception / Array out of bounds exceptions
B
- background's components
- about / Completing the player's and the background's components
- coding / Coding a scrolling background
- BackgroundGraphicsComponent / Completing the BackgroundGraphicsComponent
- BackgroundMovementComponent / Completing the BackgroundMovementComponent
- BackgroundSpawnComponent / Completing the BackgroundSpawnComponent
- background's empty component classes
- BackgroundGraphicsComponent
- coding, in sprite-sheets / Coding the BackgroundGraphicsComponent
- backgrounds empty component classes
- BackgroundGraphicsComponent / BackgroundGraphicsComponent
- BackgroundMovementComponent / BackgroundMovementComponent
- BackgroundSpawnComponent / BackgroundSpawnComponent
- BackgroundTransform
- coding, in sprite-sheets / Coding the BackgroundTransform
- BackgroundUpdateComponent
- coding, in sprite-sheets / Coding the BackgroundUpdateComponent
- Ball Class
- about / The Ball Class
- game engine communicaton / Communicating with the game engine
- rectangles, representing with RectF / Representing rectangles and squares with RectF
- squares, representing with RectF / Representing rectangles and squares with RectF
- variables, coding / Coding the variables
- Ball constructor, coding / Coding the Ball constructor
- RectF getter method, coding / Coding the RectF getter method
- Ball update method, coding / Coding the Ball update method
- Ball helper methods, coding / Coding the Ball helper methods
- realistic-ish bounce, coding / Coding a realistic-ish bounce
- using / Using the Ball class
- Bat class
- about / The Bat class
- variables, coding / Coding the Bat variables
- constructor, coding / Coding the Bat constructor
- helper methods, coding / Coding the Bat helper methods
- update method, coding / Coding the Bat's update method
- using / Using the Bat Class
- Bat input handling
- coding / Coding the Bat input handling
- Bitmap class / Getting started drawing with Bitmap, Canvas, and ImageView
- Bitmaps
- rotating / Rotating Bitmaps
- about / What is a Bitmap exactly
- Matrix class / The Matrix class
- BitmapStore / The memory problem and the BitmapStore
- class, coding / Coding the BitmapStore class
- bitwise operators
- reference / Making sense of the screen touches
- Bob class
- about / The Bob (player's) class
- graphic file, adding to project / Adding the Bob graphic to the project
- coding / Coding the Bob class
- using / Using the Bob class
- adding, to collision detection / Adding Bob to the collision detection
- drawing, to screen / Drawing Bob to the screen
- sound effects, adding / Adding the sound effects
- teleport, activating / Activating Bob's teleport
- printDebuggingText method, coding / Coding the printDebuggingText method
- spawnBullet method, coding / Coding the spawnBullet method (again)
- startGame method, coding / Coding the startGame method
- Bob Was in A Hurry platform game / Platform Game: Bob Was in A Hurry
- about / Platform Game: Bob Was in A Hurry, Getting started with Bob was in a hurry
- level design files example / Level design files example
- graphics / The graphics
- cameras / Cameras and the real world
- real world / Cameras and the real world
- slightly modified ObjectSpec / The slightly modified ObjectSpec
- new improved transform hierarchy / New improved transform hierarchy
- assets, adding / Creating the project and adding the assets
- project, creating / Creating the project and adding the assets
- broadcaster interface
- coding, in Scrolling Shooter project / Coding the Broadcaster interface
- bugs
- about / Errors, warnings, and bugs
- Bullet class
- coding / Coding the Bullet class
- spawning / Spawning a bullet
- Bullet Hell game
- about / Bullet Hell
- planning / Planning the project
- initiating / Starting the project
- AndroidManifest.xml file, modifying / Change the AndroidManifest.xml to lock in landscape and full-screen
- classes, creating / Creating the classes
- executing / Running the game, Running the game
- BulletHellGame class
- coding / Coding the BulletHellGame class
- member variables, coding / Coding the member variables
- BulletHellGame constructor, coding / Coding the BulletHellGame constructor
- BulletHellGame methods, coding / Coding the BulletHellGame methods
- draw and onTouchEvent, drawing / Coding draw and onTouchEvent
- pause, coding / Coding pause, resume, and printDebuggingText
- printDebuggingText, coding / Coding pause, resume, and printDebuggingText
- resume, coding / Coding pause, resume, and printDebuggingText
C
- camel casing / Java Variables
- camera
- coding / Coding the camera
- formulas, testing with hypothetical coordinates / Testing the formulas with hypothetical coordinates
- Canvas class
- about / Understanding the Canvas class, Getting started drawing with Bitmap, Canvas, and ImageView, Canvas, Bitmap, Paint and ImageView quick summary
- and Bitmap class / Canvas and Bitmap
- using / Using the Canvas class
- objects of classes, preparing / Preparing the objects of classes
- objects, initializing / Initializing the objects
- Activity content, setting / Setting the Activity content
- Canvas Demo app
- about / Canvas Demo app
- new project, creating / Creating a new project
- coding / Coding the Canvas demo app
- Bitmap initialization, exploring / Exploring the Bitmap initialization
- screen, drawing on / Drawing on the screen
- Color.argb, explaining / Explaining Color.argb
- casting / Casting
- chaining / Handling different screen sizes and resolutions
- class / Class recap
- code, viewing / Looking at the code for a class
- object, initializing / Declaring, initializing and using an object of the class
- object, declaring / Declaring, initializing and using an object of the class
- object, using / Declaring, initializing and using an object of the class
- classes mini-app / Basic classes mini-app
- first class, creating / Creating your first class
- first class / More things we can do with our first class
- class implementation / Class implementation
- collision detection
- coding / Coding the collision detection and playing sounds
- bat and ball example / The bat and the ball
- four walls example / The four walls
- detectCollisions method, coding / Coding the detectCollisions method: Part 1, Coding the detectCollisions method: Part 2, Explaining part 2
- game, executing / Running the game
- collision detection options
- about / Collision detection options
- rectangle intersection method / Rectangle intersection
- radius overlapping method / Radius overlapping
- crossing number algorithm method / Crossing number algorithm
- collisions
- handling / Handling collisions
- detection, options / Collision detection options
- optimizations / Optimizations
- Pong game, options / Best options for Pong
- RectF intersects method, using / The RectF intersects method
- detecting / Detecting collisions
- collisions optimizations
- about / Optimizations
- multiple hitboxes / Multiple hitboxes
- neighbour checking / Neighbour checking
- compiling process / How Java and Android work
- component interfaces
- coding / Coding the component Interfaces, Coding the component interfaces
- GraphicsComponent interface / GraphicsComponent
- InputComponent interface / InputComponent
- MovementComponent / MovementComponent
- SpawnComponent / SpawnComponent
- GraphicsComponent / GraphicsComponent
- UpdateComponent / UpdateComponent
- EngineController / EngineController
- GameEngineBroadcaster / GameEngineBroadcaster
- InputObserver / InputObserver
- concatenation / Concatenation
- constructor / Declaring, initializing and using an object of the class, Setting up our objects with constructors
- continue keyword / Continue...
- control flow blocks
- combining / Combining different control flow blocks
- control flow statements / Loops
D
- Dalvik EXecutable (DEX) code / How Java and Android work
- Dalvik Virtual Machine (DVM) / How Java and Android work
- deadlock / Problems with threads
- debugging Information
- printing / Printing Debugging Information
- decorative component
- coding / Coding the inanimate and decorative components
- DecorativeBlockUpdateComponent / DecorativeBlockUpdateComponent
- design pattern
- detectCollisions method
- coding, in collision detection / Coding the detectCollisions method: Part 1, Explaining part 1, Coding the detectCollisions method: Part 2, Explaining part 2
- do while loop / Loops
- draw method, PongGame class
- printDebuggingText method, adding / Adding the printDebuggingText method
- about / Understanding the draw method and the SurfaceView class
E
- else keyword / Else do this instead
- encapsulation / Encapsulation, Remember that encapsulation thing?
- class, controlling with access modifier / Controlling class use with access modifiers
- variable, controlling with access modifier / Controlling variable use with access modifiers
- methods, with access modifier / Methods have access modifiers too
- private variables, accessing with getters / Accessing private variables with getters and setters
- private variables, accessing with setters / Accessing private variables with getters and setters
- objects, setting up with constructor / Setting up our objects with constructors
- this keyword, using / Using "this"
- static methods / Static methods
- about / Encapsulation and static methods mini-app
- entity-component pattern
- about / The Entity-Component pattern
- diverse object types, managing / Why lots of diverse object types are hard to manage
- coding / The first coding nightmare
- generic GameObject, used for code structure / Using a generic GameObject for better code structure
- composition, over inheritance / Composition over inheritance
- enumeration
- about / Enumerations
- errors
- about / Errors, warnings, and bugs
- expression / Most used operators in this book
F
- fields / Scope: Methods and Variables, Class implementation
- for loop
- about / Loops, For loops
- using, to draw Sub’ Hunter grid / Using for loops to draw the Sub' Hunter grid
G
- game
- testing / Testing the game
- GameEngine
- coding / Code the GameEngine
- game engine, Snake game
- coding / Coding the game engine
- members, coding / Coding the members
- constructor, coding / Coding the constructor
- newGame method, coding / Coding the newGame method
- run method, coding / Coding the run method
- updateRequired method, coding / Coding the updateRequired method
- update method, coding / Coding the update method
- draw method, coding / Coding the draw method
- onTouchEvent, coding / Coding onTouchEvent
- pause method, coding / Coding pause and resume
- resume method, coding / Coding pause and resume
- GameEngine class
- updating / Updating GameEngine
- game loop
- about / The game loop
- phases / The game loop
- game loop implementation, with threads
- about / Implementing the game loop with a thread
- Runnable, implementing / Implementing Runnable and providing the run method
- run method, implementing / Implementing Runnable and providing the run method
- thread, coding / Coding the thread
- thread, starting / Starting and stopping the thread
- thread, stopping / Starting and stopping the thread
- activity lifecycle / Activity lifecycle
- Android lifecycle / A simplified explanation of the Android lifecycle
- GameObject class
- Transform class, used / Every GameObject has a transform
- about / Every object is a GameObject
- coding / Coding a slightly commented-out game object
- GameObjectFactory
- building / Building the GameObjectFactory
- coding / Coding a stripped down GameObjectFactory
- updating, in intelligent platform / Update LevelManager and GameObjectFactory
- game objects
- game objects, specifying with GameObjectSpec classes
- about / Specifying all the game objects with GameObjectSpec classes
- GameObjectSpec / GameObjectSpec
- BackgroundCitySpec / BackgroundCitySpec
- BackgroundMountainSpec / BackgroundMountainSpec
- BackgroundUndergroundSpec / BackgroundUndergroundSpec
- BrickTileSpec / BrickTileSpec
- CartTileSpec / CartTileSpec
- CoalTileSpec / CoalTileSpec
- CollectibleObjectSpec / CollectibleObjectSpec
- ConcreteTileSpec / ConcreteTileSpec
- DeadTreeTileSpec / DeadTreeTileSpec
- FireTileSpec / FireTileSpec
- GrassTileSpec / GrassTileSpec
- LamppostTileSpec / LamppostTileSpec
- MoveablePlatformSpec / MoveablePlatformSpec
- ObjectiveTileSpec / ObjectiveTileSpec
- PlayerSpec / PlayerSpec
- ScorchedTileSpec / ScorchedTileSpec
- SnowTileSpec / SnowTileSpec
- SnowyTreeTileSpec / SnowyTreeTileSpec
- StalactiteTileSpec / StalactiteTileSpec
- StalagmiteTileSpec / StalagmiteTileSpec
- StonePileTileSpec / StonePileTileSpec
- GameState class
- used, for controlling Scrolling Shooter project / Controlling the game with a GameState class
- passing, from GameEngine to other classes / Passing GameState from GameEngine to other classes
- communicating, to GameEngine / Communicating from GameState to GameEngine
- high score, saving / Saving and loading the high score- forever
- high score, loading / Saving and loading the high score- forever
- special button, pressing / 4. Pressing the "special button" - Calling the method of the interface
- finishing / Finishing off the GameState class
- using / Using the GameState class
- coding / Coding the GameState
- garbage collection / A quick break to throw out the trash
- German support
- adding, to snake game / Adding German support
- graphics
- adding / Adding the graphics
- GraphicsComponent interface / GraphicsComponent
H
- handleInput method
- coding, in Scrolling Shooter project / Coding the required handleInput method
- heap
- Hud
- coding / Coding the Hud
- HUD (heads-up-display) / Actions flowchart/diagram
- HUD class
- building, for control button and text display / Building a HUD class to display control buttons and text
- prepareControls method, coding / Coding the prepareControls method
- draw method, coding / Coding the draw method of the HUD class
- drawControls, coding / Coding drawControls and getControls
- getControls, coding / Coding drawControls and getControls
- using / Using the HUD and Renderer classes
I
- if keyword / If they come over the bridge shoot them
- ImageView class / Getting started drawing with Bitmap, Canvas, and ImageView, ImageView and Activity, Canvas, Bitmap, Paint and ImageView quick summary
- inanimate component
- coding / Coding the inanimate and decorative components
- InanmiateBlockGraphicsComponent / InanmiateBlockGraphicsComponent
- InanimateBlockUpdateComponent / InanimateBlockUpdateComponent
- infinite loop
- about / While loops
- inheritance / Inheritance, OOP and inheritance
- mini-app, creating / Inheritance mini-app
- InputComponent interface / InputComponent
- InputObserver interface
- coding, in Scrolling Shooter project / Coding the InputObserver interface
- instance variable / Class implementation
- intelligent platform
- moving platform component class, coding / Coding the moving platform component class
- LevelManager, updating / Update LevelManager and GameObjectFactory
- GameObjectFactory, updating / Update LevelManager and GameObjectFactory
- game, executing / Running the game
- interface / Interfaces
- used, for granting partial access to class / Giving partial access to a class using an interface
- about / Interface refresher
- example / Interface refresher
- solution, implementing / What we will do to implement the interface solution
- coding / 1. Coding the new interface
- implementing / 2. Implementing the interface
- reference, passing / 3. Passing a reference to the interface into the class that needs it
- GameState class, coding / Coding the GameState class
J
- jargon
- handling / Handling syntax and jargon
- Java
- working / How Java and Android work
- Java Arrays
- about / Java Arrays
- using, as objects / Arrays are objects
- Java code
- decision, creating / Decisions, decisions, Keeping things tidy
- Java Hashmap / More Java Collections – Meet Java Hashmap
- Java methods
- about / Introduction to Java methods
- overriding methods / Overriding methods
- Java packages
- using / Using Java packages
- importing, for class addition / Adding classes by importing packages
- Java syntax / Handling syntax and jargon
- Java variables
- about / Java Variables
- types / Different types of variables
- primitive types / Primitive types
- reference variables / Reference variables
K
- keywords / Handling syntax and jargon
L
- Level class
- coding / Coding the Level class
- LevelManager
- updating, in intelligent platform / Update LevelManager and GameObjectFactory
- LevelManager class
- coding / Coding the LevelManager class
- levels
- creating / Create the levels
- Level class / Level
- LevelCity file / LevelCity
- LevelMountains / LevelMountains
- LevelUnderground / LevelUnderground
- local variable / Class implementation
- local variables / Scope: Methods and Variables
- locking / Problems with threads
- loop / Loops
- while loop / While loops
- do while loop / Do while loops
- for loop / For loops
- nested loop / Nested loops
M
- Matrix class
- head to face, inverting / Inverting the head to face left
- head to face, rotating / Rotating the head to face up and down
- member variable / Class implementation
- member variables / Scope: Methods and Variables
- memory
- memory problem / The memory problem and the BitmapStore
- method access
- summary / Method access summary
- method body / Doing things in the method body
- method definition / Introduction to Java methods
- method names / A closer look at method names
- method overloading
- example / Method Overloading by Example
- project, creating / Creating a new project
- about / Running the method overloading mini-app
- method overloading mini-app
- method overriding / Running the method overloading mini-app
- methods
- linking up / Linking up our methods
- about / Methods, Methods revisited and explained further
- modifier / Modifier
- return type / Return type
- parameters / Parameters
- revisting / Revisiting the code and methods we have used already
- method signature / The method signature
- modifier / Modifier
- MotionEvent class
- reference / Making sense of the screen touches
- MoveableBlockUpdateComponent / MoveableBlockUpdateComponent
- MovementComponent / MovementComponent
- moving platform component class
- coding, in intelligent platform / Coding the moving platform component class
- multidimensional Array mini app
- creating / Multidimensional Array mini app
- Multitouch UI controller
- coding, in Scrolling Shooter project / Coding a Multitouch UI controller and making it a listener
- creating, in listener / Coding a Multitouch UI controller and making it a listener
- Mutators / Accessing private variables with getters and setters
N
- nested loop / Nested loops
- newGame method
- Random based code, adding / Adding Random based code to newGame
- nextInt method / The Random class and the nextInt method
- nth dimension
- entering, with arrays / Entering the nth dimension with Arrays
O
- Object-Oriented Programming (OOP)
- about / Introduction to Object Oriented Programming, The important thing about OOP, Classes, and Objects, Final word on OOP, Classes, and Objects – for now, Basic Object-Oriented Programming, Introducing OOP, OOP and inheritance
- classes / Classes and Objects, The important thing about OOP, Classes, and Objects, Final word on OOP, Classes, and Objects – for now
- objects / Classes and Objects, The important thing about OOP, Classes, and Objects, Final word on OOP, Classes, and Objects – for now
- instances / Classes, objects, and instances, Final word on OOP, Classes, and Objects – for now
- encapsulation / Encapsulation
- inheritance / Inheritance
- polymorphism / Polymorphism
- features / Why we do it like this?
- objects
- setting up, with constructor / Setting up our objects with constructors
- object specifications
- about / The object specifications
- parent class, coding / Coding the ObjectSpec parent class
- coding / Coding all the specific object specifications
- AlienChaseSpec / AlienChaseSpec
- AlienDiverSpec / AlienDiverSpec
- AlienLaserSpec / AlienLaserSpec
- AlienPatrolSpec / AlienPatrolSpec
- BackgroundSpec / BackgroundSpec
- PlayerLaserSpec / PlayerLaserSpec
- PlayerSpec / PlayerSpec
- Observer pattern
- about / The Observer pattern
- in Scrolling Shooter project / The Observer pattern in the Scrolling Shooter project
- Scrolling Shooter project / The Observer pattern in the Scrolling Shooter project
- coding, in Scrolling Shooter project / Coding the Observer pattern in Scrolling Shooter
- onTouchEvent method
- coding / Coding the onTouchEvent method
- Open-World Platformer game
- about / Open-World Platformer
- operators
- about / Most used operators in this book
- assignment operator (=) / Most used operators in this book
- addition operator (+) / Most used operators in this book
- subtraction operator (-) / Most used operators in this book
- division operator (/) / Most used operators in this book
- multiplication operator (*) / Most used operators in this book
- increment operator (++) / Most used operators in this book
- decrement operator (--) / Most used operators in this book
- reference / Most used operators in this book
- Oracle Java tutorials
- reference / Primitive types
- overriding methods / Overriding methods
P
- packages / Using Java packages
- Paint class / Paint, Canvas, Bitmap, Paint and ImageView quick summary
- parallax background
- coding, in sprite-sheets / Coding a parallax background
- parameters / Parameters
- Particle class
- coding, in Scrolling Shooter project / Coding the Particle class
- particle system
- adding, in Scrolling Shooter engine / Adding a particle system to the game engine and drawing it with the Renderer
- drawing, with Renderer in Scrolling Shooter engine / Adding a particle system to the game engine and drawing it with the Renderer
- ParticleSystem class
- coding, in Scrolling Shooter project / Coding the ParticleSystem class
- particle system explosion
- implementing, in Scrolling Shooter project / Implementing a particle system explosion
- physics engine
- PhysicsEngine
- updating / Updating PhysicsEngine
- platformer
- building / How we will build the platformer
- player's components
- about / Completing the player's and the background's components, The player's components
- StdGraphicsComponent / Completing the StdGraphicsComponent
- PlayerMovementComponent / Completing the PlayerMovementComponent
- PlayerSpawnComponent / Completing the PlayerSpawnComponent
- PlayerInputComponent / Completing the PlayerInputComponent
- LaserMovementComponent / Completing the LaserMovementComponent
- LaserSpawnComponent / Completing the LaserSpawnComponent
- player's empty component classes
- coding / Coding the player's and the background's empty component classes
- StdGraphicsComponent / StdGraphicsComponent
- PlayerMovementComponent / PlayerMovementComponent
- PlayerSpawnComponent / PlayerSpawnComponent
- PlayerInputComponent interface / PlayerInputComponent and the PlayerLaserSpawner interface
- PlayerLaserSpawner interface / PlayerInputComponent and the PlayerLaserSpawner interface
- LaserMovementComponent / LaserMovementComponent
- LaserSpawnComponent / LaserSpawnComponent
- PlayerInputComponent / PlayerInputComponent
- players components
- GameObject/Component reality check / GameObject/Component reality check
- PlayerTransform / PlayerTransform
- PlayerUpdateComponent / PlayerUpdateComponent
- player’s components
- coding, in spirte-sheets / Coding the player's components and transform
- player’s transform
- coding, in spirte-sheets / Coding the player's components and transform
- polymorphic methods / Polymorphism
- polymorphism / Polymorphism
- about / Polymorphism
- abstract class / Abstract classes
- interface / Interfaces
- PongActivity class
- about / Coding the PongActivity class
- coding / Coding the PongActivity class
- Pong engine
- reusing / Reusing the Pong engine
- BulletHellActivity, coding / Coding the BulletHellActivity
- BulletHellGame class, coding / Coding the BulletHellGame class
- Bullet Hell engine, testing / Testing the Bullet Hell engine
- PongGame
- executing / Running the game
- Pong game
- about / Pong
- initiating / Starting the Pong game
- planning / Planning the Pong game
- project, setting up / Setting up the Pong project
- running / Running the game
- collisions, options / Best options for Pong
- sound, adding / Adding sound to the Pong game
- sound variables, adding / Adding the sound variables
- SoundPool, initializing / Initializing the SoundPool
- playing / Playing the game
- PongGame class
- coding / Coding the PongGame class, Coding the PongGame class
- member variables, adding / Adding the member variables
- startNewGame method, coding / Coding the startNewGame method
- draw method, coding / Coding the draw method
- SurfaceView class / Understanding the draw method and the SurfaceView class
- PongGame constructor
- coding / Coding the PongGame constructor
- primitive types
- about / Primitive types
- int / Primitive types
- long / Primitive types
- float / Primitive types
- boolean / Primitive types
- private variables
- accessing with setters / Accessing private variables with getters and setters
- accessing with getters / Accessing private variables with getters and setters
- project patterns
- about / Project patterns
- BitmapStore / BitmapStore
- Levels / Levels and LevelManager
- LevelManager / Levels and LevelManager
R
- Random class / The Random class and the nextInt method
- reference / The Random class and the nextInt method
- random numbers
- generating, to deploy sub / Generating random numbers to deploy a sub
- real-time strategy (RTS) / Basic classes mini-app
- reference
- about / Variables revisited
- reference variables
- about / Reference variables
- string references / String references
- array references / Array references
- object/class references / Object/class references
- Renderer
- updating / Updating Renderer
- coding / Coding a Renderer
- Renderer class
- building, for handling drawing / Building a Renderer class to handle the drawing
- Renderer classes
- Runnable interface
- reference / Problems with threads
S
- scope / Scope: Methods and Variables
- screen touches / Making sense of the screen touches
- Scrolling Shooter engine
- particle system, adding / Adding a particle system to the game engine and drawing it with the Renderer
- particle system, drawing with Renderer / Adding a particle system to the game engine and drawing it with the Renderer
- Scrolling Shooter game
- about / Scrolling Shooter
- executing / Running the game, Running the game, Running the completed game, Running the game
- Scrolling Shooter project
- about / Introducing the Scrolling Shooter project
- structure / Game programming patterns and the structure of the Scrolling Shooter project
- starting / Starting the project
- manifest, editing / Editing the manifest
- GameActivity class, coding / Code the GameActivity class
- GameEngine class / Getting started on the GameEngine class
- controlling, with GameState class / Controlling the game with a GameState class
- testing / Testing the game so far
- executing / Running the game, Running the game, Running the game
- Observer pattern / The Observer pattern in the Scrolling Shooter project
- Observer pattern, coding / Coding the Observer pattern in Scrolling Shooter
- broadcaster interface, coding / Coding the Broadcaster interface
- InputObserver interface, coding / Coding the InputObserver interface
- GameEngine, BroadCaster making / Making GameEngine a Broadcaster
- Multitouch UI controller, coding / Coding a Multitouch UI controller and making it a listener
- listener, creating / Coding a Multitouch UI controller and making it a listener
- handleInput method, coding / Coding the required handleInput method
- UIController, using / Using the UIController
- particle system explosion, implementing / Implementing a particle system explosion
- Particle class, coding / Coding the Particle class
- ParticleSystem class, coding / Coding the ParticleSystem class
- physics engine, building / Building a physics engine to get things moving
- Simple Factory pattern
- about / The Simple Factory pattern
- scenarios / At last some good news
- Singleton code / The Singleton code
- Singleton pattern / The Singleton pattern
- Snake class
- coding / Coding the Snake class
- constructor, coding / Coding the constructor
- reset method, coding / Coding the reset method
- move method, coding / Coding the move method
- detectDeath method, coding / Coding the detectDeath method
- checkDinner method, coding / Coding the checkDinner method
- draw method, coding / Coding the draw method
- switchHeading method, coding / Coding the switchHeading method
- using / Using the snake class and finishing the game
- Snake Clone game
- about / Snake Clone
- Snake game
- about / Introduction to the Snake game, Looking ahead to the Snake game
- reference / Introduction to the Snake game
- full screen, making / Make full screen and landscape
- landscape, making / Make full screen and landscape
- empty classes, adding / Adding some empty classes
- SnakeActivity, coding / Coding SnakeActivity
- sound effects, adding / Adding the sound effects, Add the sound to the project
- game engine, coding / Coding the game engine
- running / Running the game
- arrays, using / Using Arrays in the snake game
- ArrayList / ArrayLists
- enhanced for loop / The enhanced for loop
- finishing / Using the snake class and finishing the game
- completed game, running / Running the completed game
- snake game
- creating, in different languages / Making the snake game Spanish, English and German
- Spanish support, adding / Adding Spanish support
- German support, adding / Adding German support
- string resources, adding / Add the string resources
- code, amending / Amending the code
- executing, in Spanish / Run the game in German or Spanish
- executing, in German / Run the game in German or Spanish
- sound effects
- generating / Generating sound effects
- sound engine
- building / Building a sound engine
- files, adding to project / Adding the sound files to the project
- SoundEngine class, coding / Coding the SoundEngine class
- SoundEngine class, using / Using the SoundEngine class
- SoundEngine
- coding / Code the SoundEngine
- Soundpool class
- about / The Soundpool class
- initializing / Initializing SoundPool the new way , Back to initializing SoundPool (the new way), Initializing SoundPool the old way
- Java Method chaining / Java Method chaining explained
- sound files, loading into memory / Loading sound files into memory
- sound, playing / Playing a sound
- sound, stopping / Stopping a sound
- sounds
- Spanish support
- adding, to snake game / Adding Spanish support
- SpawnComponent / SpawnComponent
- sprite-sheets
- animating / Animating sprite-sheets
- animator, coding / Coding the Animator
- player’s components, coding / Coding the player's components and transform
- player’s transform, coding / Coding the player's components and transform
- parallax background, coding / Coding a parallax background
- BackgroundTransform, coding / Coding the BackgroundTransform
- BackgroundGraphicsComponent, coding / Coding the BackgroundGraphicsComponent
- BackgroundUpdateComponent, coding / Coding the BackgroundUpdateComponent
- levelManager, updating / Updating the levelManager, GameObjectFactory and GameObject
- GameObjectFactory, updating / Updating the levelManager, GameObjectFactory and GameObject
- GameObject, updating / Updating the levelManager, GameObjectFactory and GameObject
- executing / Running the game
- stack
- static methods / Static methods
- mini-app, creating / Encapsulation and static methods mini-app
- string identifier / Add the string resources
- string resources
- adding, to snake game / Add the string resources
- subclass / OOP and inheritance
- Sub Hunter game
- for loop, used for drawing grid / Using for loops to draw the Sub' Hunter grid
- takeShot method, coding / Coding the takeShot method
- takeShot method, explaining / Explaining the takeShot method
- boom method, coding / Coding the boom method
- shot, drawing on grid / Drawing the shot on the grid
- running / Running the game
- Sub’ Hunter game
- about / Sub' Hunter
- initiating / Starting the first project: Sub' Hunter, Extra step 1, Extra step 2
- locking, to full-screen and landscape orientation / Locking the game to full-screen and landscape orientation
- deploying / Deploying the game so far
- executing, on Android emulator / Running the game on an Android emulator
- executing, on real device / Running the game on a real device
- planning / Planning the Sub' Hunter game
- actions flowchart/diagram / Actions flowchart/diagram
- actions flowchart/diagram, code comments / Code comments
- code, mapping out with comments / Mapping out our code using comments
- structuring, methods used / Structuring Sub' Hunter with methods
- variables, declaring / Declaring and Initializing the Sub' Hunter Variables
- variables, initializing / Declaring and Initializing the Sub' Hunter Variables
- testing / Testing the game
- graphics, drawing / Drawing the Sub' Hunter graphics and text
- text, drawing / Drawing the Sub' Hunter graphics and text
- drawing / Preparing to draw
- canvas, initializing / Initializing a Canvas, Paint, ImageView, and Bitmap
- ImageView, initializing / Initializing a Canvas, Paint, ImageView, and Bitmap
- Bitmap, initializing / Initializing a Canvas, Paint, ImageView, and Bitmap
- Paint, initializing / Initializing a Canvas, Paint, ImageView, and Bitmap
- grid lines, drawing / Drawing some grid lines
- HUD, drawing / Drawing the HUD
- printDebuggingText method, upgrading / Upgrading the printDebuggingText method
- superclass / OOP and inheritance
- switch keyword
- about / Switching to make decisions
- example / Switch example
- syntax
- handling / Handling syntax and jargon
T
- this keyword
- using / Using "this"
- about / Encapsulation and static methods mini-app
- Thread class
- reference / Problems with threads
- threads
- about / Threads
- aspects / Threads
- issues / Problems with threads
- Java try / Java try, catch exception handling
- catch exception handling / Java try, catch exception handling
- game loop, implementing / Implementing the game loop with a thread
- Transform class
- coding / Coding the basic transform
U
- UIController
- using, in Scrolling Shooter project / Using the UIController
- UIController class
- coding / Coding the UIController class
V
- variable access
- summary / Variable access summary
- variables / Linking up our methods, Class implementation
- using / How to use variables
- declaring / Declaring variables
- initializing / Initializing variables
- using, with operators / Making variables useful with operators
- about / Variables revisited
- variables, Sub’ Hunter game
- planning / Planning the variables
- declaring / Declaring the variables
- screen sizes and resolution, handling / Handling different screen sizes and resolutions
- initializing / Handling different screen resolutions part 1: Initialising the variables
W
- warning
- about / Errors, warnings, and bugs
- while loop
- about / Loops, While loops
- exit, determining / Breaking out of a loop
X
- XML (extensible markup language) / Locking the game to full-screen and landscape orientation