E-book details

SDL Game Development. If you're good with C++ and object oriented programming, this book utilizes your skills to create 2D games using the Simple DirectMedia Layer API. Practical tutorials include the development of two wickedly good games

SDL Game Development. If you're good with C++ and object oriented programming, this book utilizes your skills to create 2D games using the Simple DirectMedia Layer API. Practical tutorials include the development of two wickedly good games

Shaun Mitchell

Ebook
SDL 2.0 is the latest release of the popular Simple DirectMedia Layer API, which is designed to make life easier for C++ developers, allowing you simple low-level access to various multiplatform audio, graphics, and input devices.SDL Game Development guides you through creating your first 2D game using SDL and C++. It takes a clear and practical approach to SDL game development, ensuring that the focus remains on creating awesome games.Starting with the installation and setup of SDL, you will quickly become familiar with useful SDL features, covering sprites, state management, and OOP, leading to a reusable framework that is extendable for your own games. SDL Game Development culminates in the development of two exciting action games that utilize the created framework along with tips to improve the framework.
  • SDL Game Development
    • Table of Contents
    • SDL Game Development
    • Credits
    • About the Author
    • About the Reviewers
    • www.PacktPub.com
      • Support files, eBooks, discount offers and more
        • Why Subscribe?
        • Free Access for Packt account holders
    • Preface
      • What this book covers
      • What you need for this book
      • Who this book is for
      • Conventions
      • Reader feedback
      • Customer support
        • Downloading the example code
        • Errata
        • Piracy
        • Questions
    • 1. Getting Started with SDL
      • Why use SDL?
        • What is new in SDL 2.0?
        • Migrating SDL 1.2 extensions
      • Setting up SDL in Visual C++ Express 2010
        • Using Mercurial to get SDL 2.0 on Windows
          • Cloning and building the latest SDL 2.0 repository
        • I have the library; now what?
      • Hello SDL
        • An overview of Hello SDL
        • SDL initialization flags
        • SDL renderer flags
      • What makes up a game
        • Breaking up the Hello SDL code
        • What does this code do?
      • The Game class
        • Fullscreen SDL
      • Summary
    • 2. Drawing in SDL
      • Basic SDL drawing
        • Getting some images
        • Creating an SDL texture
      • Source and destination rectangles
        • Animating a sprite sheet
        • Flipping images
      • Installing SDL_image
        • Using SDL_image
      • Tying it into the framework
        • Creating the texture manager
        • Using texture manager as a singleton
      • Summary
    • 3. Working with Game Objects
      • Using inheritance
      • Implementing polymorphism
      • Using abstract base classes
      • Should we always use inheritance?
        • Could the same thing be achieved with a simpler solution?
        • Derived classes should model the "is a" relationship
        • Possible performance penalties
      • Putting it all together
      • Summary
    • 4. Exploring Movement and Input Handling
      • Setting up game objects for movement
        • What is a vector?
        • Some common operations
          • Addition of two vectors
          • Multiply by a scalar number
          • Subtraction of two vectors
          • Divide by a scalar number
          • Normalizing a vector
        • Adding the Vector2D class
        • Adding velocity
        • Adding acceleration
      • Creating fixed frames per second
      • Input handling
        • Creating our input handler class
        • Handling joystick/gamepad input
          • SDL joystick events
          • Initializing joysticks
        • Listening for and handling axis movement
        • Dealing with joystick button input
        • Handling mouse events
          • Using mouse button events
          • Handling mouse motion events
        • Implementing keyboard input
        • Wrapping things up
      • Summary
    • 5. Handling Game States
      • A simple way for switching states
      • Implementing finite state machines
        • A base class for game states
        • Implementing FSM
      • Implementing menu states
        • Function pointers and callback functions
        • Implementing the temporary play state
        • Pausing the game
        • Creating the game over state
      • Summary
    • 6. Data-driven Design
      • Loading XML files
        • Basic XML structure
      • Implementing Object Factories
        • Using Distributed Factories
      • Fitting the factory into the framework
      • Parsing states from an XML file
      • Loading the menu state from an XML file
      • Loading other states from an XML file
        • Loading the play state
        • Loading the pause state
        • Loading the game over state
      • Summary
    • 7. Creating and Displaying Tile Maps
      • What is a tile map?
      • Getting familiar with the Tiled application
      • Parsing and drawing a tile map
        • Creating the TileLayer class
        • Creating the LevelParser class
        • Parsing tilesets
        • Parsing a tile layer
        • Drawing the map
      • Scrolling a tile map
      • Parsing object layers
        • Developing the ObjectLayer class
      • Summary
    • 8. Creating Alien Attack
      • Using the SDL_mixer extension for sound
        • Creating the SoundManager class
      • Setting up the basic game objects
        • GameObject revamped
        • SDLGameObject is now ShooterObject
        • Player inherits from ShooterObject
        • Lots of enemy types
        • Adding a scrolling background
      • Handling bullets
        • Two types of bullets
        • The BulletHandler class
      • Dealing with collisions
        • Creating a CollisionManager class
      • Possible improvements
      • Summary
    • 9. Creating Conan the Caveman
      • Setting up the basic game objects
        • No more bullets or bullet collisions
        • Game objects and map collisions
        • ShooterObject is now PlatformerObject
        • The Camera class
        • Camera-controlled map
        • The Player class
      • Possible additions
      • Summary
    • Index
  • Title: SDL Game Development. If you're good with C++ and object oriented programming, this book utilizes your skills to create 2D games using the Simple DirectMedia Layer API. Practical tutorials include the development of two wickedly good games
  • Author: Shaun Mitchell
  • Original title: SDL Game Development. If you're good with C++ and object oriented programming, this book utilizes your skills to create 2D games using the Simple DirectMedia Layer API. Practical tutorials include the development of two wickedly good games.
  • ISBN: 9781849696838, 9781849696838
  • Date of issue: 2013-06-24
  • Format: Ebook
  • Item ID: e_3b37
  • Publisher: Packt Publishing