Index
A
- A button / GamePad input, Buttons
- acceleration structures / Culling
- accelerometer
- about / Accelerometer
- accelerometer->MinimumReportInterval / Accelerometer
- accelerometer->ReadingChanged event / Accelerometer
- AccelerometerReadingChangedEventArgs class / Accelerometer
- AccelerometerReadingChangedEventArgs parameter / Accelerometer
- AccelerometerReading object / Accelerometer
- Accuracy property / Position
- action / Action
- AddControl() method / A better menu system
- AddScore / Fighting for score
- Age rating and rating certificates section / Submitting your game
- AlignedByteOffset / Input layouts
- application titles / Live tiles
- App packages
- about / App packages
- capabilities / Capabilities
- privacy policy, adding / Adding a privacy policy
- declarations / Declarations
- creating / Creating your app packages
- Array Size
B
- Back / GamePad input
- back buffer / Swap chain
- backface culling
- about / Vertices and triangles
- B button / GamePad input, Buttons
- Binary Space Partition Tree (BSP Tree) / Culling
- BindServiceNameAsync() method / TCP – StreamSocket, UDP – DatagramSocket
- BMP
- versus TTF / TTF versus BMP
- buffers
- about / Buffers
- vertex buffers, building / Building the vertex and index buffers
- index buffers, building / Building the vertex and index buffers
- setting / Setting the buffers
- using / Using the buffers
- numBuffers / Using the buffers
- ppVertexBuffers / Using the buffers
- pStrides / Using the buffers
- pOffsets / Using the buffers
- constant buffers / Constant buffers
- updating / Updating the buffers
- mapping / Mapping the buffer
- UpdateSubresource() method / The UpdateSubresource() method
- Bullet class
- creating / Fighting for score
- buttons, GamePad / Buttons
C
- camera
- about / Co-ordinate systems, Cameras
- cbuffer block / Vertex shaders
- Certification tips
- about / Certification tips
- privacy / Privacy
- legacy APIs / Legacy APIs
- debug / Debug
- WACK / WACK
- CharacterRegion parameter / Building the font
- CharacterSpacing parameter / Building the font
- CivicAddress property / Position
- ClearDepthStencilView() method / Clearing the screen
- ClearRenderTargetView() method / Clearing the screen
- client/server model
- about / The client/server model
- clipping plane / DirectXMath
- co-ordinate systems
- about / Co-ordinate systems
- collision
- detecting / Collision detection
- rectangle collision / Rectangle collision
- compass
- about / Compass
- Component Object Model (COM) system / Initializing the Direct3D API
- ConnectAsync() method / TCP – StreamSocket
- ConnectAsync() method / Side note – Async
- ConnectAsync method / Side note – Async
- connectionless protocol / UDP – DatagramSocket
- ConnectionReceived event / TCP – StreamSocket
- ConnectionRequested event / Using the PeerFinder
- constant buffers / Constant buffers
- consumables
- about / The consumables
- ControlBase / A better menu system
- CoreWindow instance / Swap chain
- CoreWindow object / Pointers
- CPUAccessFlags / Building the vertex and index buffers
- Create() method / Swap chain
- CreateBuffer() method / Setting the buffers
- CreateInputLayout() method / Input layouts
- CreateSprite method / Implementation
- CurrentApp class / Testing with the simulator
- CurrentAppSimulator class / Testing with the simulator
D
- D-Pad / GamePad input
- D-Pad down button / Buttons
- D-Pad left button / Buttons
- D-Pad right button / Buttons
- D-Pad up button / Buttons
- D3D11CreateDevice() method / Graphics device
- D3D11VertexShader object / Setting the buffers and drawing
- D3D11_BIND_CONSTANT_BUFFER / Constant buffers
- D3D11_MAPPED_SUBRESOURCE object / Mapping the buffer
- D3D11_MAP_FLAG_DO_NOT_WAIT / Mapping the buffer
- D3D11_MAP_WRITE_DISCARD / Mapping the buffer
- D3D11_SUBRESOURCE_DATA object / Setting the buffers
- D3D11_USAGE_DEFAULT / Building the vertex and index buffers
- D3D11_USAGE_DYNAMIC / Building the vertex and index buffers, Constant buffers
- D3D11_USAGE_IMMUTABLE / Building the vertex and index buffers
- D3D11_USAGE_STAGING / Building the vertex and index buffers
- data-oriented design / Components and entities
- datagrams / UDP – DatagramSocket
- DatagramSocketMessageReceivedEventArgs object / UDP – DatagramSocket
- DataReader
- about / The DataReader
- DataTransferManager class / Sharing in Windows 8
- DataWriter
- about / The DataWriter
- Deadzones and thumbsticks, GamePad / Deadzones and thumbsticks
- DebugOutputSpriteSheet parameter / Building the font
- dedicated server / The peer-to-peer model
- DefaultCharacter parameter / Building the font
- deferred contexts / Device context
- Deferred option / Sorting modes
- depth stencil view
- destBox / The UpdateSubresource() method
- Direct3D API
- initializing / Initializing the Direct3D API
- graphics device / Graphics device
- device context / Device context
- swap chain / Swap chain
- Direct3Dbase$$CreateDeviceResources method / Graphics device
- DirectX$$Colors namespace / Drawing the font
- DirectX Graphics Infrastructure (DXGI) / Swap chain
- DirectXMath
- about / Cameras, DirectXMath
- URL / DirectXMath
- DirectXTK
- installing / Installing DirectXTK
- DisplayName property / Using the PeerFinder
- DLC
- about / The traditional model
- domain shader / Down the graphics pipeline
- double buffering / Swap chain
- Draw() method / Drawing the world, A better menu system, Drawing the model
- DrawString() method / A better menu system
- DreamSpark service
- used, for accessing free accounts / Free accounts
- DXT
- about / File formats
E
- EndGame() / Game state and progression
- EndGame method / Game state and progression, Live tiles
- Export Control Classification Number (ECCN) / GDF Certificates
- Extensions and Updates dialog / Installing DirectXTK
F
- farZ parameter / DirectXMath
- field of view (fov) / DirectXMath
- file formats
- PNG / File formats
- DXT / File formats
- FindAllPeersAsync() method / Using the PeerFinder
- font
- building / Building the font
- drawing / Drawing the font
- FontSize parameter / Building the font
- FontStyle parameter / Building the font
- Frame
- about / Structuring each frame
- frame delta / Updating the simulation
- Frames Per Second (FPS)
- about / Structuring each frame
- Freemium model
- about / The freemium model
- front buffer / Swap chain
- FrontToBack option / Sorting modes
- frustum / DirectXMath
G
- game
- structuring / Structuring a game
- traditional object-oriented approach / Traditional object-oriented design
- components / Components and entities
- entity / Components and entities
- Ship class / Putting it all together
- Load method / Putting it all together
- texture, origin / Putting it all together
- Player->BindInput method / Putting it all together
- pool of enemies, creating / Putting it all together
- Update method / Putting it all together
- subsystems / Subsystems
- state / Game state and progression
- progression / Game state and progression
- submitting / Submitting your game, Uploading and submitting
- uploading / Uploading and submitting
- selling / Selling your games
- Game$$Update() method / Pointers
- Game$$Update method / Fighting for score
- Game->Load() function / Drawing the font
- GameApplication.cpp file / Keyboard input
- GameApplication class / Pointers
- game lobby / The first stage
- game loop
- about / Understanding the game loop
- simulation, updating / Updating the simulation
- world, drawing / Drawing the world
- screen, clearing / Clearing the screen
- back buffer, presenting / Presenting the back buffer
- GamePad
- about / Input devices, GamePad input
- multiple controllers / Multiple controllers
- buttons / Buttons
- Deadzones and thumbsticks / Deadzones and thumbsticks
- games
- orientation / Orientation for games
- GDF
- about / GDF Certificates
- certificates / GDF Certificates
- Geocoordinate Position property / Position
- Geocoordinate type / Position
- Geographic North / Compass
- geolocator->GetGeopositionAsync() method / Polling
- geometry shader / Down the graphics pipeline
- get() method / The trial mode
- GetBuffer() method / Render target, depth stencil, and viewport
- GetCurrentReading() method / Spinning with gyros, Light
- GetDefault() method / Spinning with gyros, Orientation for games, Locking on with a GPS
- GetGeopositionAsync() method / Polling
- GetTemplateContent / Live tiles
- GPS
- about / Locking on with a GPS
- status / Status
- position / Position
- polling / Polling
- GPU
- about / Textures
- graphics pipeline
- about / Down the graphics pipeline
- gyro->GetCurrentReading() method / Spinning with gyros
- Gyrometer class / Spinning with gyros
- gyroscope
- about / Spinning with gyros
H
- Hardware requirements section / Submitting your game
- High Level Shader Language (HLSL) / Down the graphics pipeline
- host migration / Maybe a hybrid?
- hull shader / Down the graphics pipeline
- hybrid model
- about / The hybrid model
I
- IASetInputLayout() method / Setting the buffers and drawing
- IASetVertexBuffers / Setting the buffers and drawing
- ID3D11Buffer object / Setting the buffers
- ID3D11InputLayout* object / Input layouts
- IFrameworkView
- about / Applications and windows
- immediate context / Device context
- Immediate option / Sorting modes
- In-app purchases
- about / In-app purchases
- inclinometer
- about / Inclinometer
- Inclinometer$$GetDefault() method / Inclinometer
- InclinometerTrigger / Practice makes perfect
- InclinometerTrigger$$IsTriggered() method / Practice makes perfect
- index buffers
- building / Building the vertex and index buffers
- indices
- about / Indices
- input assembler / Using the buffers
- Input Assembler (IA) / Down the graphics pipeline
- input devices
- about / Input devices
- keyboard / Input devices
- mouse / Input devices
- GamePad / Input devices
- Touch screen / Input devices
- input layouts
- about / Input layouts
- InputManager / InputManager, Triggers
- InputSlotClass / Input layouts
- input system
- refining / Refining the input system
- triggers, base class / Trigger
- action / Action
- InputManager / InputManager
- triggers / Triggers
- installation
- DirectXTK / Installing DirectXTK
- InstanceDataStepRate / Input layouts
- IsTriggered / Triggers
- IsWithinBounds / Triggers
K
- keyboard / Input devices
- keyboard input
- about / Keyboard input
- KeyDown() method / Keyboard input
- KeyState / InputManager
- KeyState$$JustReleased / Game state and progression
- KeyTrigger / Triggers
- KeyUp() method / Keyboard input
L
- latency / Updating the simulation
- Left/right bumper / GamePad input
- Left/right thumbstick / GamePad input
- Left/right trigger / GamePad input
- Legacy APIs / Legacy APIs
- LicenseInformation object / In-app purchases
- light sensor / Light
- LightSensor$$GetDefault() method / Light
- LightSensorReading object / Light
- LineSpacing parameter / Building the font
- listen server
- about / The client/server model
- ListingInformation elements / Testing with the simulator
- ListingInformation node / Testing with the simulator
- Live tiles
- about / Live tiles
- Live titles
- application titles / Live tiles
- secondary titles / Live tiles
- LoadAsync() method / The DataReader, The DataWriter
- Load method / Putting it all together
- LoadTexture helper / Putting it all together
- Lux / Light
M
- Magnetic North / Compass
- Map() command / Mapping the buffer
- Map() method / The UpdateSubresource() method
- mapFlags parameter / Mapping the buffer
- Massively Multiplayer Online Games (MMOG/MMO) / The client/server model
- Matchmaking / The peer-to-peer model
- MeasureString / Game state and progression
- MeasureString() method / A better menu system
- menu system / A better menu system
- MessageReceived event / UDP – DatagramSocket
- Microsoft XNA Framework / Resource management
- Mip Levels
- MiscFlags / Building the vertex and index buffers
- model
- Freemium model / The freemium model
- traditional model / The traditional model
- drawing / Drawing the model
- buffers, setting / Setting the buffers and drawing
- drawing, setting / Setting the buffers and drawing
- Model Space / Cameras
- mouse / Input devices
- MSAA / Swap chain
- MSDN subscriptions / Free accounts
- m_d3dContext->OMSetRenderTargets() method / Render target, depth stencil, and viewport
N
- Near Field Communication (NFC) sensor / Using the PeerFinder
- nearZ parameter / DirectXMath
- networked game
- about / Networking
- peer-to-peer model / Choosing between client/server and peer-to-peer models, The peer-to-peer model
- client/server model / The client/server model
- host migration / Maybe a hybrid?
- first stage / The first stage
- PeerFinder used / Using the PeerFinder
- NextFocus() / A better menu system
- NoPremultiply parameter / Building the font
- nullptr / The UpdateSubresource() method
- nullptr value / Accelerometer
- numBuffers / Using the buffers
O
- off-screen textures / Render target, depth stencil, and viewport
- OnPointerReleased handler / Keyboard input
- OrientationSensorReading object / Orientation for games
- origin / Co-ordinate systems
- Orthographic projection
- about / Co-ordinate systems
- Output Merger / Down the graphics pipeline
P
- Package.appxmanifest file / App packages
- PeerFinder
- using / Using the PeerFinder
- PeerFinder$$FindAllPeersAsync() method / Using the PeerFinder
- PeerFinder$$Start() method / Using the PeerFinder
- PeerFinder$$Start() static method / Using the PeerFinder
- PeerInformation object / Using the PeerFinder
- perspective projection
- about / Co-ordinate systems
- Photoshop Document (PSD)
- about / File formats
- pixel shader / Down the graphics pipeline
- pixel shaders
- about / Pixel shaders
- Placement / A better menu system
- Player$$CanFire / Fighting for score
- Player->BindInput method / Putting it all together
- Player class / Practice makes perfect
- PNG
- about / File formats
- pOffsets / Using the buffers
- PointerAxisBoundsTrigger / Game state and progression
- pointers
- about / Pointers
- polling, GPS
- position, GPS
- POSITION attribute / Input layouts
- PositionChanged event / Locking on with a GPS, Position
- PositionChanged event handler / Status
- Position property / Position
- ppVertexBuffers / Using the buffers
- privacy policy / Privacy
- ProcessClick() method / A better menu system
- PSSetShader() method / Setting the buffers and drawing
- pStrides / Using the buffers
Q
- Quad-Tree / Culling
- Quad-Trees / Collision detection
- Quaternion / Orientation for games
R
- reader->ReadInt32() method / The DataReader
- ReadingChanged() method / Spinning with gyros
- RectangleCollider$$CollidesWith method / Rectangle collision
- RectangleCollider$$Position property / Rectangle collision
- ref new Geolocator() method / Locking on with a GPS
- Render() function / Setting up the stage
- Render() method / Drawing the world
- renderer
- resource management / Resource management
- culling / Culling
- implementation / Implementation
- Renderer class / Game state and progression
- render target / Render target, depth stencil, and viewport
- render target view
- creating / Render target, depth stencil, and viewport
- reporting interval / Accelerometer
- ReportInterval / Accelerometer
- RequestAppPurchaseAsync() method / The trial mode
- RequestProductPurchaseAsync() command / In-app purchases
- ResetGame() / Game state and progression
- resultTask.get() method / Using the PeerFinder
S
- Scaling parameter / Swap chain
- screen tearing / Swap chain
- secondary titles / Live tiles
- Selling Details page / Submitting your game
- sensor fusion / Orientation for games
- SensorRotationMatrix / Orientation for games
- SetClickHandler() method / A better menu system
- SetFocus() / A better menu system
- SetWindow() method / Pointers
- Shader Model 5 / Compiling and loading
- shaders
- about / Shaders
- vertex shaders / Vertex shaders
- pixel shaders / Pixel shaders
- compiling / Compiling and loading
- loading / Compiling and loading
- Shaken event / Shaking things up a bit
- Share Charm / Sharing in Windows 8
- ShareHandler / Sharing in Windows 8
- share source / Sharing in Windows 8
- share target / Sharing in Windows 8
- Ship$$LoadTexture method / Implementation
- Ship class / Putting it all together
- SIMD (Single Instruction, Multiple Data) / DirectXMath
- simulator
- testing with / Testing with the simulator
- Sockets / Communicating the gameplay
- sprite
- about / What a sprite is
- drawing / Drawing the sprites
- modes, sorting / Sorting modes
- batch, finishing / Finishing the batch
- vectors / Vectors
- SpriteFont$$MeasureString command / Game state and progression
- Sprite management / Game state and progression
- Sprite objects / Game state and progression
- stage
- setting up / Setting up the stage
- Start / GamePad input
- StartGame() method / A better menu system
- status, GPS
- StatusChanged event / Locking on with a GPS
- std
- Topicnfunction class / A better menu system
- sThumbLY field / Deadzones and thumbsticks
- sThumbRX field / Deadzones and thumbsticks
- StoreAsync() method / The DataWriter
- StreamSocket / TCP – StreamSocket
- StreamSocketListenerConnectionReceivedEventArgs object / TCP – StreamSocket
- swap chain / Swap chain
T
- task
- Topicnget() method / Polling
- task$$then() method / Polling
- task.get() method / Side note – Async
- TCP
- about / TCP – StreamSocket
- listener / TCP – StreamSocket
- socket / TCP – StreamSocket
- tessellation shader / Down the graphics pipeline
- TEXCOORD attribute / Input layouts
- texels
- about / Textures
- TextBlock$$SetClickHandler() method / A better menu system
- TextBlock class / A better menu system
- implementation / A better menu system
- TextBlock management / Game state and progression
- TextBlock object / A better menu system
- TextBlock parameter / A better menu system
- text rendering
- about / Text rendering
- TTF versus BMP / TTF versus BMP
- font, building / Building the font
- font, drawing / Drawing the font
- texture
- about / What a sprite is, Textures
- file formats / File formats
- loading / Loading
- Texture class / Loading
- TextureFormat parameter / Building the font
- then() method / Side note – Async
- TileTemplateType / Live tiles
- Touch screen / Input devices
- about / Pointers
- traditional model
- about / The traditional model
- trial mode
- about / The trial mode
- Trial mode flag / The trial mode
- triangle strip
- about / Drawing the model
- triggers / Trigger, Triggers
- True North / Compass
- TTF
- versus BMP / TTF versus BMP
- TypedEventHandler class / Sharing in Windows 8
U
- UDP
- about / UDP – DatagramSocket
- data, reading / Reading and writing data
- data, writing / Reading and writing data
- Side note - Async / Side note – Async
- DataReader / The DataReader
- DataWriter / The DataWriter
- Update() method / GamePad input
- Update method / Putting it all together, Triggers
- UpdateSubresource() method / The UpdateSubresource() method
- UV coordinates / Input layouts
V
- vectors
- about / Vectors
- vertex buffers
- building / Building the vertex and index buffers
- vertex shader / Down the graphics pipeline
- vertex shaders
- about / Vertex shaders
- vertices
- about / Vertices and triangles
- Model Space / Cameras
- views / Render target, depth stencil, and viewport
- VirtualKey / Triggers
- VSSetShader() method / Setting the buffers and drawing
- VSync
- turning off / Presenting the back buffer
W
- WACK
- about / Certification kit
- running / WACK
- Windows$$Devices$$Sensors namespace / Accelerometer, Spinning with gyros
- Windows$$System$$VirtualKey enumeration / Keyboard input
- Windows 8
- sharing in / Sharing in Windows 8
- Windows Store account
- creating / Getting into the store
- individual accounts / Getting into the store
- company accounts / Getting into the store
- free accounts / Free accounts
- Windows Store API / The trial mode
- WinRT
- components / WinRT components
- World-View-Projection transform / Cameras
X
- XAML / A better menu system
- Xbox 360 Controller / GamePad input
- X button / GamePad input, Buttons
- XInput / GamePad input
- XInputEnable() method / GamePad input
- XInputGetState() method / Multiple controllers
- XMFLOAT2 object / Game state and progression
Y
- Y button / GamePad input, Buttons