Index
A
- Adobe Photoshop
- about / Manufacturing art assets
- URL / Manufacturing art assets
- analytics
- about / Tracking the game with Flurry Analytics
- using / Understanding the Analytics
- angular damping
- about / Defining properties with fixtures
- animated characters
- creating / Creating animated characters
- character movement, simplifying / Simplifying the character movement
- melee attack, implementing / Implementing a melee attack
- animated sprites
- about / Animating and creating sprites
- illusion of action / The illusion of action
- sprite space, maximizing / Maximize the sprite space
- looping / Looping an animation
- animation system
- building / Building an animation system
- application
- creating / Creating the application
- arguments
- about / Rebuilding the HUD
- art assets
- manufacturing / Manufacturing art assets
- artificial intelligence (AI)
- about / Bringing enemies to life
- audio
- manufacturing / Manufacturing audio
- audio APIs
- about / Making HTML game development easy
- audio file formats
- about / Understanding the audio file formats
- MP3 / Understanding the audio file formats
- OCG / Understanding the audio file formats
B
- 8-bit Collective
- URL / Manufacturing audio
- background images
- about / Filling the scene with the Background Properties editor
- background move
- adding / Making the background move
- background music, Sound Properties editor
- about / A little background music
- Background Properties editor
- about / Filling the scene with the Background Properties editor
- used, for filling scene / Filling the scene with the Background Properties editor
- backgrounds
- creating, with tilesets / Creating backgrounds with tilesets
- BFXR
- URL / Manufacturing audio
- BMP format
- about / Understanding the image file formats
- boss battle
- about / Building a boss battle
- building / Building a boss battle
- indestructible Gun, creating / Creating the indestructible Gun
- Cannons, constructing / Constructing the first phase: The Cannons
- giant LaserCannon, creating / Building the second phase: The giant LaserCannon
- shielded Boss Core, creating / Setting the final stage: The shielded Boss Core
- Box2D physics engine
- about / Understanding the physics engine
- working / Understanding the physics engine
- Brawl
- creating / Building a wandering Brawl
- bullet
- building / Building the bullet
- firing / Firing the bullet
- removing, from world / Removing bullets from the world
- Burst emitters
- about / Utilizing particle emitters
C
- canFire variable / Building the player
- Cannons
- constructing / Constructing the first phase: The Cannons
- character movement
- simplifying / Simplifying the character movement
- child objects
- about / Making the enemy parent
- classic platforming game
- systems-based code, structuring / Structuring systems-based code
- player character, building / Building the player
- room, setting up / Setting up the room
- boss battle, building / Building a boss battle
- Coach
- creating / Creating the Coach
- coding conventions
- about / Coding conventions
- collectible
- about / The collectible
- spawning, Time Line Properties editor used / Using the Time Line Properties editor to spawn collectibles
- collision forecasting system
- creating / Creating a collision forecasting system
- collision group
- about / Defining properties with fixtures
- collision sounds
- adding, in tower toppling game / Adding in the collision sounds
- collision_line function
- about / Creating the Coach
- consistency
- about / Consistency
- constants
- about / Creating gravity
- CSS3 (Cascading Style Sheets 3)
- about / Making HTML game development easy
D
- 2D array
- used, for selecting levels / Selecting levels with 2D arrays
- about / Selecting levels with 2D arrays
- data
- sending, to Flurry / Sending the data to Flurry
- data object
- about / A little background music
- data structures
- about / Preparing the Shop using data structures
- stacks / Preparing the Shop using data structures
- queues / Preparing the Shop using data structures
- lists / Preparing the Shop using data structures
- maps / Preparing the Shop using data structures
- priority queues / Preparing the Shop using data structures
- grids / Preparing the Shop using data structures
- debugging tools
- about / Tools for debugging your games
- HTML5 DEBUG console / Using the HTML5 DEBUG console
- Windows version debugger / Using the Windows version debugger
- JavaScript code / Taking a look at the JavaScript code
- Debug Messages
- about / Tools for debugging your games
- debug version, JavaScript code
- about / Taking a look at the JavaScript code
- demolition equipment, tower toppling game
- building / Building the demolition equipment
- Wrecking Ball, creating / Creating a Wrecking Ball
- Magnetic Crane, creating / Making a Magnetic Crane
- density
- about / Defining properties with fixtures
- Distance Joint
- about / Connecting objects with Joints
- draw_text_ext function / Adding introductory text to each level
- Dust Cloud
- creating / Creating a Dust Cloud
E
- else statement
- about / Creating the Coach
- Emitters
- about / Using the GM:S Audio engine
- enemies, game
- constructing / Constructing three little enemies
- enemy parent, creating / Making the enemy parent
- FloatBot, building / Building the FloatBot
- SpaceMine, creating / Creating the SpaceMine
- Strafer, creating / Making the Strafer
- bringing to life / Bringing enemies to life
- Ghost Librarian, summoning / Summoning the Ghost Librarian
- Brawl, creating / Building a wandering Brawl
- Coach, creating / Creating the Coach
- enemy parent
- creating / Making the enemy parent
- Equipment Menu, tower toppling game
- creating / Creating the Equipment Menu
- Events / Building the player
- events
- tracking, in game / Tracking events in the game
- Exit object / Creating Room Portals
- explosions
- creating / Creating the explosions
F
- Facebook integration
- about / Integrating with Facebook
- Facebook login button
- adding, to game / Adding a Facebook login button
- falloff / Using the GM:S Audio engine
- FGL
- URL / Making money with your games
- finishing details, adding
- game music / Adding the game music
- background move / Making the background move
- explosions / Creating the explosions
- fixture
- about / Defining properties with fixtures
- used, for defining properties / Defining properties with fixtures
- FloatBot
- about / Building the FloatBot
- building / Building the FloatBot
- Flurry
- data, sending / Sending the data to Flurry
- Flurry Analytics
- about / Tracking the game with Flurry Analytics
- implementing / Tracking the game with Flurry Analytics
- setting up / Setting up Flurry Analytics
- Font Properties editor
- about / Writing text and the Font Properties editor
- text, writing / Writing text and the Font Properties editor
- Force
- about / Applying forces to objects
- applying, to objects / Applying forces to objects
- Freesound
- URL / Manufacturing audio
- friction
- about / Defining properties with fixtures
- Front Ends
- rooms, setting up / Setting up the rooms
G
- game
- running / Running the game
- debugging tools / Tools for debugging your games
- coding conventions / Coding conventions
- controlling, with Overlord / Controlling the game with the Overlord
- win condition, setting up / Setting up the win condition
- Ghost object, respawning / Respawning with a Ghost object
- user interface, drawing / Drawing the user interface
- finishing details, adding / Adding the finishing details to the game
- rooms, navigating between / Navigating between rooms
- rooms, building / Setting up the rooms
- rooms portal, creating / Creating Room Portals
- risk and reward, adding / Adding risk and reward to destruction
- introductory text, adding to each level / Adding introductory text to each level
- particle effects, adding / Adding particle effects to the game
- releasing, on website / Releasing a game on your own site
- hosting / Hosting the game
- uploading, with FTP / Uploading the game with FTP
- Facebook login button, adding / Adding a Facebook login button
- events, tracking / Tracking events in the game
- releasing / Making money with your games
- GameMaker*Studio
- features / Making HTML game development easy
- HTML5 Game Development / Making HTML game development easy
- purchasing / Setting up the software
- downloading / Setting up the software
- setting up / Setting up the software
- layout / Our first look at the Studio
- interface / Our first look at the Studio
- Menu / Our first look at the Studio
- Toolbar / Our first look at the Studio
- Resource tree / Our first look at the Studio
- Workspace / Our first look at the Studio
- resource editors / Exploring the resource editors
- art assets, loading with Sprite Properties editor / Loading your art assets with the Sprite Properties editor
- game objects, creating with Object Properties editor / Creating game objects with the Object Properties editor
- worlds, creating with Room Properties editor / Creating worlds with the Room Properties editor
- game, running / Running the game
- code, introducing with Script Properties editor / Introducing code with the Script Properties editor
- scene, filling with Background Properties editor / Filling the scene with the Background Properties editor
- noise, bringing with Sound Properties editor / Bringing noise with the Sound Properties editor
- Font Properties editor / Writing text and the Font Properties editor
- complex movements, creating with Path Properties editor / Creating complex movements with the Path Properties editor
- collectibles, spwaning with Time Line Properties editor / Using the Time Line Properties editor to spawn collectibles
- art assets, creating / Manufacturing art assets
- image file formats / Understanding the image file formats
- sprite sheets, importing / Importing sprite sheets
- image editor / Introducing the image editor
- in-built Image Editor / Introducing the image editor
- animated sprites / Animating and creating sprites
- audio, manufacturing / Manufacturing audio
- audio file formats / Understanding the audio file formats
- animated characters / Creating animated characters
- physics engine, building / Understanding the physics engine
- tower toppling game, building / Building a tower toppling game
- integrating, with Facebook / Integrating with Facebook
- GameMaker Language
- about / Introducing code with the Script Properties editor, Coding conventions
- game music
- adding / Adding the game music
- GAUSSIAN effect
- about / Utilizing particle emitters
- Gear Joints
- about / Connecting objects with Joints
- Ghost Librarian
- summoning / Summoning the Ghost Librarian
- Ghost object
- respawning / Respawning with a Ghost object
- giant LaserCannon
- creating / Building the second phase: The giant LaserCannon
- GIF format
- about / Understanding the image file formats
- GIMP
- about / Manufacturing art assets
- URL / Manufacturing art assets
- GM*S Audio engine
- about / Using the GM:S Audio engine
- using / Using the GM:S Audio engine
- Google Chrome / Taking a look at the JavaScript code
- gravity
- creating / Creating gravity
- grid data structure
- about / Preparing the Shop using data structures
H
- heads-up display (HUD)
- about / Drawing the user interface
- rebuilding / Rebuilding the HUD
- HTML5
- about / Making HTML game development easy
- testing / Making HTML game development easy
- HTML5 DEBUG console
- about / Using the HTML5 DEBUG console
- using / Using the HTML5 DEBUG console
- HTML5 limitations, particles effects
- about / HTML5 limitations
I
- ICO format
- about / Creating the application
- iframe / Making money with your games
- image editor
- about / Introducing the image editor
- backgrounds, creating with tilesets / Creating backgrounds with tilesets
- image file formats
- about / Understanding the image file formats
- BMP / Understanding the image file formats
- GIF / Understanding the image file formats
- JPG / Understanding the image file formats
- PNG / Understanding the image file formats
- in-built Image Editor
- about / Introducing the image editor
- indestructible Gun
- creating / Creating the indestructible Gun
- inheritance
- about / Making the enemy parent
- Ini files / Writing to local storage
- instance_find function
- about / Creating the Coach
- introductory text
- adding, to each level / Adding introductory text to each level
- INVGAUSSIAN effect
- about / Utilizing particle emitters
- isGameActive variable
- about / Rebuilding the HUD
- isLocked variable / Selecting levels with 2D arrays
- isTimerStarted variable
- about / Rebuilding the HUD
J
- JavaScript code
- about / Taking a look at the JavaScript code
- using / Taking a look at the JavaScript code
- debug version / Taking a look at the JavaScript code
- obfuscated version / Taking a look at the JavaScript code
- Joints
- used, for conencting objects / Connecting objects with Joints
- about / Connecting objects with Joints
- types / Connecting objects with Joints
- Distance Joints / Connecting objects with Joints
- Revolute Joints / Connecting objects with Joints
- Prismatic Joints / Connecting objects with Joints
- pulley joints / Connecting objects with Joints
- gear joints / Connecting objects with Joints
- working / Connecting objects with Joints
- JPG format
- about / Understanding the image file formats
K
- keyboard
- creating / Checking the keyboard
- keyboard_check_pressed function / Implementing a melee attack
- keyframe
- about / Looping an animation
L
- Legacy Sound engine
- about / Using the GM:S Audio engine
- linear damping
- about / Defining properties with fixtures
- LINEAR effect
- about / Utilizing particle emitters
- list data structure
- about / Preparing the Shop using data structures
- Listeners
- about / Using the GM:S Audio engine
- local storage
- about / Understanding local storage
- writing to / Writing to local storage
- loop / Using the GM:S Audio engine
M
- Magnetic Crane, tower toppling game
- creating / Making a Magnetic Crane
- map data structure
- about / Preparing the Shop using data structures
- melee attack
- implementing / Implementing a melee attack
- Menu
- about / The Menu
- Microsoft Internet Explorer 9.0 / Taking a look at the JavaScript code
- motion planning functions
- about / Creating the Coach
- Mozilla Firefox / Taking a look at the JavaScript code
- MP3 file format
- about / Understanding the audio file formats
- mp_grid_create attribute
- about / Creating the Coach
- mp_potential_step function
- about / Creating the Coach
- multiple game profiles
- saving / Saving multiple game profiles
- myLevel variable / Selecting levels with 2D arrays
- myNum variable / Selecting levels with 2D arrays
N
- normal sounds, Sound Properties editor
- about / Bringing noise with the Sound Properties editor
O
- obfuscated version, JavaScript code
- about / Taking a look at the JavaScript code
- Object
- about / Exploring the resource editors
- Object Properties editor
- about / Creating game objects with the Object Properties editor
- used, for creating game objects / Creating game objects with the Object Properties editor
- wall object, creating / The Wall object
- player object, creating / The Player object
- obj_Bullet event
- about / Making the enemy parent
- obj_Enemy_Parent
- about / Making the enemy parent
- obj_Player event
- about / Making the enemy parent
- OGG file format
- about / Understanding the audio file formats
- Overlord
- about / A little background music
- used, for controlling game / Controlling the game with the Overlord
- used, for conmtrolling game / Controlling the game with the Overlord
- wave of enemies, creating / Spawning waves of enemies
- building / Building the Overlord
P
- parent object
- about / Constructing three little enemies
- creating / Making the enemy parent
- particle effects
- about / Introducing particle effects
- elements / Introducing particle effects
- HTML5 limitations / HTML5 limitations
- adding, to game / Adding particle effects to the game
- Dust Cloud, creating / Creating a Dust Cloud
- Shrapnel, adding / Adding in Shrapnel
- TNT explosion, creating / Making the TNT explosion
- particles, cleaning / Cleaning up the particles
- particle emitters
- about / Utilizing particle emitters
- Burst / Utilizing particle emitters
- Stream / Utilizing particle emitters
- Shape options / Utilizing particle emitters
- distribution / Utilizing particle emitters
- LINEAR / Utilizing particle emitters
- GAUSSIAN / Utilizing particle emitters
- INVGAUSSIAN / Utilizing particle emitters
- particles
- about / Applying particles
- applying / Applying particles
- cleaning / Cleaning up the particles
- particle systems
- about / Understanding particle systems
- Path Properties editor
- about / Creating complex movements with the Path Properties editor
- used, for creating complex movements / Creating complex movements with the Path Properties editor
- persistent player
- teleporting / Teleporting a persistent player
- physics engine
- about / Understanding the physics engine
- physics world, activating / Activating the world
- properties, fixing with Fixtures / Defining properties with fixtures
- objects, connecting with Joints / Connecting objects with Joints
- Forces, applying to objects / Applying forces to objects
- physics properties
- defining, with fixtures / Defining properties with fixtures
- density / Defining properties with fixtures
- restitution / Defining properties with fixtures
- collision group / Defining properties with fixtures
- linear damping / Defining properties with fixtures
- angular damping / Defining properties with fixtures
- friction / Defining properties with fixtures
- physics world
- activating / Activating the world
- Pickle
- about / Manufacturing art assets
- URL / Manufacturing art assets
- Pillars, tower toppling game
- breaking, into Debris / Breaking the Pillars into Debris
- Pillars and Debris, tower toppling game
- constructing / Constructing the Pillars and Debris
- player character
- building / Building the player
- player object
- creating / The Player object
- bulding / Building the player
- player sprite, setting up / Setting up the player sprite
- controlling / Controlling the player object
- bullet, building / Building the bullet
- bullet, firing / Firing the bullet
- bullet, removing from world / Removing bullets from the world
- player points
- rewarding / Adding risk and reward to destruction
- player sprite
- creating / The player sprite, Setting up the player sprite
- players progress, saving
- about / Saving the player's progress
- local storage / Understanding local storage
- local storage, writing to / Writing to local storage
- multiple game profiles, saving / Saving multiple game profiles
- PNG format
- about / Understanding the image file formats
- polish
- about / Polish
- priority queue data structure
- about / Preparing the Shop using data structures
- Prismatic Joints
- about / Connecting objects with Joints
- Pulley Joints
- about / Connecting objects with Joints
- PyxelEdit
- URL / Manufacturing art assets
Q
- quality bar
- raising / Raising the quality bar
- consistency / Consistency
- readability / Readability
- polish / Polish
- queue data structure
- about / Preparing the Shop using data structures
R
- readability
- about / Readability
- Reason
- URL / Manufacturing audio
- resource editors
- Sprite Properties editor / Loading your art assets with the Sprite Properties editor
- Object Properties editor / Creating game objects with the Object Properties editor
- Room Properties editor / Creating worlds with the Room Properties editor
- Script Properties editor / Introducing code with the Script Properties editor
- Background Properties editor / Filling the scene with the Background Properties editor
- Sound Properties editor / Bringing noise with the Sound Properties editor
- Font Properties editor / Writing text and the Font Properties editor
- Path Properties editor / Creating complex movements with the Path Properties editor
- Time Line Properties editor / Using the Time Line Properties editor to spawn collectibles
- Resource tree
- about / The Resource tree
- restitution
- about / Defining properties with fixtures
- Revolute Joints
- about / Connecting objects with Joints
- risk and reward
- adding, to game / Adding risk and reward to destruction
- Room
- about / Exploring the resource editors
- room
- setting up / Setting up the room
- room portals
- creating / Creating Room Portals
- Room Properties editor
- about / Creating worlds with the Room Properties editor
- used, for creating worlds / Creating worlds with the Room Properties editor
- rooms
- navigating between / Navigating between rooms
- setting up / Setting up the rooms
- persistent player, teleporting / Teleporting a persistent player
- Shop, preparing with data structures / Preparing the Shop using data structures
- rooms, HUD
- setting up / Setting up the rooms
- main menu, initializing / Initializing the main menu
- levels, selecting with 2D arrays / Selecting levels with 2D arrays
S
- Script Properties editor
- about / Introducing code with the Script Properties editor
- code, intorducing with / Introducing code with the Script Properties editor
- scr_Enemy_Collision_Bullet script / Making the enemy parent
- scr_Enemy_Collision_Player script / Making the enemy parent
- scr_Player_Attack_Alarm script / Implementing a melee attack
- section/key/value structure / Writing to local storage
- shape options, particle emitters
- about / Utilizing particle emitters
- shapes
- about / Applying particles
- shielded Boss Core
- creating / Setting the final stage: The shielded Boss Core
- Shrapnel
- adding / Adding in Shrapnel
- Sonant
- URL / Manufacturing audio
- Sound Properties editor
- about / Bringing noise with the Sound Properties editor
- used, for bringing noise / Bringing noise with the Sound Properties editor
- normal sounds / Bringing noise with the Sound Properties editor
- background music / A little background music
- game, controlling with Overlord / Controlling the game with the Overlord
- collectible / The collectible
- SpaceMine
- about / Creating the SpaceMine
- creating / Creating the SpaceMine
- splash screens
- about / Creating the application
- sponsors / Making money with your games
- Sprite
- about / Exploring the resource editors, Applying particles
- Sprite Properties editor
- about / Loading your art assets with the Sprite Properties editor
- used, for loading set assets / Loading your art assets with the Sprite Properties editor
- wall sprite, creating / The wall sprite
- player sprite, creating / The player sprite
- Spriter
- URL / Manufacturing art assets
- Spriters Resource
- URL / Manufacturing art assets
- sprite sheets
- importing / Importing sprite sheets
- spr_Bullet_SpaceMine script / Creating the SpaceMine
- stack data structure
- about / Preparing the Shop using data structures
- startEquip Grid
- about / Rebuilding the HUD
- Start object / Creating Room Portals
- Strafer
- about / Making the Strafer
- creating / Making the Strafer
- Stream emitters
- about / Utilizing particle emitters
- systems-based code
- structuring / Structuring systems-based code
- gravity, creating / Creating gravity
- animation system, building / Building an animation system
- collision forecasting system, creating / Creating a collision forecasting system
- keyboard, creating / Checking the keyboard
T
- Text files / Writing to local storage
- textLength variable / Adding introductory text to each level
- tileset
- about / Creating backgrounds with tilesets
- tile sets
- about / Filling the scene with the Background Properties editor
- Time Line Properties editor
- about / Using the Time Line Properties editor to spawn collectibles
- used, for spawning collectibles / Using the Time Line Properties editor to spawn collectibles
- TNT explosion
- creating / Making the TNT explosion
- Toolbar
- about / The Toolbar
- totalLevels variable / Selecting levels with 2D arrays
- towers, tower toppling game
- constructing / Constructing the towers
- tower toppling game
- building / Building a tower toppling game
- Pillars and Debris, constructing / Constructing the Pillars and Debris
- Pillars, breaking into Debris / Breaking the Pillars into Debris
- collision sounds, adding / Adding in the collision sounds
- demolition equipment, building / Building the demolition equipment
- win condition, setting / Setting the win condition
- Equipment Menu, creating / Creating the Equipment Menu
- towers, constructing / Constructing the towers
U
- user interface, game
- drawing / Drawing the user interface
V
- Variables / Building the player
W
- wall object
- creating / The Wall object
- wall sprite
- creating / The wall sprite
- waves of enemies
- creating / Spawning waves of enemies
- WebGL
- about / Making HTML game development easy, HTML5 limitations
- win condition
- setting up / Setting up the win condition
- win condition, tower toppling game
- setting / Setting the win condition
- Windows version debugger
- using / Using the Windows version debugger
- about / Using the Windows version debugger
- Workspace
- about / The Workspace
- Wrecking Ball, tower toppling game
- creating / Creating a Wrecking Ball
- writeText variable / Adding introductory text to each level