Index
A
- AARectShape class / Processing collisions
- Actor / Space Invaders design
- add(obj) method / Processing collisions
- add_ball method / Adding the Breakout items
- add_brick method / Adding the Breakout items
- analyzer
- building / Building the analyzer
- access, providing to images / Providing access to the images and classification results
- access, providing to classification results / Providing access to the images and classification results
- access, providing to parameters for user configuration / Providing access to parameters for the user to configure
- entire game model, initializing / Initializing the entire model of the game
- entire game model, updating / Updating the entire model of the game
- image, capturing / Capturing and converting an image
- image, converting / Capturing and converting an image
- boards corners, detecting / Detecting the board's corners and tracking their motion
- boards motion, tracking / Detecting the board's corners and tracking their motion
- birds -eye view, creating / Creating and analyzing the bird's-eye view of the board
- dominant colors, analyzing in square / Analyzing the dominant colors in a square
- contents of a square, classifying / Classifying the contents of a square
- text, drawing / Drawing text
- Apple Python / Mac
- Arbiter / Adding physics
- arrival behavior / Arrival
B
- ball
- movement / Movement and collisions
- collisions / Movement and collisions
- Ball class / The Ball class
- basic game objects
- adding, to game layer / The game layer
- Breakout game
- overview / An overview of Breakout
- playing / Playing Breakout
- Breakout items
- adding / Adding the Breakout items
- game object instantiation / Adding the Breakout items
- key input binding / Adding the Breakout items
- Brick class / The Brick class
C
- cameras
- configuring / Configuring cameras
- Canvas widget
- about / Diving into the Canvas widget
- canvas widget
- canvas.coords() method / Diving into the Canvas widget
- canvas.move() method / Diving into the Canvas widget
- canvas.delete() method / Diving into the Canvas widget
- canvas.winfo_width() method / Diving into the Canvas widget
- canvas.itemconfig () method / Diving into the Canvas widget
- canvas.bind() method / Diving into the Canvas widget
- canvas.unbind ()method / Diving into the Canvas widget
- canvas.create_text() method / Diving into the Canvas widget
- canvas.find_withtag() method / Diving into the Canvas widget
- canvas.find_overlapping() method / Diving into the Canvas widget
- references, URL / Diving into the Canvas widget
- Checkers application
- planning / Planning the Checkers application
- check_collisions method / Starting the game
- Chimpunk2D
- URL / Introducing Pymunk
- CircleShape class / Processing collisions
- clear() method / Processing collisions
- Cocos2d
- actions / Cocos2d actions
- cocos2d
- installing / Installing cocos2d
- about / Getting started with cocos2d
- scene / Getting started with cocos2d
- layer / Getting started with cocos2d
- sprite / Getting started with cocos2d
- director / Getting started with cocos2d
- class members / Getting started with cocos2d
- fullscreen parameter / Getting started with cocos2d
- resizable parameter / Getting started with cocos2d
- vsync parameter / Getting started with cocos2d
- width parameter / Getting started with cocos2d
- height parameter / Getting started with cocos2d
- caption parameter / Getting started with cocos2d
- visible parameter / Getting started with cocos2d
- user input, handling / Handling user input
- scene, updating / Updating the scene
- collisions, processing / Processing collisions
- Shoot actor / Shoot'em up!
- HUD, adding / Adding an HUD
- mystery ship / Extra feature – the mystery ship
- Cocos2d actions
- about / Cocos2d actions
- instant actions / Cocos2d actions, Instant actions
- interval actions / Interval actions
- combining / Combining actions
- custom actions / Custom actions
- CocosNode / Getting started with cocos2d
- collision detection game
- about / Basic collision detection game
- CollisionManager interface
- about / Processing collisions
- CollisionManagerBruteForce / Processing collisions
- CollisionManagerGrid / Processing collisions
- colors
- working with / Working with colors
- component base class / Component-based game engines
- Cshape / Processing collisions
- custom actions
- about / Custom actions
D
- distance formulation
- CentOS, setting upTopicnURL / Working with colors
- Domain-specific Language (DSL) / The scenario definition
- draw_text method / Adding the Breakout items
E
- evade behavior / Pursuit and evade
F
- face culling
- about / The Cube class
- enabling / Enabling face culling
- flee behavior / Seek and flee
- frames per second (FPS) / Pygame 101
- freeglut / Installing packages
- future position / Pursuit and evade
G
- game
- starting / Starting the game
- game assets
- creating / Creating game assets
- Game class / The Game class
- game design
- about / An introduction to game design
- level design / Level design
- platformer skills / Platformer skills
- component-based game engines / Component-based game engines
- game framework
- building / Building a game framework
- start() method / Building a game framework
- update(dt) method / Building a game framework
- on_collide(other, contacts) method / Building a game framework
- stop() method / Building a game framework
- physics, adding / Adding physics
- renderable components / Renderable components
- InputManager module / The InputManager module
- Game class / The Game class
- game layer
- basic game objects, adding to / The game layer
- GameLayer class / The PlayerCannon and GameLayer classes
- game objects
- about / Basic game objects
- Ball class / The Ball class
- Paddle class / The Paddle class
- Brick class / The Brick class
- Game Objects / Component-based game engines
- game scene
- about / Game scene
- HUD class / The HUD class
- assembling / Assembling the scene
- glClear() function / Drawing shapes
- glClearColor() function / Initializing the window
- glColor functions / Initializing the window
- glLightfv() function / Drawing shapes
- glLoadIdentity() function / Drawing shapes
- glMaterialfv() function / Drawing shapes
- glMatrixMode() function / Initializing the window
- glPopMatrix() function / Drawing shapes
- glPushMatrix() function / Drawing shapes
- glTranslate() function / Drawing shapes
- gluLookAt() function / Drawing shapes
- gluPerspective()
- function / Initializing the window
- glutDisplayFunc() function / Initializing the window
- GLUT licensing / Getting started with OpenGL
- glutMainLoop() function / Initializing the window
- glutSolidSphere() function / Drawing shapes
- glutSpecialFunc() function / Initializing the window, Processing the user input
- gravitation game
- about / Gravitation game
- basic game objects / Basic game objects
- planets / Planets and pickups
- pickups / Planets and pickups
- player / Player and enemies
- enemies / Player and enemies
- explosions / Explosions
- GUI application
- building / Building the GUI application
- window, creating / Creating a window and binding events
- events, binding / Creating a window and binding events
- images, laying out / Creating and laying out images in the GUI
- images, creating / Creating and laying out images in the GUI
- controls, laying out / Creating and laying out controls
- controls, creating / Creating and laying out controls
- layouts, nesting / Nesting layouts and setting the root layout
- root layout, setting / Nesting layouts and setting the root layout
- background thread, starting / Starting a background thread
- window, closing / Closing a window and stopping a background thread
- background thread, stopping / Closing a window and stopping a background thread
- analyzer based on user input, configuring / Configuring the analyzer based on user input
- images, updating / Updating and showing images
- images, displaying / Updating and showing images
- running / Running the application
- GUI layout / The basic GUI layout
H
- homography / Initializing the entire model of the game
I
- installation
- Python / Installing Python
- installation, NumPy / NumPy installation
- instant actions
- about / Cocos2d actions, Instant actions
- Place / Instant actions
- CallFunc / Instant actions
- CallFuncS / Instant actions
- Hide / Instant actions
- Show / Instant actions
- ToggleVisibility / Instant actions
- Integrated Development Environments (IDE)
- about / A quick demonstration
- interval actions
- about / Interval actions
- Lerp / Interval actions
- MoveTo / Interval actions
- MoveBy / Interval actions
- JumpTo / Interval actions
- JumpBy / Interval actions
- Bezier / Interval actions
- Blink / Interval actions
- RotateTo / Interval actions
- RotateBy / Interval actions
- ScaleTo / Interval actions
- ScaleBy / Interval actions
- FadeOut / Interval actions
- FadeIn / Interval actions
- FadeTo / Interval actions
- Delay / Interval actions
- RandomDelay / Interval actions
- invaders
- iter_colliding(obj) method / Processing collisions
K
- k-means clustering / Initializing the entire model of the game
- known entities / Processing collisions
- knows(obj) method / Processing collisions
L
- layer / Cocos2d actions
- learning curve / Level design
M
- Mac
- setting up / Mac
- MacPorts
- URL / Mac
- main menu
- adding / Adding a main menu
- math module
- about / Interval actions
- URL / Interval actions
- Menu / Adding a main menu
- move() method / Adding the Breakout items
N
- NumPy
- installing / NumPy installation
- URL, for official binaries / NumPy installation
- URL, for unofficial compiled binaries / NumPy installation
O
- obstacle avoidance behavior
- about / Obstacle avoidance
- OpenCV
- setting up / Setting up OpenCV and other dependencies
- dependencies, setting up / Setting up OpenCV and other dependencies
- Windows, setting up / Windows
- URL / Windows
- Mac, setting up / Mac
- Debian, setting up / Debian and its derivatives, including Raspbian, Ubuntu, and Linux Mint
- Raspbian, setting up / Debian and its derivatives, including Raspbian, Ubuntu, and Linux Mint
- Ubuntu, setting up / Debian and its derivatives, including Raspbian, Ubuntu, and Linux Mint
- Linux Mint, setting up / Debian and its derivatives, including Raspbian, Ubuntu, and Linux Mint
- Fedora, setting up / Fedora and its derivatives, including RHEL and CentOS
- Fedora, derivates / Fedora and its derivatives, including RHEL and CentOS
- RHEL, setting up / Fedora and its derivatives, including RHEL and CentOS
- CentOS, setting up / Fedora and its derivatives, including RHEL and CentOS
- OpenSUSE / OpenSUSE and its derivatives
- OpenSUSE, derivates / OpenSUSE and its derivatives
- multiple versions, supporting / Supporting multiple versions of OpenCV
- references / Further reading on OpenCV
- OpenCV images
- converting, for wxPython / Converting OpenCV images for wxPython
- OpenGL
- about / Getting started with OpenGL
- window, initializing / Initializing the window
- shapes, drawing / Drawing shapes
- demo, running / Running the demo
- program, refactoring / Refactoring our OpenGL program
- user input, processing / Processing the user input
- used, for drawing / Drawing with OpenGL
- Cube class / The Cube class
- face culling, enabling / Enabling face culling
- OpenGL Utility Library / Initializing the window
- OpenGL Utility Toolkit / Getting started with OpenGL
- optical flow / Detecting the board's corners and tracking their motion
P
- package installation
- PyOpenGL / Installing packages
- freeglut / Installing packages
- Pygame / Installing packages
- packages
- installing / Installing packages
- Paddle class / The Paddle class
- ParticleSystem class
- about / The ParticleSystem class
- demonstrating / A quick demonstration
- PlayerCannon class / The PlayerCannon and GameLayer classes
- Player class
- about / The Player class and its components
- respawn / The Player class and its components
- PlayerMovement / The Player class and its components
- project
- troubleshooting / Troubleshooting the project in real-world conditions
- pursuit behavior / Pursuit and evade
- Pygame
- about / Installing packages
- URL / Installing packages, Pygame 101
- Macintosh, URL / Installing packages
- adding / Adding the Pygame library
- 101 / Pygame 101
- documentation / Pygame 101
- integration / Pygame integration
- Pyglet
- about / Installing cocos2d
- event framework / Handling user input
- pyglet.window.key module
- URL / Handling user input
- Pymunk
- about / Introducing Pymunk
- pymunk package, classes
- space / Introducing Pymunk
- body / Introducing Pymunk
- shape / Introducing Pymunk
- arbiter / Introducing Pymunk
- PyOpenGL
- about / Installing packages
- URL / Installing packages, Initializing the window
- PyPlatformer
- developing / Developing PyPlatformer
- platforms, creating / Creating the platforms
- pickups, adding / Adding pickups
- shooting action / Shooting!
- Player class / The Player class and its components
- class / The PyPlatformer class
- PyPlatformer class / The PyPlatformer class
- pyramidal Lukas-Kanade / Detecting the board's corners and tracking their motion
- Python
- installing / Installing Python
- URL / Installing Python
- packaging ecosystem / Installing cocos2d
- special methods / Combining actions
- Python 2
- and Tkinter / Installing Python
- Python Extension Packages
- URL / Installing packages
- Python modules, Checkers application
- Checkers.py / Planning the Checkers application
- CheckersModel.py / Planning the Checkers application
- WxUtils.py / Planning the Checkers application
- ResizeUtils.py / Planning the Checkers application
- ColorUtils.py / Planning the Checkers application
- CVBackwardCompat.py / Planning the Checkers application
- Python Package Index (PyPi) / Installing cocos2d
R
- render() method / Building a game framework
- renderable components
- about / Renderable components
- camera component / The Camera component
S
- scenario
- definition / The scenario definition
- scenario class / The scenario class
- scenario module / The scenario class
- scenes
- about / Cocos2d actions
- transitions between / Transitions between scenes
- game over cut scene / Game over cut scene
- seek behavior / Seek and flee
- Simple DirectMedia Layer (SDL) / Pygame integration
- Single-board Computer (SBC) / Converting OpenCV images for wxPython
- slowing area / Arrival
- Space Invaders design
- about / Space Invaders design
- PlayerCannon class / Space Invaders design, The PlayerCannon and GameLayer classes
- Alien class / Space Invaders design
- AlienColumn class / Space Invaders design
- AlienGroup class / Space Invaders design
- Shoot class / Space Invaders design
- PlayerShoot class / Space Invaders design
- GameLayer class / The PlayerCannon and GameLayer classes
- sprite / Cocos2d actions
- start method
- glutInit() / Initializing the window
- glutInitWindowPosition() / Initializing the window
- glutInitWindowsSize() / Initializing the window
- glutCreateWindow() / Initializing the window
- glEnable() / Initializing the window
- start_game method / Starting the game
- steering behaviors
- implementing / Implementing steering behaviors
- seek / Seek and flee
- flee / Seek and flee
- arrival / Arrival
- pursuit / Pursuit and evade
- evade / Pursuit and evade
- wander / Wander
- obstacle avoidance / Obstacle avoidance
- steering behaviors, for autonomous characters
- reference link / Implementing steering behaviors
- subclasses, MenuItem
- ToggleMenuItem / Adding a main menu
- MultipleMenuItem / Adding a main menu
- EntryMenuItem / Adding a main menu
- ImageMenuItem / Adding a main menu
- ColorMenuItem / Adding a main menu
- super(MyClass, self).__init__(arguments) / The basic GUI layout
- syntactic sugar / Combining actions
T
- Thread Building Blocks (TBB) / Mac
- Tiled Map Editor
- URL / Tiled Map Editor
- about / Tiled Map Editor
- tile maps
- about / Tile maps
- Tiled Map Editor / Tiled Map Editor
- tiles, loading / Loading tiles
- Tkinter
- URL / Installing Python
- and Python 2 / Installing Python
- TMX format / Tiled Map Editor
- tower defense actors
- about / The tower defense actors
- turret / Turrets and slots
- slots / Turrets and slots
- enemies / Enemies
- bunker / Bunker
- tower defense gameplay
- about / The tower defense gameplay
U
- update() method / Building a game framework
- update method / Movement and collisions
- update_lives_text method / Adding the Breakout items
V
- values, wander behavior
W
- wander behavior
- Windows
- wxPython
- URL / Windows
- OpenCV images, converting / Converting OpenCV images for wxPython
- wxPython Phoenix
X
- Xcode Command Line Tools / Mac