Index
A
- Action class
- using / Using the Action class
- AnimatedSprite class / The AnimatedSprite class
- Animation class / The Animation class
- animations, Real-Time Tower Defense Game
- building / Building animations
- Animation class / The Animation class
- AnimatedSprite class / The AnimatedSprite class
- usage example / A usage example
- application
- converting, to Asteroid clone game / Turning our application to an Asteroid clone, The levels, The flying saucers
- modifying / Modifying our application
- world class / The World class
- hierarchical entity system / The hierarchical entity system
- entity component system / The entity component system
- assert() function / The Piece class
- assert function / The Piece class
- Asteroid / Turning our application to an Asteroid clone
- Asteroid clone game
- application, converting to / Turning our application to an Asteroid clone
- building / Turning our application to an Asteroid clone, The levels, The flying saucers
- player / The Player class, The Player class
- levels / The levels
- enemies / The enemies
- designing / Designing our game
- entity / The Entity class
- enemy / The Enemy class
- saucer / The Saucer class
- meteor / The Meteor class
- shoot / The Shoot class
B
- Board class / The Board class
- Box2D
- about / Using Box2D
- collision functionality / Using Box2D
- physics functionality / Using Box2D
- URL / Using Box2D
- preparing / Preparing Box2D
- URL, for version installation / Preparing Box2D
- build process / Build
- installation / Install
- pairing, with SFML / Pairing Box2D and SFML
- working / Box2D, how does it work?
- Button class / The Button class
C
- C++ / C++11
- C++11
- C++11 compiler
- installing / Installation of a C++11 compiler
- installing, for Linux users / For Linux users
- installing, for Mac users / For Mac users
- installing, for Windows users / For Windows users
- installing, for all users / For all users
- class hierarchy, GUI
- about / Class hierarchy
- TextButton class / Class hierarchy, The TextButton class
- Label class / Class hierarchy, The Label class
- Frame class / Class hierarchy, The Frame class
- Vlayout class / Class hierarchy
- Widget class / The Widget class
- Button class / The Button class
- Container class / The Container class
- Layout class / The Layout class
- VLayout class / The VLayout class
- client-server architecture
- about / Client-server architecture
- client / Client
- server / Server
- Client class
- about / The Client class
- connecting, with server / Connection with the server
- Level class / The Level class
- CMake
- installing / Installing CMake
- installing, for Linux users / For Linux users
- URL / For other operating systems
- Code**Blocks
- URL / For all users
- configuring / Code::Blocks and SFML
- communication protocol
- creating / Creating a communication protocol
- sf**Packet class, using / Using the sf::Packet class
- RPC like protocol / RPC-like protocol
- NetworkEvent class / The NetworkEvent class
- configuration menu
- building / Building the configuration menu
- Connection class, sockets
- about / The Connection class
- goal / The goal of the Connection class
- sf**TcpSocket / The goal of the Connection class
- sf**Thread / The goal of the Connection class
- sf**Mutex / The goal of the Connection class
- std**queue<sf**Packet> / The goal of the Connection class
- Container class / The Container class
- cpp-ORM library
- URL / Using cpp-ORM
- using / Using cpp-ORM
D
- 2D physics engines / 2D physics engines
- 3D physics engines / 3D physics engines
- data persistence
- adding, to Real-Time Tower Defense game / Adding data persistence to the game
- ORM / What is ORM?
- cpp-ORM, using / Using cpp-ORM
- object, saving in database / Saving an object in a database
- object, loading from database / Loading an object from the database
E
- endianness
- enemies, Asteroid clone game
- about / The enemies
- meteors / The meteors
- flying saucers / The flying saucers
- Entity / The hierarchical entity system
- entity system, Real-Time Tower Defense Game
- about / Building an entity system
- using / Use of the entity system
- advantages / Advantages of the entity system approach
- Euclidean torus
- URL / The levels
- exec() family functions / The exec() family functions
F
- font class / The font class
- fork() function / The fork() function
- Frame class / The Frame class
- frame rate
- about / The frame rate
- fixed time steps approach / Fixed time steps
- variable time steps approach / Variable time steps
- minimum time steps / Minimum time steps
- frames per second (FPS) / Game loops
G
- game
- general structure / General structure of a game
- physics, adding / Adding physics to a game
- Game**update() function / Fixed time steps
- game class / The game class
- game engine
- versus physics engine / Physics engine comparing game engine
- game loops
- about / Game loops
- frame rate / The frame rate
- fixed time steps approach / Fixed time steps
- game structure
- game class / The game class
- game loop / Game loops
- Player object, moving / Move our player
- generic Tile Map, Real-Time Tower Defense Game
- building / Building a generic Tile Map
- Geometry class, as isometric hexagon / The Geometry class as an isometric hexagon
- VLayer class / VLayer and Layer classes
- Layer class / VLayer and Layer classes
- VMap class / VMap and Map classes
- Map class / VMap and Map classes
- dynamic board loading / Dynamic board loading
- MapViewer class / The MapViewer class
- usage example / A usage example
- GUI
- about / What is a GUI?
- creating, from scratch / Creating a GUI from scratch
- class hierarchy / Class hierarchy
I
- image class / The image class
- installations
- C++11 compiler / Installation of a C++11 compiler
- CMake / Installing CMake
- SFML 2.2 / Installing SFML 2.2
K
- Krozark/SFML-utils
L
- Label class / The Label class
- Layer class / VLayer and Layer classes
- Layout class / The Layout class
- level class / The level class
- Linux
- SFML, compiling / Linux
- Linux users
- C++11 compiler, installing for / For Linux users
- CMake, installing / For Linux users
M
- Mac users
- C++11 compiler, installing for / For Mac users
- main menu
- building / Building the main menu
- makeFromPacket() function / The NetworkEvent class
- MapViewer class / The MapViewer class
- menu
- adding, to game / Adding a menu to the game
- main menu, building / Building the main menu
- pause menu, building / Building the pause menu
- configuration menu, building / Building the configuration menu
- multithreading
- about / What is multithreading?
- fork() function / The fork() function
- exec() family functions / The exec() family functions
- adding, to games / Adding multithreading to our games
- music class / The music class
N
- network architectures, Real-Time Tower Defense game
- about / Network architectures
- peer-to-peer architecture / Peer-to-peer architecture
- client-server architecture / Client-server architecture
- NetworkEvent class / The NetworkEvent class
O
- ORM
- about / What is ORM?
P
- pause menu
- building / Building the pause menu
- peer-to-peer architecture / Peer-to-peer architecture
- physics, adding to game
- Piece class, using / The Piece class
- World class, using / The World class
- Game class, using / The Game class
- Stats class, using / The Stats class
- physics engine
- about / A physics engine – késako?
- 3D physics engine / 3D physics engines
- 2D physics engine / 2D physics engines
- versus game engine / Physics engine comparing game engine
- Box2D / Using Box2D
- Player object
- moving / Move our player
- player class / The player class
- processEvent() method / The Button class
- processEvents() function / The game class
R
- Real-Time Tower Defense Game
- goal / The goal of the game
- animations, building / Building animations
- generic Tile Map, building / Building a generic Tile Map
- entity system, building / Building an entity system
- logic, building / Building the game logic
- Real-Time Tower Defense game
- network architectures / Network architectures
- network communication, with sockets / Network communication using sockets
- communication protocol, creating / Creating a communication protocol
- modifying / Modifying our game
- server / Server, Building the Server entry point
- players action, reacting to / Reacting to players' actions during a match
- clients and server synchronization / Synchronization between clients and the server
- Client class / The Client class
- data persistence data persistence, adding / Adding data persistence to the game
- Real-Time Tower Defense Game logic
- building / Building the game logic
- components, building / Building our components
- different systems, creating / Creating the different systems
- level class / The level class
- game class / The game class
- Team GUI class / The Team GUI class
- render() function / The game class
- Resource Acquisition Is Initialization (RAII) idiom
- about / Use case
- resources
- tracking / Keeping track of resources
- in SFML / Resources in SFML
- use cases / Use case
- RAII idiom / RAII idiom
- Resource Acquisition Is Initialization (RAII) idiom / RAII idiom
- manager, building / Building a resources manager
- players skin, modifying / Changing the player's skin
- resources, SFML
- texture class / The texture class
- image class / The image class
- font class / The font class
- shader class / The shader class
- sound buffer class / The sound buffer class
- music class / The music class
- RGBA (red, green, blue, alpha) / The texture class
S
- sf**Event
- URL / Managing user inputs
- sf**RenderWindow**setFramerateLimit()function / Minimum time steps
- sf**SocketSelector / Selector
- SFGUI
- about / Using SFGUI
- using / Using SFGUI
- installing / Installing SFGUI
- URL / Installing SFGUI
- features, using / Using the features of SFGUI
- starting level, building / Building the starting level
- SFML
- about / SFML
- documentation, URL / SFML
- building / Building SFML yourself
- dependencies, installing / Installing dependencies
- building, on Linux / Linux
- building, on other operating system / Other operating systems
- compilation / Compilation of SFML
- compilation, with CMake / Compilation of SFML
- compilation, in Linux / Linux
- compilation, on Windows / Windows
- Box2D, pairing with / Pairing Box2D and SFML
- URL / UDP
- SFML, modules
- SFML 2.2
- URL / Installing SFML 2.2
- installing / Installing SFML 2.2
- Code**Blocks, configuring / Code::Blocks and SFML
- example / A minimal example
- shader class / The shader class
- sleep() function / Minimum time steps
- sockets
- used, for network communication / Network communication using sockets
- User Datagram Protocol (UDP) / UDP
- Transmission Control Protocol (TCP) / TCP
- sf**SocketSelector / Selector
- Connection class / The Connection class
- sound buffer class / The sound buffer class
- Sqlite
- std**function / Action target
- stop() function / The goal of the Connection class
T
- Team GUI class / The Team GUI class
- Tertis clone game
- about / Building a Tetris clone
- building / Building a Tetris clone
- Stats class, using / The Stats class
- Piece class, using / The Piece class
- Board class, using / The Board class
- Game class, using / The Game class
- TextButton class / The TextButton class
- texture class / The texture class
- thread functionality
- about / Thread functionality
- need for / Why do we need to use the thread functionality?
- using / Why do we need to use the thread functionality?
- thread, using / Using threads
- Transmission Control Protocol (TCP)
- about / TCP
U
- update() function / The game class
- User Datagram Protocol (UDP)
- user inputs
- managing / Managing user inputs
- events, polling / Polling events
- real-time events / Real-time events
- handling / Handling user inputs
- Action class, using / Using the Action class
- action target / Action target, Back to action target
- event map / Event map
V
- VLayer class / VLayer and Layer classes
- VLayout class / The VLayout class
- VMap class / VMap and Map classes
W
- Widget class / The Widget class
- Windows
- SFML, compiling / Windows
- Windows users
- C++11 compiler, installing for / For Windows users