Index
A
- ACK (acknowledgement) packet
- about / TCP protocol specifics
- alpha channel
- about / Implementing the interface class
- application programming interface (API)
- about / What is SFML?
- application states
- common mistakes / Common mistakes
- ASCII characters
- audio manager
- defining / Audio manager
- automated resource management
- about / Automated resource management
- resource manager, designing / Designing a resource manager
- texture manager, implementing / Implementing the texture manager
B
- base animation class
- about / The base animation class
- implementing / Implementing the base animation class
- base entity class
- creating / Creating the base entity class
- collisions / Collisions and bounding boxes
- bounding boxes / Collisions and bounding boxes
- implementing / Implementing the base entity class
- entity-on-tile collisions / Entity-on-tile collisions
- base system
- about / The base system
- implementing / Implementing the base system
- bitmask / The bitmask
- bracket operator
- about / The snake class
C
- character class
- implementing / Implementing the character class
- characters
- building, entities used / Using entities to build characters
- chat application
- defining / A simple chat application
- chat client
- defining / The chat client
- client
- implementing / Implementing the client
- client class
- designing / Designing the client class
- code
- integrating / Integrating our code
- code base
- defining / Final editions to our code base
- changes, to shared context / Changes to the shared context
- collisions
- handling / Handling collisions
- collision system / The collision system
- collision system
- about / The collision system
- implementing / Implementing the collision system
- component / What is a component?
- components
- about / The entity component system
- copyrighted resources
- using / Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources
- references / Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources, Use of copyrighted resources
- Curiously Recurring Template Pattern
- about / Designing a resource manager
- current directory
D
- delta time
- about / Implementing the state manager
E
- ECS
- implementing / Putting the ECS to work
- emulator
- about / Hardware and execution time
- enemies
- adding / Adding enemies
- loading, from map file / Loading entities from the map file
- entities
- used, for building characters / Using entities to build characters
- about / The entity component system
- managing / Managing entities
- entity manager, implementing / Implementing the entity manager
- animating / Animating the entities
- entity
- about / The parent of all world objects
- entity-on-tile collisions / Entity-on-tile collisions
- entity component system
- about / Additions to the entity component system
- combat, implementing / Implementing combat
- expanding / Entity component system expansions
- network class and interpolation / Network class and interpolation
- client network class, implementing / Implementing the client network class
- client entity / Client entity and system management
- system management / Client entity and system management
- main class, adjusting / Putting the pieces into place
- main menu adjustments / Main menu adjustments
- Entity Component system
- about / The entity component system
- component / What is a component?
- position component / The position component
- bitmask / The bitmask
- entity events
- about / Entity events
- event queue / Entity event queue
- entity manager
- implementing / Implementing the entity manager, Implementing the entity manager
- factory pattern / The factory pattern
- entity manager class
- defining / Putting all the pieces together
- entity movement
- adding / Adding entity movement
- movement system / The movement system
- states, implementing / Implementing states
- entity controller / The entity controller
- entity storage and management
- about / Entity storage and management
- entity types
- about / The parent of all world objects
- event manager
- defining / Introducing the event manager
- features / Introducing the event manager
- building / Building the event manager
- implementing / Implementing the event manager
- expanding / Expanding the event manager
- Event Manager class
- improving / Improving the Event Manager class
- EventManager class
- integrating / Integrating the Event Manager class
- event queue / Entity event queue
- event types
- using / Principles of use
F
- factory pattern / The factory pattern
- fixed time-step
- about / Fixed time-step
- font management
- expanding / Font management
G
- game class
- building / Building the game class
- code, implementing / Putting our code to work
- game client
- developing / Developing the game client
- game framework
- building / Graduating to ravioli
- game map
- about / The game map
- game on pause
- defining / The means to pause
- game server
- building / Building our game server
- server action timing / Server action timing
- server network system / Server network system
- main server class / Main server class
- world class, implementing / Implementing the world class
- server entry point / Server entry point
- game world
- building / Building the game world
- flyweight pattern / The flyweight pattern
- map class, designing / Designing the map class
- GUI (Graphical User Interface)
- defining / What is a GUI?
- components / What is a GUI?
- GUI style / GUI style
- GUI element class
- defining / The core of all elements
- implementing / Implementing the GUI element class
- GUI events
- defining / Defining GUI events
- GUI manager
- about / The GUI manager
- implementing / Implementing the GUI manager
- GUI system
- integrating / Integrating the GUI system
H
- hardware and execution time
- about / Hardware and execution time
- frame-rate, controlling / Controlling the frame-rate
- heartbeat
- about / Keeping a UDP connection alive
- Hungarian notation
- about / Graduating to ravioli
- URL / Graduating to ravioli
I
- inheritance
- about / Introducing the state pattern
- interface class
- about / The interface class
- background layer / The interface class
- content layer / The interface class
- controls layer / The interface class
- implementing / Implementing the interface class
- intro state
- creating / Creating the intro state
- implementing / Implementing the intro state
L
- label element
- about / The label element
M
- main menu
- re-implementing / Re-implementing the main menu
- main menu state
- about / The main menu state
- map
- defining / The new and improved map
- Map class, adjusting / Adjusting the Map class
- map file
- entities, loading from / Loading entities from the map file
- message handler class
- about / The message handler class
- messages
- handling / Handling messages
- observer pattern / The observer pattern
- Microsoft Visual Studio project
- setting up / Setting up a Microsoft Visual Studio project
- multi-threading
- about / Multi-threading
- shared data protection / Shared data protection
N
- networking
- about / Basics of networking
- SFML networking / SFML networking
- alternative, for sending raw data / Alternative to sending raw data
- non-blocking sockets
- defining / Non-blocking sockets
O
- observer pattern / The observer pattern
P
- peripheral input
- retrieving / Retrieving peripheral input
- checking, for mouse input / Checking for mouse input
- controller, plugging / Plug in your controller
- sf$$Event, defining / Understanding the sf::Event
- player
- creating / Creating the player
- position component / The position component
- programming pattern
- about / What is a programming pattern?
- project for sound
- preparing / Preparing the project for sound
R
- rendering system
- implementing / Implementing the rendering system
- sprite sheet component / The sprite sheet component
- renderer / The renderer
S
- sample game state
- about / A sample game state
- scrollbar element
- about / The scrollbar element
- server
- implementing / Implementing server
- server action timing
- about / Server action timing
- server class
- defining / The server class
- server entity
- server network system
- about / Server network system
- implementing / Implementing the network system
- SFML
- about / What is SFML?
- modules / What is SFML?
- licensing / SFML licensing
- resources / Resources and installation
- installation / Resources and installation
- references / Resources and installation, Common mistakes
- images, drawing / Drawing images in SFML
- common mistakes / Common mistakes, Common mistakes
- SFML clock
- using / Using the SFML clock
- SFML drawing
- defining / Basics of SFML drawing
- SFML input
- common mistakes / Common mistakes
- SFML licensing
- URL / SFML licensing
- SFML networking
- about / SFML networking
- TCP sockets / TCP sockets
- multiple connections, handling / Handling multiple connections
- TCP protocol specifics / TCP protocol specifics
- User datagram protocol / User datagram protocol
- SFML packets
- defining / SFML packets
- SFML sound
- about / Basics of SFML sound
- sounds, playing / Playing sounds
- music, playing / Playing music
- SFML views
- using / Using the SFML views
- application states, preparing for / Preparing application states for views
- shared code
- about / Shared code
- additional components / Additional components
- simple communication protocol
- creating / Creating a simple communication protocol
- UDP connection, maintaining / Keeping a UDP connection alive
- snake game
- defining / Introducing snake
- game design decisions / Game design decisions
- snake structure, implementing / Implementing the snake structure
- snake class / The snake class
- World class / The World class
- Game class, integrating / Time to integrate
- bugs, hunting / Hunting bugs
- bugs, fixing / Fixing bugs
- score, defining / Going the extra mile
- common mistakes / Common mistakes
- sound emitter component
- defining / The sound emitter component
- sound listener component
- defining / The sound listener component
- sound manager
- implementing / Implementing the sound manager
- sound properties
- defining / Defining sound properties
- sounds
- managing / Managing sounds
- sound spatialization
- about / Sound spatialization
- sounds, placing in space / Placing sounds in space
- sound support
- adding / Adding support for sound
- animation system hooks / Animation system hooks
- entity component system expansion / Entity component system expansion
- sound system
- implementing / Implementing the sound system
- sprite
- defining / What is a sprite?
- moving / Moving a sprite revisited
- sprite sheets
- defining / Introducing sprite sheets
- sprite sheet class, implementing / Implementing a sprite sheet class
- base animation class / The base animation class
- directional animation / Directional animation
- loading / Loading the sprite sheet files
- standard function wrapper
- defining / Standard function wrapper
- Standard Template Library
- about / Implementing the snake structure
- state
- defining / What is a state?
- about / What is a state?
- state manager
- incorporating / Incorporating the state manager
- state manager class
- defining / Defining the state manager class
- implementing / Implementing the state manager
- state pattern
- defining / Introducing the state pattern
- common types, defining / Defining common types
- state manager class / The state manager class
- states
- implementing / Implementing states
- state system
- defining / The state system
- switch statement
- using / The most simplistic approach
- SYN (synchronize) packet
- about / TCP protocol specifics
- SYN/ACK (synchronize-acknowledgement)
- about / TCP protocol specifics
- system management
- systems
- about / The entity component system, Designing the systems
- designing / Designing the systems
- entity events / Entity events
- base system / The base system
- messages, handling / Handling messages
- message handler class / The message handler class
- managing / Managing systems
- system manager, implementing / Implementing the system manager
T
- TCP (Transmission Control Protocol)
- about / SFML networking
- text field element
- about / The text field element
- Ticks Per Second (TPS)
- about / Implementing the world class
- tile
- about / What is a tile?
- traffic flow
- defining / Letting the traffic flow
- URL / Letting the traffic flow
- transparency flag
- about / Implementing the state manager
U
- UDP (User Datagram Protocol)
- about / SFML networking
- utility functions
- expanding / Expansion of utility functions
W
- window
- opening / Opening a window
- window class
- implementing / Implementing the window class