Game Architecture and Programming
ISBN: 9788126528875
280 pages
eBook also available for institutional users
For more information write to us at: acadmktg@wiley.com
Description
Game Architecture and Programming introduces readers to the technologies and software engineering practices used in the game industry today. It helps readers learn the basics of creating a PC game based on DirectX. The topic is effectively branched into two parts: game architecture and game programming. The examples and programming codes are practical and interesting to implement, hence providing a very engaging readership experience. It expects the reader to be familiar with C and C++ programming and have a very basic understanding of Windows programming. Once done, the readers will be able to build their first game on Windows by writing their own graphics and logic engine.
Part A Game Architecture
1. Core Game Design
1.1 Introduction
1.2 Game design principles
1.3 Game design process
1.4 Build the concept
1.5 Creating the game specification
1.6 Gameplay in detail
1.7 Gameplay specification
Summary
Key Terms and Concepts
Review Questions
Assignment
2. Initial Design
2.1 Introduction
2.2 Game and hardware abstraction
2.3 The problem domain
2.4 Tiers of game architecture
2.5 Tokenization
Summary
Key Terms and Concepts
Review Questions
Assignments
3. Technical Aspects of Game Design
3.1 Introduction
3.2 The state of the art
3.3 Blue-Sky research
3.4 Reinventing the wheel
3.5 Use of object technology
Summary
Key Terms and Concepts
Review Questions
Assignments
4. Building Blocks
4.1 Introduction
4.2 Game development issues
4.3 Core groups in soft ware factory and their interactions
4.4 Reusability in soft ware
Summary
Key Terms and Concepts
Review Questions
Assignment
5. Initial Architecture Design
5.1 Introduction
5.2 Architectural styles
5.3 The tier system
5.4 Architecture design
5.5 Applying tier-based approach to architecture design
Summary
Key Terms and Concepts
Review Questions
Assignments
6. Development
6.1 Introduction
6.2 The development process
6.3 Code quality
6.4 Coding priorities
6.5 Debugging and module completion
6.6 The seven golden principles of effective design
6.7 Five important aspects in game development
6.8 The three lead balloons
Summary
Key Terms and Concepts
Review Questions
Assignments
Programming Assignments
Part B Game Programming
7. Technologies
7.1 Introduction
7.2 Deviation from normal programming
7.3 Available game platforms
7.4 Game display technologies
7.5 DirectX and OpenGL
7.6 Tools for game development
7.7 Display systems
7.8 Game engines
7.9 User interface
7.10 Resource caching
7.11 The main loop
Summary
Key Terms and Concepts
Review Questions
8. Design Practices
8.1 Introduction
8.2 Some standard design practices in game development
8.3 Memory and its types
8.4 Optimizing memory access
8.5 Memory alignment
8.6 Virtual memory
8.7 Memory-mapped files
8.8 Naked and smart pointers
8.9 Game scripting languages
Summary
Key Terms and Concepts
Review Questions
Programming Assignment
9. Building Your Game
9.1 Introduction
9.2 Deciding on project directory structure
9.3 Creating a project in visual studio
9.4 Setting up Visual Studio build options
9.5 Source control
9.6 Popular source control soft wares
9.7 Source control best practices
9.8 Game build process
Summary
Key Terms and Concepts
Review Questions
10. User Interface Programming and Input Devices
10.1 Introduction
10.2 Getting the device state
10.3 Recommended practices while working with the mouse
10.4 Working with the keyboard
10.5 User interface components
10.6 More control properties
Summary
Key Terms and Concepts
Review Questions
Programming Assignment
11. 2D Drawing and DirectX
11.1 Introduction
11.2 Setting up Visual Studio to work with DirectX
11.3 Graphics hardware
11.4 2D drawing using DirectX
11.5 2D drawing concepts
11.6 Sprites
11.7 Graphic file formats
11.8 Differences in storage of 16-bit color information
Summary
Key Terms and Concepts
Review Questions
Programming Assignments
12. Initialization and Main Loop
12.1 Introduction
12.2 Initialization
12.3 Initializing game objects
12.4 Game loop
12.5 Cleanup
12.6 Complete Pong game code
Summary
Key Terms and Concepts
Review Questions
Programming Assignments
13. Loading and Caching Game Resources
13.1 Introduction
13.2 Image formats
13.3 Audio formats
13.4 Points to remember while using audio in games
13.5 Points to remember while using video in games
13.6 Resource cache
Summary
Key Terms and Concepts
Review Questions
Programming Assignments
14. 3D Graphics and 3D Engines
14.1 Introduction
14.2 3D graphics pipeline
14.3 DirectX project setup
14.4 Scene graph
14.5 Scene nodes
14.6 Building a 3D scene
14.7 3D middleware
14.8 Creating your own 3D engine
Summary
Key Terms and Concepts
Review Questions
Programming Assignment
Suggested Questions
Appendix A - Game Genre
Appendix B - Game Development Studio Chart
Bibliography
Index