OpenGL Game Development By Example
eBook - ePub

OpenGL Game Development By Example

Robert Madsen, Stephen Madsen

Condividi libro
  1. 340 pagine
  2. English
  3. ePUB (disponibile sull'app)
  4. Disponibile su iOS e Android
eBook - ePub

OpenGL Game Development By Example

Robert Madsen, Stephen Madsen

Dettagli del libro
Anteprima del libro
Indice dei contenuti
Citazioni

Informazioni sul libro

Design and code your own 2D and 3D games efficiently using OpenGL and C++

About This Book

  • Create 2D and 3D games completely, through a series of end-to-end game projects
  • Learn to render high performance 2D and 3D graphics using OpenGL
  • Implement a rudimentary game engine using step-by-step code

Who This Book Is For

If you are a prospective game developer with some experience using C++, then this book is for you. Both prospective and experienced game programmers will find nuggets of wisdom and practical advice as they learn to code two full games using OpenGL, C++, and a host of related tools.

What You Will Learn

  • Set up your development environment in Visual Studio using OpenGL
  • Use 2D and 3D coordinate systems
  • Implement an input system to handle the mouse and the keyboard
  • Create a state machine to handle complex changes in the game
  • Load, display, and manipulate both 2D and 3D graphics
  • Implement collision detection and basic physics
  • Discover the key components needed to complete a polished game
  • Handle audio files and implement sound effects and music

In Detail

OpenGL is one of the most popular rendering SDKs used to develop games. OpenGL has been used to create everything from 3D masterpieces running on desktop computers to 2D puzzles running on mobile devices. You will learn to apply both 2D and 3D technologies to bring your game idea to life.

There is a lot more to making a game than just drawing pictures and that is where this book is unique! It provides a complete tutorial on designing and coding games from the setup of the development environment to final credits screen, through the creation of a 2D and 3D game.

The book starts off by showing you how to set up a development environment using Visual Studio, and create a code framework for your game. It then walks you through creation of two games–a 2D platform game called Roboracer 2D and a 3D first-person space shooter game–using OpenGL to render both 2D and 3D graphics using a 2D coordinate system. You'll create sprite classes, render sprites and animation, and navigate and control the characters. You will also learn how to implement input, use audio, and code basic collision and physics systems. From setting up the development environment to creating the final credits screen, the book will take you through the complete journey of creating a game engine that you can extend to create your own games.

Style and approach

An easy-to-follow guide full of code examples to illustrate every concept and help you build a 2D and 3D game from scratch, while learning the key tools that surround a typical OpenGL project.

Domande frequenti

Come faccio ad annullare l'abbonamento?
È semplicissimo: basta accedere alla sezione Account nelle Impostazioni e cliccare su "Annulla abbonamento". Dopo la cancellazione, l'abbonamento rimarrà attivo per il periodo rimanente già pagato. Per maggiori informazioni, clicca qui
È possibile scaricare libri? Se sì, come?
Al momento è possibile scaricare tramite l'app tutti i nostri libri ePub mobile-friendly. Anche la maggior parte dei nostri PDF è scaricabile e stiamo lavorando per rendere disponibile quanto prima il download di tutti gli altri file. Per maggiori informazioni, clicca qui
Che differenza c'è tra i piani?
Entrambi i piani ti danno accesso illimitato alla libreria e a tutte le funzionalità di Perlego. Le uniche differenze sono il prezzo e il periodo di abbonamento: con il piano annuale risparmierai circa il 30% rispetto a 12 rate con quello mensile.
Cos'è Perlego?
Perlego è un servizio di abbonamento a testi accademici, che ti permette di accedere a un'intera libreria online a un prezzo inferiore rispetto a quello che pagheresti per acquistare un singolo libro al mese. Con oltre 1 milione di testi suddivisi in più di 1.000 categorie, troverai sicuramente ciò che fa per te! Per maggiori informazioni, clicca qui.
Perlego supporta la sintesi vocale?
Cerca l'icona Sintesi vocale nel prossimo libro che leggerai per verificare se è possibile riprodurre l'audio. Questo strumento permette di leggere il testo a voce alta, evidenziandolo man mano che la lettura procede. Puoi aumentare o diminuire la velocità della sintesi vocale, oppure sospendere la riproduzione. Per maggiori informazioni, clicca qui.
OpenGL Game Development By Example è disponibile online in formato PDF/ePub?
Sì, puoi accedere a OpenGL Game Development By Example di Robert Madsen, Stephen Madsen in formato PDF e/o ePub, così come ad altri libri molto apprezzati nelle sezioni relative a Informatik e Programmierung von Spielen. Scopri oltre 1 milione di libri disponibili nel nostro catalogo.

Informazioni

Anno
2016
ISBN
9781783288199
Edizione
1
Argomento
Informatik

OpenGL Game Development By Example


Table of Contents

OpenGL Game Development By Example
Credits
About the Authors
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. Building the Foundation
Introducing the development environment
A quick look at Visual Studio
Start screen
The Solution Explorer panel
The Standard Toolbar panel
The code window
The output window
Starting your project
The game loop
The game structure
Initialization
The game loop
Shutdown
Creating the game structure
Port of access
The Windows message loop
Introducing OpenGL
What is OpenGL?
The other GL
Downloading OpenGL
Adding OpenGL to the project
Linking to the OpenGL library
Summary
2. Your Point of View
Plotting your revenge
The OpenGL coordinate system
Making your point
Understanding the code
Header files
Initializing OpenGL
The main entry point
The update function
Drawing the points
Running the program
Stretching your point
Getting primitive
A triangle by any other name
A primitive example
From triangles to models
Introducing textures
Using textures to fill the triangles
A matter of reference
Hanging out in the quad
Coding the quad
Rendering a texture
Loading the texture
Texture wrapping
Creating a textured quad
Putting the pieces together
Summary
3. A Matter of Character
Spritely speaking
Sprites versus non-sprites
Flipbook animation
Framed animation
Creating sprites
Working with PNGs
Linking to the SOIL library
Including the SOIL header file
Opening an image file
Coding a sprite class
Creating sprite frames
Saving each frame
Loading a sprite from individual textures
Creating a sprite sheet
Loading a sprite sheet
Loading our sprites
Rendering
Adding a render to the game loop
Implementing the main Render function
Implementing Render in the Sprite class
UV mapping
One more detail
A moving example
Adding update to the game loop
Implementing the main Update call
Implementing Update in the Sprite class
Character movement
Using delta time
Calculating delta time
Flipping
Scrolling the background
Using an atlas
Summary
4. Control Freak
A penny for your input
The keyboard input
Using the mouse
Touch
Other inputs
Someone is listening
The WndProc event listener
Handling the message queue
Handling mouse and keyboard inputs
Creating the Input class
Virtual key codes
Querying for input
Implementing the Input class
Adding input to the game loop
Processing our input
Changes to the Sprite class
Graphical User Interface
Creating a button
Enhancing the Input class
Adding UI elements to the list
Checking each UI element
Pushing your buttons
Adding our pauseButton
State management
Creating a state manager
Pausing the game
Summary
5. Hit and Run
Out of bounds!
Getting anchored
Collision rectangles
Embedding
Fixing the background
Collideables
Ready to score
A friend indeed
Time to spawn
Circular collision detection
The Pythagorean Theorem
Adding the circular collision code
Why use circular collision detection?
Wiring in the collision detection
Rectangular collision detection
The enemy within
Spawning the enemy
Adding the rectangular collision code
Wiring continued
Summary
6. Polishing the Silver
The state of the game
State machines
Why do we need a state machine?
Planning for state
Defining the new state
Implementing the state machine
Making a splash
Creating the splash screen
Defining the splash screen
Loading our resources
What's on the menu?
Creating the menu
Defining the menu buttons
Getting some credit
Creating the credits screen
Getting back to the main menu
Working with fonts
Creating the font
Drawing text
Wiring in the font support
Level up!
Displaying the score
Game progression
Defining game levels
Game stats
The next level screen
Continuing the game
Game over
The game over screen
Replaying the game
Summary
7. Audio Adrenaline
Bits and bytes
A sound by any other name
Making noise
Revving up your engine
Accessing the FMOD .dll file
Linking to the library
Point to the include files
Initializing FMOD
Virtual channels
Channel priority
Bleeps and bloops
Sound effects
Setting up the sounds
Playing sounds
UI feedback
The sound of music
Cleaning up the house
Release sprites
Release input
Releasing fonts
Releasing audio
Summary
8. Expanding Your Horizons
Into the third dimension!
Simulating 3D
Real 3D
3D Coordinate Systems
The camera
Remember those home movies?
Steady as she goes!
The viewport
Entering the matrix
Vectors
Combining vectors
Identity matrix
Coding in 3D
Creating the project
Retrieving OpenGL files
Linking projects to OpenGL libraries
Setting up the OpenGL window
Including header files
Defining global variables
Creating a function to create the OpenGL window
Sizing the OpenGL window
Initializing the OpenGL window
Creating a function to remove the OpenGL window
Creating the OpenGL window
Creating the Windows event handler
The Game loop
The finale
Summary
9. Super Models
New Space
A computer in a computer
Drawing your weapons
Getting primitive
Drawing primitives
Making your point
Gl_Points
Getting in line
Gl_Lines
Gl_Line_Strip
Gl_Line_Loop
Triangulation
Gl_Triangles
Gl_Triangle_Strip
Gl_Triangle_Fan
Being square
Gl_Quads
Gl_Quad_Strip
Saving face
Back to Egypt
A modeling career
Blending in
Blender overview
Building your spaceship
Exporting the object
Getting loaded
Summary
10. Expanding Space
Creation 101
Preparing the project
Loading game objects
The Mod...

Indice dei contenuti