Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
SFML Game Development

You're reading from   SFML Game Development If you've got a firm grasp of C++ with a secret hankering to create a great game, this book is for you. Every practical aspect of programming an interactive game world is here ‚Äì the only real limit is your imagination.

Arrow left icon
Product type Paperback
Published in Jun 2013
Publisher Packt
ISBN-13 9781849696845
Length 296 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (4):
Arrow left icon
Artur Moreira Artur Moreira
Author Profile Icon Artur Moreira
Artur Moreira
Jan Haller Jan Haller
Author Profile Icon Jan Haller
Jan Haller
 SFML SFML
Author Profile Icon SFML
SFML
Henrik Valter Vogelius Henrik Valter Vogelius
Author Profile Icon Henrik Valter Vogelius
Henrik Valter Vogelius
Arrow right icon
View More author details
Toc

Table of Contents (18) Chapters Close

SFML Game Development
Credits
Foreword
About the Authors
About the Reviewers
www.PacktPub.com
Preface
1. Making a Game Tick FREE CHAPTER 2. Keeping Track of Your Textures – Resource Management 3. Forge of the Gods – Shaping Our World 4. Command and Control – Input Handling 5. Diverting the Game Flow – State Stack 6. Waiting and Maintenance Area – Menus 7. Warfare Unleashed – Implementing Gameplay 8. Every Pixel Counts – Adding Visual Effects 9. Cranking Up the Bass – Music and Sound Effects 10. Company Atop the Clouds – Co-op Multiplayer Index

Index

A

  • AcceptCoopPartne / Studying our protocol
  • affectors
    • about / Particle systems
  • Aircraft$$launchMissile() function / Firing bullets and missiles
  • Aircraft class / Aircraft, Movement patterns
  • Aircraft constructor / Displaying text
  • aircraftIdentifiers variable / Peers and aircraft
  • AND operator / Command execution
  • animated sprites
    • about / Animated sprites
  • Application class
    • stack, integrating / Integrating the stack in the Application class
  • application programming interface (API) / Introducing SFML
  • apply() function / Picking up some goodies, Fullscreen post effects
  • Artificial Intelligence (AI) / Movement patterns
  • aspect ratio
    • about / Resolution and aspect ratio
  • assertions
    • about / Assertions
  • assignKey() function / Customizing key bindings
  • attenuation factor
    • about / Attenuation factor and minimum distance
  • Audacity software
    • URL / Music themes
  • audio
    • about / Audio
  • audio module, SFML / Introducing SFML

B

  • bandwidth
    • versus latency / Latency versus bandwidth
    • vew scrolling compensation / View scrolling compensation
  • bloom effect
    • about / Post effects and shaders, The bloom effect
  • Boolean return values
    • about / Boolean return values
  • bounding rectangle / Collision detection and response
  • BroadcastMessage / Studying our protocol
  • bullets
    • firing / Firing bullets and missiles
  • Button$$activate() method / Use case – GUI sounds
  • Button object / Use case – GUI sounds

C

  • C++
    • about / A few notes on C++
  • centerOrigin() function / Displaying text
  • checkMissionEnd() / Understanding the ticks and updates
  • checkProjectileLaunch() function / Firing bullets and missiles
  • checkSceneCollision() function / Finding the collision pairs
  • circle tree
    • about / View optimizations
  • client
    • about / Taking a peek in the other end – the client
    • packets / Client packets
    • game actions transmitting, network modes used / Transmitting game actions via network nodes
    • pause state / The new pause state
    • settings screen / Settings
    • player class / The new Player class
  • Closed event / The Game class
  • CMake / Downloading and installation
  • collision
    • detecting / Collision detection and response
    • pairs, finding / Finding the collision pairs
    • reacting to / Reacting to collisions
  • collision() function / Finding the collision pairs
  • command-based communication system
    • about / A command-based communication system
  • command execution / Command execution
  • CommandQueue class
    • about / Command queues
    / Commands in a nutshell
  • command queues
    • about / Command queues
  • commands
    • about / Introducing commands
    • overview / Commands in a nutshell
  • Component$$handleEvent() function / The GUI hierarchy, the Java way
  • component-based design / Alternative entity designs
  • Component class / The GUI hierarchy, the Java way
  • concurrency / Concurrency
  • container
    • finding / Finding an appropriate container
  • createProjectile() function / Firing bullets and missiles
  • createState() method / Adding states to StateStack
  • culling
    • about / View optimizations
  • custom protocol
    • about / Custom protocols

D

  • 3D space
    • sounds / Sounds in 3D space
  • 3D vectors
    • position / The listener
    • up / The listener
    • direction / The listener
  • data tables
    • entity attributes, storing / Storing entity attributes in data tables
  • data transport
    • about / Data transport
  • delta movement, mouse / Delta movement from the mouse
  • delta time / Frame-independent movement
  • destroy() function / Introducing hitpoints
  • direction, 3D vectors / The listener
  • DirectX
    • about / OpenGL and graphics cards
  • double buffering / Real-time rendering
  • draw
    • handling / Draw
  • draw() function / Making scene nodes drawable, Updating the scene
  • draw() method / Update and draw
  • draw call
    • about / View optimizations
  • drawCurrent() function / Making scene nodes drawable, Drawing entities

E

  • EmitterNode and ParticleNode
    • splitting / Emitter nodes, Affectors
  • emitter nodes
    • about / Emitter nodes
  • emitters
    • about / Particle systems
  • enemies
    • about / Creating enemies
    • movement patterns / Movement patterns
    • spawning / Spawning enemies
  • entities
    • about / Entities
    • Aircrafts / Aircraft
    • designs, alternative / Alternative entity designs
    • drawing / Drawing entities
    • connecting, with resources / Connecting entities with resources
    • equipping / Equipping the entities
    • attributes, storing in data tables / Storing entity attributes in data tables
    • text, displaying / Displaying text
  • Entity$$draw() function / Rendering the scene
  • Entity, base class / Entities
  • erase() / Cleaning everything up
  • error
    • handling / Error handling
  • events
    • about / Polling events
    • and real-time input / Events and real-time input – when to use which
  • exceptions
    • throwing / Throwing exceptions
  • executionThread() / Server thread

F

  • FIFO (first in, first out) / Command queues
  • file paths
    • about / File paths and working directories
  • Finite State Machine (FSM) / The state stack
  • fire() function / Firing bullets and missiles
  • fixed time step / Fixed time steps
  • fonts
    • about / Fonts
  • FPS
    • about / Game loops and frames
  • frames
    • about / Animated sprites
  • fullscreen post effects
    • about / Fullscreen post effects

G

  • game
    • developing / Developing the first game
    • class / The Game class
  • Game$$handlePlayerInput() / Input over several frames
  • Game class
    • integrating / Integrating the Game class
    • run method / The run() method
  • game code, texture atlases
    • adapting / Adapting the game code
  • GameEvent parameter / Client packets
  • game logic
    • implementing / Implementing the game logic
  • game loop
    • about / Game loops and frames
  • GameServer$$executionThread() function / Server thread
  • general-purpose communication mechanism
    • about / A general-purpose communication mechanism
  • get() method / Assertions
  • getAssignedKey() function / Customizing key bindings
  • getBattlefieldBounds() / Spawning enemies, Out of view, out of the world
  • getCategory() function / Receiver categories
  • get function / Entities
  • getOrigin() / SFML and transforms
  • getStatus() method / Loading and playing
  • getViewBounds() / Spawning enemies
  • getWorldPosition() function / Use case – In-game sound effects
  • GL Shading Language (GLSL) / Shaders
  • GLSL
    • about / Shaders
    • URL, for tutorial / The bloom effect
  • graphics
    • about / Graphics
  • graphics module, SFML / Introducing SFML
  • graphics processing unit (GPU) / OpenGL and graphics cards
  • GUI
    • about / The GUI hierarchy, the Java way
  • guide function / Adding projectiles
  • guideTowards() function / Homing missiles

H

  • handleEvent() function / Main menu, Pausing the game, The GUI hierarchy, the Java way, The promised key bindings
  • handleEvent() method / Input
  • handlePacket() function / Taking a peek in the other end – the client
  • handlePlayerInput() function / Input over several frames, Getting the input state in real time
  • hitpoints
    • about / Introducing hitpoints
  • hot seat / Hot Seat

I

  • identifier parameter / Generalizing the approach
  • image
    • about / Images
  • initializePickupData() function / Picking up some goodies
  • InitialState / Studying our protocol
  • input
    • handling / Input
  • input state
    • obtaining, in real time / Getting the input state in real time
  • IP
    • about / TCP
  • isButtonPressed() function / Getting the input state in real time
  • isDestroyed() function / Cleaning everything up
  • isGuided() function / Homing missiles
  • isKeyPressed() function / Getting the input state in real time
  • isMarkedForRemoval() function / Cleaning everything up
  • isSelectable() function / The GUI hierarchy, the Java way
  • isSupported() function / Fullscreen post effects
  • iterator class / An outlook on optimizations

J

  • joystick events, SFML
    • sf**Event**JoystickButtonPressed / Joystick events
    • sf**Event**JoystickButtonReleased / Joystick events
    • sf**Event**JoystickMoved event / Joystick events
    • sf**Event**JoystickDisconnected / Joystick events
    • sf**Event**JoystickConnected / Joystick events

K

  • key bindings
    • customizing / Customizing key bindings
    • about / The promised key bindings
  • keyboard events, SFML
    • sf**Event**KeyPressed / Keyboard events
    • sf**Event**KeyReleased / Keyboard events
    • sf**Event**TextEntered / Keyboard events

L

  • lambda expression / Node insertion and removal
  • Landscape
    • rendering / Landscape rendering
    • SpriteNode / SpriteNode
    • texture / Landscape texture
    • texture, repeating / Texture repeating
  • latency
    • about / Latency
    • versus bandwidth / Latency versus bandwidth
    • Aircraft interpolation / Aircraft interpolation
  • LaunchMissile / Firing bullets and missiles
  • launchMissile() function / Firing bullets and missiles
  • layer / Scene layers
  • listener
    • about / The listener
    • 3D vectors / The listener
    • positioning / Positioning the listener
  • load() function / A special case – sf::Shader
  • load() method / Generalizing the approach
  • loadFromFile() call / A special case – sf::Shader
  • loadFromStream() / Resources in SFML
  • LoadingState$$update() / Task implementation
  • LoadingState class / The loading screen – sample
  • Local Area Network (LAN)
    • about / Playing multiplayer games
  • low-level rendering
    • about / Low-level rendering

M

  • main() function / The Game class, The run() method
  • main loop
    • about / Game loops and frames
  • menu
    • updating / Updating the menu
  • mFilenames variable / Music themes
  • minimum distance
    • about / Attenuation factor and minimum distance
  • missiles
    • firing / Firing bullets and missiles
  • MissionSuccess / Studying our protocol
  • mLoadingText function / Progress bar
  • modulo operator / Movement patterns
  • mOptionIndex integer variable / Main menu
  • mouse
    • delta movement / Delta movement from the mouse
  • mouse events, SFML
    • sf**Event**MouseEntered / Mouse events
    • sf**Event**MouseLeft / Mouse events
  • move() function / Input over several frames
  • movement / Vector algebra
  • movement patterns
    • about / Movement patterns
  • mSelectedChild variable / The GUI hierarchy, the Java way
  • multiplayer games
    • playing / Playing multiplayer games
    • structure, creating / Creating the structure for multiplayer
  • music
    • about / Music
  • MusicPlayer$$play() method / Loading and playing
  • music themes
    • about / Music themes
    • playing / Loading and playing
    • loading / Loading and playing

N

  • network, architecture
    • about / Network architectures
    • peer-to-peer / Peer-to-peer
    • client-server architecture / Client-server architecture
    • authoritative servers / Authoritative servers
  • network module, SFML / Introducing SFML
  • network port
    • about / TCP
  • new operator / The GUI hierarchy, the Java way
  • notifyGameAction() method / Transmitting game actions via network nodes
  • nullptr / Scene nodes

O

  • Open Audio Library (OpenAL)
    • about / Sounds in 3D space
  • openFromFile() method / Compatibility with sf::Music
  • OpenGL
    • about / OpenGL and graphics cards
    • URL / Shaders
  • open type fonts (OTF) / Fonts
  • overload function / Getting the input state in real time

P

  • packet
    • about / Data transport
  • packets / Incoming packets
  • ParallelTask. LoadingState / The loading screen – sample
  • ParallelTask class / The loading screen – sample
  • ParallelTask object / ParallelTask
  • particle nodes
    • about / Particle nodes
  • particles
    • about / Particle systems, Particles and particle types
    • rendering, on screen / Particle nodes
    • embedding / Embedding particles in the world
  • particle system
    • about / Particle systems
  • particle types
    • about / Particles and particle types
  • pause() method / Loading and playing
  • pause state / The new pause state
  • PauseState class / Pausing the game
  • PauseState constructor / Use case – In-game themes
  • PauseState destructor / Use case – In-game themes
  • play() function / Playing spatial sounds
  • Player**isRealtimeAction() function / Customizing key bindings
  • Player class
    • about / Why a player is not an entity
  • PlayerConnect / Studying our protocol
  • PlayerEven / Studying our protocol
  • PlayerEvent parameter / Client packets
  • player input
    • handling / Handling player input
  • PlayerRealtimeChange / Studying our protocol
  • PlayerRealtimeChange parameter / Client packets
  • playLocalSound() method / Use case – In-game sound effects
  • pollEvent() function / Polling events
  • pop operations
    • delayed / Delayed pop/push operations
  • popState() function / Delayed pop/push operations
  • position, 3D vectors / The listener
  • PositionUpdate parameter / Client packets
  • PostEffect**applyShader() function / Fullscreen post effects
  • post rendering
    • about / Post effects and shaders
  • prepareTextures() function / The bloom effect
  • primitive type
    • about / Vertex arrays
  • processEvents() function / The Game class
  • processEvents() method / Fixed time steps
  • projectiles
    • adding / Adding projectiles
  • push operations
    • delayed / Delayed pop/push operations
  • pushState() function / Delayed pop/push operations

Q

  • quad tree
    • about / View optimizations
  • Quadtrees / An outlook on optimizations
  • quit parameter / Client packets

R

  • RAII
    • about / An automated approach
  • real-time rendering
    • about / Real-time rendering
  • receiver categories / Receiver categories
  • relative position / Relative coordinates
  • removeStoppedSounds() method / Removing sounds
  • render() function / The Game class, Adapting the code
  • render() method / The Game class, Fixed time steps
  • render target
    • about / Understanding render targets
  • render texture
    • about / Understanding render targets
  • render window
    • about / Understanding render targets
  • RequestCoopPartner parameter / Client packets
  • requestStackClear() / Delayed pop/push operations
  • requestStackPop() / Delayed pop/push operations
  • requestStackPush() / Delayed pop/push operations
  • resolution
    • about / Resolution and aspect ratio
  • ResourceHolder / Generalizing the approach
  • ResourceHolder$$load() function / A special case – sf::Shader
  • ResourceHolder class template / A special case – sf::Shader
  • resource parameter / Generalizing the approach
  • resources
    • defining / Defining resources
    • in SFML / Resources in SFML
    • acquiring / Acquiring, releasing, and accessing resources
    • releasing / Acquiring, releasing, and accessing resources
    • accessing / Acquiring, releasing, and accessing resources
  • rotation / SFML and transforms
  • round-trip time / Latency
  • run() function / The Game class, Game loops and frames

S

  • -s postfix / Downloading and installation
  • sample, loading screen
    • about / The loading screen – sample
    • progress bar / Progress bar
    • ParallelTask / ParallelTask
    • thread / Thread
    • concurrency / Concurrency
    • task, implementing / Task implementation
  • scale / SFML and transforms
  • scene
    • rendering / Rendering the scene
    • origin, aligning / Aligning the origin
    • layers / Scene layers
    • updating / Updating the scene
  • scene graph
    • about / Scene graphs
  • SceneNode
    • TopicnSceneNodeisDestroyed() function / Cleaning everything up
  • SceneNode**onCommand() function / Command execution
  • SceneNode class / One step back – absolute transforms, Receiver categories
  • scene nodes
    • about / Scene graphs, Scene nodes
    • inserting / Node insertion and removal
    • removing / Node insertion and removal
    • making drawable / Making scene nodes drawable
  • selectNext() function / The GUI hierarchy, the Java way
  • selectPrevious() function / The GUI hierarchy, the Java way
  • Separating Axis Theorem / Collision detection and response
  • server
    • about / Working with the Server
    • thread / Server thread
    • loop / Server loop
    • peers and artifacts / Peers and aircraft
    • hot seat / Hot Seat
    • new clients, accepting / Accepting new clients
    • disconnections, handling / Handling disconnections
    • packets, incoming / Incoming packets
    • protocol / Studying our protocol
    • ticks and updates / Understanding the ticks and updates
    • synchronization, issues / Synchronization issues
  • server packet
    • BroadcastMessage / Studying our protocol
    • SpawnSelf / Studying our protocol
    • InitialState / Studying our protocol
    • PlayerEven / Studying our protocol
    • PlayerRealtimeChange / Studying our protocol
    • PlayerConnect / Studying our protocol
    • PlayerDisconnect / Studying our protocol
    • AcceptCoopPartne / Studying our protocol
    • SpawnEnemy / Studying our protocol
    • SpawnPickup / Studying our protocol
    • UpdateClientState / Studying our protocol
    • MissionSuccess / Studying our protocol
  • setAttenuation() method / Attenuation factor and minimum distance
  • setBuffer() method / Loading, inserting, and playing
  • setCompletion() method / Progress bar
  • setDirection() method / The listener
  • set function / Entities
  • setMinDistance() method / Attenuation factor and minimum distance
  • setOrigin() / SFML and transforms
  • setPosition() method / The listener
  • SettingsState class / The promised key bindings
  • setVelocity() method / Entities
  • sf$$Event$$Closed event / A minimal example
  • sf$$Event object / Input over several frames
  • sf$$Font class / Fonts
  • sf$$Music class / Music, Loading and playing
    • compatibility with / Compatibility with sf::Music
  • sf$$Mutex and sf$$Lock / Concurrency
  • sf$$Mutex object / Task implementation
  • sf$$RenderWindow$$display() function / Real-time rendering
  • sf$$RenderWindow$$draw() method / The Game class
  • sf$$RenderWindow$$setVerticalSyncEnabled() methd / Other techniques related to frame rates
  • sf$$Shader class / A special case – sf::Shader
  • sf$$sleep() function / Other techniques related to frame rates
  • sf$$SocketSelector class / Socket selectors
  • sf$$Sound constructor / Loading, inserting, and playing
  • sf$$Sound object / Sound buffers
  • sf$$Sprite class / Textures, SpriteNode
  • sf$$TcpListener$$accept() function / Accepting new clients
  • sf$$TcpSocket$$receive() function / Incoming packets
  • sf$$Texture$$loadFromFile() method / Error handling
  • sf$$Texture$$loadFromX() function / Images
  • sf$$Texture$$setRepeated(bool) function / Texture repeating
  • sf$$Texture class / Displaying sprites on the screen
  • sf$$Thread$$launch() / Thread
  • sf$$UdpSocket$$bind() function / UDP
  • sf**Event**Closed event / Window events
  • sf**Event**GainedFocus event / Window events, Playing nice with your application neighborhood
  • sf**Event**JoystickButtonEvent data structure / Joystick events
  • sf**Event**JoystickButtonPressed event / Joystick events
  • sf**Event**JoystickButtonReleased event / Joystick events
  • sf**Event**JoystickConnected event / Joystick events
  • sf**Event**JoystickConnectEvent data type / Joystick events
  • sf**Event**JoystickDisconnected event / Joystick events
  • sf**Event**JoystickMoved event / Joystick events
  • sf**Event**JoystickMoveEvent data structure / Joystick events
  • sf**Event**KeyEvent data structure / Keyboard events
  • sf**Event**KeyEvent data type / Keyboard events
  • sf**Event**KeyPressed event / Keyboard events
  • sf**Event**KeyReleased event / Keyboard events
  • sf**Event**LostFocus event / Window events, Playing nice with your application neighborhood
  • sf**Event**MouseButtonEvent structure / Mouse events
  • sf**Event**MouseButtonPressed type / Mouse events
  • sf**Event**MouseButtonReleased type / Mouse events
  • sf**Event**MouseEntered event / Mouse events
  • sf**Event**MouseLeft event / Mouse events
  • sf**Event**MouseMoved data type / Mouse events
  • sf**Event**Resized event / Window events
  • sf**Event**SizeEvent data type / Window events
  • sf**Event**TextEntered event / Keyboard events
  • sf**Event**TextEvent data structure / Keyboard events
  • sf**Event**type member variable / Polling events
  • sf**Event variable / Polling events
  • sf**Joystick class / Getting the input state in real time
  • sf**Keyboard class / Getting the input state in real time
  • sf**Mouse class / Getting the input state in real time, Delta movement from the mouse
  • sf**MouseMoveEvent data structure / Mouse events
  • sf**RenderWindow class / Polling events
  • sf**Shape class / Low-level rendering
  • sf**Sprite class / Defining texture atlases, Low-level rendering
  • sf**Text class / Low-level rendering
  • sf**Window**pollEvent() function / Polling events
  • sf**Window class / Polling events
  • SFML
    • about / Introducing SFML, Polling events
    • system module / Introducing SFML
    • window module / Introducing SFML
    • graphics module / Introducing SFML
    • audio module / Introducing SFML
    • network module / Introducing SFML
    • URL / Introducing SFML
    • pre-built libraries, downloading / Downloading and installation
    • minimal example / A minimal example
    • events / Input over several frames
    • API documentation, URL / Summary
    • and transforms / SFML and transforms
    • window events / Window events
    • joystick events / Joystick events
    • keyboard events / Keyboard events
    • mouse events / Mouse events
    • input state, obtaining in real time / Getting the input state in real time
  • SFML resources
    • about / Resources in SFML
    • textures / Textures
    • images / Images
    • fonts / Fonts
    • shaders / Shaders
    • sound buffers / Sound buffers
    • music / Music
  • shader
    • about / Shaders
  • shaders
    • about / Shaders
  • sockets
    • about / Interacting with sockets
    • selectors / Socket selectors
  • SoundBufferHolder$$load() function / Loading, inserting, and playing
  • sound buffers
    • about / Sound buffers
  • SoundEffect$$ID enumerator / Loading, inserting, and playing
  • sound effects
    • about / Sound effects
    • class, implementing / Sound effects
    • loading / Loading, inserting, and playing
    • playing / Loading, inserting, and playing
    • inserting / Loading, inserting, and playing
    • removing / Removing sounds
    • GUI sounds, use case / Use case – GUI sounds
  • SoundNode$$playSound() function / Use case – In-game sound effects
  • SoundPlayer object / Use case – GUI sounds
  • spatializing
    • about / Sounds in 3D space
  • spatial sounds
    • playing / Playing spatial sounds
  • spawnEnemies() function / Understanding the ticks and updates
  • SpawnEnemy / Studying our protocol
  • SpawnPickup / Studying our protocol
  • spawnPickups() function / Understanding the ticks and updates
  • SpawnSelf / Studying our protocol
  • SpriteNode / SpriteNode
  • sprites
    • displaying, on screen / Displaying sprites on the screen
  • sprite sheet
    • about / Defining texture atlases
  • stack
    • integrating, in Application class / Integrating the stack in the Application class
  • state
    • defining / Defining a state
    • context / The state context
    • navigating between / Navigating between states
    • game state, creating / Creating the game state
    • title screen / The title screen
    • main menu / Main menu
    • game, pausing / Pausing the game
  • State$$Context class / Use case – In-game themes
  • State$$Context structure / Use case – GUI sounds
  • state stack
    • about / The state stack
    • states, adding to / Adding states to StateStack
    • input, handling / Input
    • update, handling / Update
    • draw, handling / Draw
  • StateStack$$registerState() / Adding states to StateStack
  • StateStack class / The state stack, Adding states to StateStack
    • states, adding to / Adding states to StateStack
  • std$$array function / Composing our world
  • std$$bind() call / Use case – In-game sound effects
  • std$$function / Adding states to StateStack
  • std$$function class / The GUI hierarchy, the Java way
  • std$$list$$remove_if() method / Removing sounds
  • std$$make_shared() function / The GUI hierarchy, the Java way
  • std**bind() function / Introducing commands
  • std**function class / Introducing commands
  • stop() method / Loading and playing
  • strongly typed enumerations
    • about / Finding an appropriate container
  • system module, SFML / Introducing SFML

T

  • TCP
    • about / TCP
    • features / TCP
  • Texel
    • about / Texture mapping
  • texture atlas
    • about / Defining texture atlases
    • defining / Defining texture atlases
    • game code, adapting / Adapting the game code
  • TextureHolder class / Connecting entities with resources
  • texture mapping
    • about / Texture mapping
  • texture rectangle
    • about / Defining texture atlases
  • textures
    • about / Textures
    • accessing / Accessing the textures
  • thread / Thread
  • tick rate / Server loop
  • tile set
    • about / Defining texture atlases
  • timedOut variable / Peers and aircraft
  • timeout / Handling disconnections
  • TimePerFrame / Fixed time steps
  • time step / Frame-independent movement
  • title screen / The title screen
  • toString() function / Displaying text
  • transform / SFML and transforms
  • transforms
    • about / One step back – absolute transforms
  • translation / SFML and transforms
  • true type fonts (TTF) / Fonts
  • typedef / Vector algebra
  • type inference / Accessing the textures

U

  • UDP
    • about / UDP
  • unique pointers / Finding an appropriate container
  • unitVector() function / Homing missiles
  • up, 3D vectors / The listener
  • update
    • handling / Update
  • update() function / The Game class, Input over several frames, Frame-independent movement, Pausing the game, Firing bullets and missiles, Cleaning everything up, Taking a peek in the other end – the client
  • update() method / Fixed time steps, Update and draw
  • UpdateClientState / Studying our protocol
  • updateCurrent() function / Homing missiles
  • updateLabels() function / The promised key bindings
  • updateLogic() function / Server loop
  • use case
    • in-game themes / Use case – In-game themes
    • in-game sound effects / Use case – In-game sound effects
  • user tabs
    • interacting, with other applications / Playing nice with your application neighborhood

V

  • V-Sync / Other techniques related to frame rates
  • vector algebra
    • about / Vector algebra
  • vectors
    • about / Vector algebra
  • vertex
    • about / Texture mapping
  • vertex array
    • about / Vertex arrays
  • video memory
    • about / OpenGL and graphics cards
  • view
    • about / The view
    • Viewport / Viewport
    • optimizing / View optimizations
    • scrolling / View scrolling
    • zooming / Zoom and rotation
    • rotating / Zoom and rotation
  • Viewport / Viewport
  • visual effects
    • about / Particle systems

W

  • waitEvent() function / Polling events
  • window class / Making scene nodes drawable
  • window events, SFML
    • sf**Event**Closed / Window events
    • sf**Event**Resized / Window events
    • sf**Event**LostFocus / Window events
    • sf**Event**GainedFocus / Window events
  • window module, SFML / Introducing SFML
  • world
    • composing / Composing our world
    • initialization / World initialization
    • textures, loading / Loading the textures
    • scene, building / Building the scene
    • draw() method / Update and draw
    • update() method / Update and draw
  • World$$update() function / The final update
  • World class / Spawning enemies
lock icon The rest of the chapter is locked
arrow left Previous Section
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime