Key terms from the book, defined for quick reference.
- alpha
- How opaque a color is, from 0 (fully transparent) to 255 (fully solid). Used to fade sprites and particles.
- argument
- The actual value you pass into a function when you call it (e.g. the
5inadd(5, 3)). Compare parameter. - array
- A fixed-size collection of values of the same type, accessed by an index. Once created, its size never changes.
- abstract class
- A class that cannot be created on its own and exists only to be inherited from. It may declare abstract methods that every subclass must provide.
- atlas (texture atlas)
- A single image holding many sprites, plus a list of where each sprite sits inside it. Faster than loading many separate images.
- bitmap
- An image held in memory as a grid of colored pixels.
- Boolean
- A type that holds only
trueorfalse. - camelCase
- The naming style used for variables and functions: lowercase first word, uppercase each word after, e.g.
playerScore. - Canvas
- Android's drawing surface. You call methods on it (
drawCircle,drawText, etc.) to paint a frame. - class
- A blueprint that bundles data (properties) and behavior (methods) together. Objects are built from it.
- collection
- A container holding multiple values: an array, list, set, or map.
- compile
- Turning your written code into a program the device can run. The compiler also reports errors.
- constructor
- The part of a class that sets up a new object, written in the class header in Kotlin.
- delta time
- The time elapsed since the last frame. Multiplying movement by it keeps speed the same on fast and slow devices.
- encapsulation
- Hiding a class's internal data (with
private) and exposing only controlled methods. - enum
- A type whose value must be one of a fixed, named set of options (e.g.
MENU,PLAYING,GAME_OVER). - extension function
- A function added to an existing type (even one you don't own) without subclassing it.
- Float
- A type for decimal numbers. Written with a trailing
f(e.g.3.5f). Used for nearly all on-screen coordinates. - frame
- One single drawn image. Games redraw many frames per second (we target ~60).
- game loop
- The cycle a game repeats every frame: handle input, update state, draw. In this book it runs on its own thread.
- generics
- The angle-bracket types like
List<Particle>that let one class work with any type while staying type-safe. - immutable
- Unable to be changed after creation.
valvariables and read-onlyLists are immutable. - index
- A value's position in a collection, starting at 0. The first element is at index 0.
- inheritance
- Building a class on top of another, gaining its properties and methods and adding or overriding behavior.
- init block
- Code in a class that runs once, automatically, when an object is created.
- instance (object)
- A concrete thing built from a class blueprint.
- Int
- A type for whole numbers (no decimal point).
- interface
- A contract: a list of methods a class promises to provide. A class can implement many interfaces.
- lambda
- A small, nameless block of code you can store in a variable or pass to a function, written
{ params -> body }. - list
- A collection that can grow and shrink.
MutableListcan be changed;Listis read-only. - logcat
- Android Studio's window showing messages and errors from a running app. You can print to it with
Log.d. - map
- A collection of key–value pairs; you look up a value by its key.
MutableMapcan be changed. - method
- A function that belongs to a class and acts on its object's data.
- modulo (
%) - The remainder after division. Useful for wrapping values and "every Nth time" logic.
- nullable
- A type marked with
?that is allowed to holdnull("nothing"). Kotlin forces you to handle the null case. - object
- See instance. Also, more loosely, any value with properties and methods.
- override
- Replacing an inherited method with a class's own version, using the
overridekeyword. - parameter
- A named input declared in a function's definition (e.g.
amountinfun takeDamage(amount: Int)). Compare argument. - polymorphism
- Treating different subclasses through their shared base type, so one call (e.g.
enemy.move()) runs each object's own behavior. - property
- A variable declared at the class level, shared by all the class's methods.
- Rect / RectF
- Rectangles.
Rectuses whole-number pixels (source regions in a texture);RectFuses floats (screen positions and hit boxes). - SharedPreferences
- Android's simple key-value store for saving small data (like a high score) so it survives closing the app.
- SoundPool
- Android's system for playing short sound effects with low delay.
- sprite
- A single 2D image (or animation frame) drawn in a game, usually cut from a texture atlas.
- state machine
- A design where the program is always in exactly one of a fixed set of states (e.g. menu, playing, game over), and behaves accordingly.
- String
- A type holding text, written in double quotes.
- string template
- Inserting a variable's value into a string with
$, e.g."Score: $score". - SurfaceView
- A special view that a background thread can draw to directly and quickly; the foundation of our game engine.
- thread
- A separate line of execution. We run the game loop on its own thread so it doesn't block the UI.
- type inference
- Kotlin working out a variable's type from its value, so you often don't have to state it.
- UI thread
- The single main thread Android uses for the interface and input. Heavy work must not block it.
- variable
- A named container for a piece of data (
varto allow changes,valto lock it). - vibe coding
- Building software iteratively in conversation with an AI: describe, generate, review, run, refine — while reading and understanding every line.
@Volatile- A marker on a variable shared between threads, ensuring each thread always sees the latest value.