Index
A
- A* pathfinding
- about / Intelligently behaving actors, A* pathfinding
- overview / Overview
- algorithm / Algorithm
- definitions, in algorithm / Algorithm
- URL / Algorithm
- Mouse class / The Mouse class
- abstract classes
- about / Base class
- URL / Base class
- access controls, Java
- URL / Stop the music
- achievement badges, Avoider Game
- about / Achievement badges
- Magically Delicious / Achievement badges
- Turkey / Achievement badges
- Unbreakable / Achievement badges
- Master Avoider / Achievement badges
- actors
- creating, in ZombieInvasionWorld / Dynamically creating actors in ZombieInvasionWorld
- actors, as tiles
- about / Actors as tiles
- HikingWorld class / The HikingWorld class
- Hiker class / The Hiker class
- ScrollingActor class / The ScrollingActor class
- actors, Cupcake Counter
- launching / Bouncing
- particle effects / Particle effects
- turrets / Bullets and turrets
- bullets / Bullets and turrets
- Artificial Intelligence (AI)
- MazeWorld scenario / The MazeWorld scenario
- intelligently behaving actors / Intelligently behaving actors
- AS3 Avoider Game Tutorial
- Avatar class
- modifications / Changes to the Avatar class
- Avoider Game
- tutorial / The Avoider Game tutorial
- revisiting / Revisiting Avoider Game
- about / Avoider Game, Avoider Game
- URL, for downloading version / Avoider Game
- recap / Avoider Game recap
- high-score list / High-score list
- achievement badges / Achievement badges
- player conditioning / Player conditioning
- storytelling / Storytelling
- playtesting / Playtesting
- gamepad, adding / Avoider Game with Gamepad
- AvoiderWorld class
- modifications / Changes to the AvoiderWorld class
B
- background music, game
- adding / Adding background music
- music code, writing / Writing the music code
- music code, analysing / Analyzing the music code
- music, stopping / Stop the music
- basic game elements
- about / Basic game elements
- scenario, creating / Creating a scenario
- game, creating / Making it a game
- playability, enhancing / Enhancing playability
- behavior heuristics
- about / Behavior heuristics
- Snake class / The Snake class
- blank slate / A blank slate
- border-based collision detection methods
- about / Border-based collision detection methods
- single-object collisions, detecting at offset / Detecting single-object collisions at an offset
- multiple object collisions, detecting at offset / Detecting multiple-object collisions at an offset
- bounding boxes / Detecting collisions
- built-in collision detection methods
- about / Built-in collision detection methods
- getOneIntersectingObject() method, used for detecting collision with single object / Detecting a collision with a single object
- isTouching() / isTouching() and removeTouching()
- removeTouching() / isTouching() and removeTouching()
- getIntersectingObjects() method, used for detecting collision with multiple objects / Detecting a collision with multiple objects
- getObjectsInRange() method, used for detecting multiple objects in range / Detecting multiple objects in range
C
- casting / Switching scenes
- cell size / Built-in collision detection methods
- class / Adding background music
- CloudsWorld class, side scrolling game
- about / The CloudsWorld class
- collision
- detecting, with single object / Detecting a collision with a single object
- detecting, with multiple objects / Detecting a collision with multiple objects
- collision detection
- about / Detecting collisions
- color
- working with / The Star class
- Color class
- URL / The Star class
- Comparable interface / The Mouse class
- constructor functions
- URL / Adding background music
- constructors / Adding background music
- ControllerMate, for Mac
- URL / Gamepad mapper software
- Coursera
- URL / Learn more Java
- Cupcake Counter
- about / Cupcake Counter
- playing / How to play
- implementing / Implementing Cupcake Counter
- URL / Implementing Cupcake Counter
- CupcakeWorld class / The CupcakeWorld class
- enemies / Enemies
- fountains / Fountains
- turrets / Turrets, Rewards, Bullets and turrets
- jumpers / Jumpers
- platforms / Platforms
- testing / Test it out
- assignment / Your assignment, Your assignment
- actors, launching / Launching actors
- gravity / Gravity and jumping
- jumping / Gravity and jumping
- bouncing / Bouncing
- particle effects / Particle effects
- bullets / Bullets and turrets
- challenge / Challenge
D
- 2D scrolling, mapped worlds
- about / 2D scrolling
- HikingWorld2D class / The HikingWorld2D class
- Hiker class / The Hiker class
- ScrollingActor class / The ScrollingActor class
- implementing / Try it out
- D-pad
- about / Gamepad overview
- decrement operator, Java / Hurting the avatar
- delay variables
- about / Delay variables
- avatar, hurting / Hurting the avatar
- design patterns
- about / Achievement badges
- dynamically generated worlds
- about / Dynamically generated worlds
- creating / Dynamically generated worlds
- side scrolling game / Side-scrolling
E
- easing equations
- using / Easing
- power-ups / Power-ups and power-downs
- power-downs / Power-ups and power-downs
- base class, creating for power items / Base class
- enemies, adding
- about / Adding enemies
- code / Enemy code
- army, creating / Creating an army
- enemies, animating
- about / Making enemies less happy
- assets, finding / Finding assets
- Enjoy
- URL / Gamepad mapper software
- explosion
- creating, for ZombieInvasion interactive simulation / Creating an explosion
- exponential easing / Exponential easing
F
- fictional worlds
- about / Fictional worlds
- Finch Robot
- followMouse function
- creating / Creating the followMouse function
- functional decomposition
G
- game-over screen, adding
- about / Adding a game-over screen
- scenes, switching / Switching scenes
- play again button, adding / Adding a "play again" button
- game balance
- URL, for wiki / Playtesting
- game creation
- about / Making it a game
- collision detection / Detecting collisions
- game-over screen, adding / Adding a game-over screen
- introduction screen, adding / Adding an introduction screen
- background music, adding / Adding background music
- game difficulty settings
- implementing / Implementing game difficulty settings and HUD controls
- gamepad project template
- gamepads
- overview / Gamepad overview
- Windows setup / Windows setup
- games, with gamepads
- exporting / Exporting games with gamepads
- game scoring
- about / Game scoring
- Counter class, adding / Adding the Counter class
- score, increasing over time / Increasing the score over time
- garbage collection / Memory management
- Greenfoot
- URL / The Avoider Game tutorial
- URL, for documentation / The Avoider Game tutorial, High-score list
- about / High-score list
- Greenfoot documentation
- URL / Creating the followMouse function
- URL, for World class / Unbounding the world
- Greenfoot Gamepad API
- about / The Greenfoot Gamepad API
- overview / Overview
- static keyword / Overview
- GamePad class / The GamePad and Direction classes
- Direction class / The GamePad and Direction classes
- URL / The GamePad and Direction classes
- GreenfootImage class
- using / Using GreenfootImage
- Greenfoot program / Using the mouse as a game controller
- Greenfoot worlds / Built-in collision detection methods
H
- heads-up displays (HUDs) / UIWorld
- hidden-sprite collision detection methods
- high-score list, Avoider Game / High-score list
- Hiker class, MazeWorld scenario
- about / The Hiker class
- HUD controls
- implementing / Implementing game difficulty settings and HUD controls
I
- image movement
- about / Image swapping and movement
- image swapping
- about / Image swapping and movement
- increment operator, Java / Hurting the avatar
- input devices
- exploring / Explore other input devices
- instanceof operator / Detecting multiple-object collisions at an offset
- intelligently behaving actors
- about / Intelligently behaving actors
- ScrollingEnemy class / The ScrollingEnemy class
- randomness / Randomness
- spider / Spider
- behavior heuristics / Behavior heuristics
- A* pathfinding / A* pathfinding
- interactive entertainment iterative development process
- about / The interactive entertainment iterative development process
- game pitch / Game pitch and initial design
- initial design / Game pitch and initial design
- prototype / Prototype
- playtest, conducting / Playtest
- evaluation stage / Evaluation
- refinement / Refinement
- benefits / Benefits
- introduction screen, game
- about / Adding an introduction screen
- initial screen, setting / Setting the initial screen
- play button, adding / Adding a "play" button
- isTouching() method / isTouching() and removeTouching()
J
- Java
- URL, for tutorials / Hurting the avatar
- about / Learn more Java
- Java exceptions
- about / Avoider Game with Gamepad
- URL / Avoider Game with Gamepad
- Java file I/O
- URL, for tutorials / High-score list
- Java interfaces
- about / Detecting a collision with multiple objects
- reference link / Detecting a collision with multiple objects
- Java switch statement
- Java Tutorials
- URL / Learn more Java
- Joystick Mapper
- URL / Gamepad mapper software
L
- Last-in First-out (LIFO) order / The Mouse class
- Leap Motion
- levels, adding to game
- about / Adding levels
- spawn rates, increasing / Increasing spawn rates and enemy speed
- enemy speed, increasing / Increasing spawn rates and enemy speed
- difficulty, increasing based on score / Increasing difficulty based on the score
- enemy speed increases, implementing / Implementing enemy speed increases
- linear easing / Linear easing
- List interface, Java
- Lynda
- URL / Learn more Java
M
- Magically Delicious badge / Achievement badges
- main actor framework
- creating, for ZombieInvasion interactive simulation / Creating our main actor framework
- mapped worlds
- about / Mapped worlds
- side-scrolling / Side-scrolling
- 2D scrolling / 2D scrolling
- Master Avoider badge / Achievement badges
- MazeWorld class
- about / The MazeWorld class
- MazeWorld scenario
- about / The MazeWorld scenario
- MazeWorld class / The MazeWorld class
- Hiker class / The Hiker class
- ScrollingActor class / Scrolling actor
- ScrollingObstacle class / The ScrollingObstacle class
- UI, adding / Adding a UI to MazeWorld
- menus, adding / Adding menus and buttons
- buttons, adding / Adding menus and buttons
- HUD, adding / Adding a HUD
- game difficulty settings, implementing / Implementing game difficulty settings and HUD controls
- HUD controls, implementing / Implementing game difficulty settings and HUD controls
- meaningful play
- about / Meaningful play
- scenarios / Meaningful play
- complexity / Complexity
- goals / Goals
- Menu class
- about / The Menu class
- Microsoft Kinect
- mouse, as game controller
- about / Using the mouse as a game controller
- followMouse function, creating / Creating the followMouse function
- code, breaking down / Breaking down the code
- multiple object collisions
- detecting, at offset / Detecting multiple-object collisions at an offset
- multiple objects
- collision, detecting with / Detecting a collision with multiple objects
- detecting, in range / Detecting multiple objects in range
N
- narrative descriptors / Narrative descriptors
O
- object-oriented programming concepts
- URL / What have we just done?
- obstacles
- creating, for zombie horde / Creating obstacles
- OS X setup
- gamepads, using / OS X setup/workarounds
- gamepad mapper software / Gamepad mapper software
P
- Packt Publishing
- URL / Learn more Java
- parallax
- using / Using parallax
- playability, enhancing of game
- about / Enhancing playability
- game scoring / Game scoring
- levels, adding / Adding levels
- player conditioning, Avoider Game
- about / Player conditioning
- playtest, Avoider Game
- conducting / Playtesting
- power-downs
- about / Power-ups and power-downs
- power-ups
- about / Power-ups and power-downs
- power items
- linear easing / Linear easing
- exponential easing / Exponential easing
- sinusoidal easing / Sinusoidal easing
- Press Space To Win (PSTW) / Complexity
- project
- brainstorming / Build something larger
R
- random actions
- about / Random actions
- blinking / Blinking
- removeTouching() method / isTouching() and removeTouching()
- RGBA color model
- URL / The Star class
- Rocket class, side scrolling game
- about / The Rocket class
S
- scenario creation
- about / Creating a scenario
- world, creating for game / Creating our world
- character, creating / Creating our hero, What have we just done?
- character, adding / Adding our hero
- mouse, using as game controller / Using the mouse as a game controller
- enemies, adding / Adding enemies
- world, unbounding / Unbounding the world
- memory management / Memory management
- ScrollingActor class, actors as tiles
- tiles / Tiles
- Lake class / The Lake class
- ScrollingActor class, MazeWorld scenario
- about / Scrolling actor
- ScrollingEnemy class
- about / The ScrollingEnemy class
- ScrollingObstacle class, MazeWorld scenario
- about / The ScrollingObstacle class
- setImage()
- using / Using setImage()
- used, for animating enemies / Making enemies less happy
- calling, based on Actor location / Calling setImage() based on Actor location
- setLocation()
- using / Using setLocation()
- star field, creating / Creating a star field
- side-scrolling, mapped worlds
- about / Side-scrolling
- creating / Side-scrolling
- HikingWorld class / The HikingWorld class
- Hiker class / The Hiker class
- ScrollingActor class / The ScrollingActor class
- implementing / Try it out
- SideScrollingActor class, side scrolling game
- about / Side-scrolling actors
- clouds / Clouds
- walls / Walls
- side scrolling game
- creating / Side-scrolling
- Rocket class, creating / The Rocket class
- CloudsWorld class, creating / The CloudsWorld class
- SideScrollingActor class, creating / Side-scrolling actors
- implementing / Try it out
- single-object collisions
- detecting, at offset / Detecting single-object collisions at an offset
- single object
- collision, detecting with / Detecting a collision with a single object
- Singleton design pattern / Achievement badges
- sinusoidal easing / Sinusoidal easing
- Star class / The Star class
- star field
- creating / Creating a star field
- blank slate / A blank slate
- Star class / The Star class
- moving field, creating / Creating a moving field
- parallax, using / Using parallax
- GreenfootImage class, using / Using GreenfootImage
- storyboards
- about / Build something larger
- storytelling
- about / Storytelling
- fictional worlds / Fictional worlds
- narrative descriptors / Narrative descriptors
- storytelling, Avoider Game
- about / Storytelling
- story screen, adding / Adding a story screen
- score, modifying / Changing the score
- sound effects, adding / Adding sound effects
- synchronization
- about / Timing and synchronization
T
- tile-based worlds
- about / Tile-based worlds
- actors, as tiles / Actors as tiles
- game sprites / Other game sprites
- timing
- about / Timing and synchronization
- top-down design / Switching scenes
- triggered events
- about / Triggered events
- eyes, adding / Adding eyes
- hero sight, giving / Giving our hero sight
- Turkey badge / Achievement badges
U
- UI
- adding, to MazeWorld / Adding a UI to MazeWorld
- UIWorld
- about / UIWorld
- Button class / The Button class
- TextBox class / The TextBox class
- Menu class / The Menu class
- heads-up display (HUD) / Heads-up display
- Unbreakable badge / Achievement badges
- user conditioning
- about / User conditioning
- positive reinforcement method / User conditioning
- negative reinforcement method / User conditioning
- punishment method / User conditioning
- user interfaces (UIs)
- UIWorld / UIWorld
W
- War card game
- URL, for wiki / Complexity
- work, sharing
- about / Share your work
- Greenfoot.org, publishing on / Publishing on Greenfoot.org
- desktop application / Desktop application
- web page,. exporting / Exporting as a web page
X
- Xbox 360 controller, for Windows
- setting up / Windows setup
- connecting / Connecting your controller
- reference / Connecting your controller
- Greenfoot gamepad software / Greenfoot gamepad software
Z
- zombie horde
- obstacles, creating for / Creating obstacles
- ZombieInvasion interactive simulation
- about / ZombieInvasion interactive simulation
- URL, for initial version / ZombieInvasion interactive simulation
- actors, creating / Dynamically creating actors in ZombieInvasionWorld
- obstacles, creating for zombie horde / Creating obstacles
- main actor framework, creating / Creating our main actor framework
- explosion, creating / Creating an explosion
- testing / Test it out, Time to test it out