Over 70 recipes that will help you master the elements and best practices required to build a modern game engine using Lua About This Book Discover how to solve common and less common problems in game mechanics Learn about modern computer graphics, sounds, physics, artificial intelligence and much more Packed with loads of practical examples, step-by-step instructions, and supporting explanations to help you build a modern game engine using Lua Who This Book Is For This book is for all programmers and game enthusiasts who want to stop dreaming about creating a game, and actually create one from scratch. The reader should know the basics of programming and using the Lua language. Knowledge of the C/C++ programming language is not necessary, but it's strongly recommended in order to write custom Lua modules extending game engine capabilities or to rewrite parts of the Lua code into a more efficient form. Algebra and matrix operations are required in order to understand advanced topics in Chapter 4, Graphics – Legacy Method with OpenGL 1.x-2.1 and Chapter 5, Graphics – Modern Method with OpenGL 3.0+. Sample demonstrations are coupled with binary libraries for Windows and Linux operating systems for convenience. What You Will Learn Set up OpenGL graphics along with GLSL shaders Use lighting and graphical effects Create animated game characters using Box2D library Load and use textures, fonts, and 3D models Design and implement a graphical user interface Integrate simple Artificial Intelligence for pathfinding Implement networking support Use data structures in programming In Detail The Lua language allows developers to create everything from simple to advanced applications and to create the games they want. Creating a good game is an art, and using the right tools and knowledge is essential in making game development easier. This book will guide you through each part of building your game engine and will help you understand how computer games are built. The book starts with simple game concepts used mainly in 2D side-scroller games, and moves on to advanced 3D games. Plus, the scripting capabilities of the Lua language give you full control over game. By the end of this book, you will have learned all about the components that go into a game, created a game, and solved the problems that may arise along the way.