Game development is both an art and a science. Game developers work with big teams which includes producer, publisher, development team, designer, level designers, 2D and 3D artists, Art directors, programmers, sound engineers and testers etc. A mobile game is a video game played on a phone, smart watch, tablet computer or any portable media player. Mobile games first started gaining popularity in Japan in early 2000’s. By 2003 the Japanese had all kind of console games, puzzle games, 3D games with high quality graphics, virtual pet games that utilized camera phone and fingerprint scanner technologies, and Arcade style games available on their mobile phones and the age of mobile games had dawned. Soon the mobile game culture spread in Europe and in other parts of the world. Today the mobile game app economy forms a big part of mobile economy. Some game developers and game publishers have definitely struck gold. It is a lucrative vertical. For those who want to be good game developers and want to better their skills, there are several resources available. There are good books available too. Here is a list of some good books that game developers can go through to hone their craft.

# 1 Game Engine Architecture, Second Edition

By Jason Gregory

You can now get all the details of a Game Engine Architecture you need at one place. For people attempting to make their own game, it is a god sent solution to many of the problems they will face on their journey. This book focuses on the architecture of eighth generation of gaming consoles – the Xbox One and Play Station 4. It is not a book for beginners. You need to have experience with C++ to understand the concepts. It tells you all about different game engines and the differences between them – their genres, runtime engine architecture, asset pipeline and more. It talks about 3D math for games, Profiling tools, Memory leak, corruption detection, engine support systems, Animation systems, Collision and Rigid body dynamics, Gameplay systems, graphics, Motion and sound etc.

#2 Game Coding Complete – 4th Edition

By Mike McShaffry and David Graham

It is a complete hands-on guide that can help you launch quality games of your own commercially. Authors Mike McShaffry and David Graham are both veteran game programmers. Mike has plenty of experience with biggest publishers as well as the start-ups. He has been in the thick of things with traditional games – and the untraditional ones. His portfolio includes games like ‘Ultima’ to ‘Blackjack’, online and offline games, multiplayer –the works. David Rez Graham has been working on game programming since long. Right from developing mini-games and programming for ‘Barbie Diaries’ to games for Playstation 3 and Game boys DS. He has worked on ‘Diner Dash : Grillin Green’ a game for iPad and ‘Wedding Dash’ for iPhone 4.

Both of them bring you their ideas and learning, right from the trenches! They bring their experience and valuable insights into the book. This book gives you a great introduction to game architecture. It helps you know the major subsystems of modern game engines. It has covered details on topics like AI, game Actors, shader programming, resource caching, LUA scripting, network coding, the C# editor and many more. This book brings you best practices, tips and tricks that were actually used and cautionary advice that will help you cut hundreds of hours of unnecessary programming.

#3 Android NDK Game Development Cookbook

By Sergey Kosarevsky and Viktor Latypov

Both Sergey Kosarevsky and Viktor Latypov are software engineers. Sergey has more than 10 years of experience in software development and more than 4 years of experience with Android NDK. Viktor has been enjoying designing and developing software for past 20 yrs. He has experience in compiler development, robotics, device drivers, high performance computing and a personal interest in 3D graphics and mobile technology.

Android NDK Game Development Cookbook has 70 recipes to help you build portable mobile games. C++ developers can explore the world of android game development and use the power of existing C++ libraries with the help of this book. Basic knowledge of C or C++ with concepts of pointer manipulation, multithreading and object oriented programming needed.

This book provides you the recipe to make games with Android NDK. It provides you useful tricks and tips. You will learn porting popular C++ libraries to Android, play audio with OpenAL, write portable multithreaded code, debugging mobile applications, implementing gesture recognition, rendering text with FreeType, extract resources from APK archives and more.

#4 GPU Pro 6: Advanced Rendering Techniques

This book explores the latest developments in the rapidly evolving field of real-time rendering. It covers specific challenges that are involved in creating games. It has plenty of tips and high quality cutting edge techniques for real time rendering of special effects and visualization data on PCs, video consoles and mobile devices for both beginners and seasoned graphics programmers. It has inputs from more than 45 experts to cover the developments that happened and are happening in the field of graphics programming in games and movies. Advanced rendering techniques that run on runtimes like DirectX or OpenGL are also covered. The book covers topics like 3D engine design, effects in image space, shadows, handheld device programming, graphics related tools and more. There is a dedicated section that covers general purpose GPU programming that covers DirectCompute, CUDA and OpenCL , Hybrid Ray tracing, GPU-only particle system, etc.

GPU PRO 6 has plenty of ideas, tips and procedures that can ease the challenges graphic programmers face on daily basis. The best part is the examples that are provided with downloadable source code in the book as well as on the book’s CRC Press web page.

#5 The Art of Game Design: A Book of Lenses

By Jesse Schell

This book by Jesse Schell who is world’s top rated designer is for everyone who is involved and interested in game design. Jesse Schell was the former chair of International Game Developers Association and award-winning designer of Disney Games. The language is lucid, concepts are explained in a clear way. It is not a book on game development, it is a book on game design. It doesn’t teach you programming or any technical production skill. It doesn’t give you source codes. It teaches you about the development of a game holistically. The book has covered the underlying principles, on leveraging the drives and psychology of users, the architecture of the game, the kind of music, the kind of theme it should have – Schell has covered a lot of topics.

He makes you look at the game you are designing and developing from different lenses – different perspectives. 100 to be exact. He has the right questions for you- the kind you don’t really want to ask yourself. The book talks about how the tactics one uses in board games and card games can be incorporated in top end games. It talks about pacing – How the games can be made more interesting using change of pace. He advises incorporating weird things in the game to grab the attention of users.

Good for inspiration, excellent to get your creative juices going when you are planning to come up with a new game. Learn the craft of game design with a maestro. This book should be there on a game designer’s night stand.

#6 Essential Mathematics for Games and Interactive Applications, Third Edition

By James M. Van Verth and Lars M Bishop



It is a good refresher of mathematical concepts you have forgotten and it is always good to learn a few you can use. The book aims at illustrating the importance of mathematics for 3D programming. It teaches you to properly animate, simulate and render scenes with the help of mathematics. The book begins by focusing on numeric representation, linear algebra and matrix manipulations and then goes on to cover topics like texture filtering, interpolation, animation, randomness and basic game physics. A very useful book for developers, who are new to 3D programming.

It teaches you how the mathematics actually applies to games and graphics. The authors teach you how to animate geometry -the different stages of a rendering pipeline are discussed. Focus is on addressing randomness, physical simulation and intersecting geometric entities. It has details on shader graphics pipelines – it talks about DirectX 11, OpenGL (GLES) and the OpenGL core profile. You also learn about real-time graphics. You get to learn how you can alter the look and play of the game with mathematics based programming.

You can use the resources provided by a supplementary website. It contains supporting libraries and interactive demonstrations that illustrate the concepts. The website also has slides and notes from the GDC tutorials.

.

#7 Real-Time Rendering, Third Edition

By Tomas Akenine-Moller, Eric Haines and Naty Hoffman

Third edition of Real-Time Rendering is hard core- it is not for novices. It focuses on new techniques that can help you generate 3D images in fraction of seconds. You need to know about the programmable shaders and the new algorithms that have been developed and have evolved. The book discusses current methods of real-time renderings used by games and applications. The topics included are Direct X, OpenGL, The graphics rendering pipeline, Texturing, Advanced shading, Area and Environmental lighting, global illumination, non-photorealistic renderings, acceleration algorithms, Collision detection and more. It provides a detailed framework for interactive computer graphics. There is a connected resource website that has all the real-time rendering resource you may need. It is very useful. Do check it.

The Wrap

These are the 7 books every game developer and designer should look out for. They will add to your skills and insights. You can also follow this thread on reddit where they are discussing all about good books for game developers. You will know about other books too the details of which aren’t here.

If you love a book and find it useful, tell us about it, tell others about it. And keep discovering. That’s all folks. Until next time. Adios.