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
All 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 By Example

You're reading from   SFML Game Development By Example Create and develop exciting games from start to finish using SFML

Arrow left icon
Product type Paperback
Published in Dec 2015
Publisher
ISBN-13 9781785287343
Length 522 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
 Pupius Pupius
Author Profile Icon Pupius
Pupius
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

SFML Game Development By Example
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
1. It's Alive! It's Alive! – Setup and First Program FREE CHAPTER 2. Give It Some Structure – Building the Game Framework 3. Get Your Hands Dirty – What You Need to Know 4. Grab That Joystick – Input and Event Management 5. Can I Pause This? – Application States 6. Set It in Motion! – Animating and Moving around Your World 7. Rediscovering Fire – Common Game Design Elements 8. The More You Know – Common Game Programming Patterns 9. A Breath of Fresh Air – Entity Component System Continued 10. Can I Click This? – GUI Fundamentals 11. Don't Touch the Red Button! – Implementing the GUI 12. Can You Hear Me Now? – Sound and Music 13. We Have Contact! – Networking Basics 14. Come Play with Us! – Multiplayer Subtleties Index

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
    • URL / Implementing the interface class
  • 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
    • finding / Finding and using the current directory
    • using / Finding and using the 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
    • about / Server entity and system management
  • 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
    • about / Server entity and 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
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 £13.99/month. Cancel anytime
Visually different images