Procedural content generation for C++ game development : get to know techniques and approaches to procedurally generate game content in C++ using Simple and Fast Multimedia Library /
Annotation
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Formato: | Electrónico eBook |
Idioma: | Inglés |
Publicado: |
Birmingham, UK :
Packt Publishing,
[2016].
|
Colección: | Community experience distilled.
|
Temas: | |
Acceso en línea: | Texto completo Texto completo |
Tabla de Contenidos:
- Cover ; Copyright; Credits; About the Author; Acknowledgment; About the Reviewer; www.PacktPub.com; Table of Contents; Preface; Chapter 1: An Introduction to Procedural Generation ; Procedural generation versus random generation; Procedural generation; Random generation; Introducing randomness; Pseudorandom number generation; Why computers can't generate truly random numbers; Generating random numbers in C++; Generating random numbers within a range; Seeds; Defining seeds; Using seeds; Generating random seeds during the runtime; Controlled randomness is the key to generating random numbers
- The use of procedural generation in gamesSaving space; Map generation; Texture creation; Animation; Sound; Benefits of procedural generation; Larger games can be created; Procedural generation can be used to lower budgets; An increase in gameplay variety; An increase in replayability; The drawbacks of procedural generation; More taxing on the hardware; Worlds can feel repetitive; You sacrifice quality control; You may generate an unplayable world; It is hard to script set game events; A brief history of rogue-like games; How we'll implement procedural generation; Populating environments
- Creating unique game objectsCreating unique art; Audio manipulation; Behavior and mechanics; Dungeon generation; Component-based design; The complete game; Exercises; Summary; Chapter 2: Project Setup and Breakdown ; Choosing an IDE; Microsoft Visual Studio; Code::Blocks; Other IDEs; Build systems; Breaking down the game template; Download templates; The class diagram; The object hierarchy; Level data; Collision; Input; Simple and Fast Multimedia Library (SFML); Defining SFML; Why we'll be using SFML; Learning SFML; Alternatives; Polymorphism; Inheritance; Virtual functions
- Pure virtual functionsPointers and object slicing; The roguelike template setup; Downloading SFML; Linking SFML; Running the project; Adding an item; Updating and drawing; Exercises; Summary; Chapter 3: Using RNG with C++ Data Types ; Setting the game seed; Setting Boolean values randomly; Generating a number between 0 and 1; Choosing if an item spawns; Random number distribution; Giving the player random stats; Accessing random elements of a collection; Spawning a random item; Generating random characters; Repeating loops; Spawning a random number of items; Exercises; Summary
- Chapter 4: Procedurally Populating Game Environments Potential obstacles; Keeping within the bounds of a level; Avoiding overlapping objects; Creating meaningful levels; Level tiles; Defining the spawn area; Calculating the level bounds; Checking the underlying game grid; Selecting a suitable game tile; Randomly selecting a tile; Checking whether a tile is suitable; Converting to absolute position; Spawning items at a random location; Expanding the spawning system; Using enumerators to denote an object type; Optional parameters; The complete spawn functions; Updating the spawn code