Are you interested in developing games? It can be exciting to get started with 3D game programming provided you have the correct tools and guides. Game development is a complete subject in itself and it is best to start with basic GUIs and graphics. An effective game programmer should be able to perform graphics processing, audio programming, game logic and similar tasks. In 3D games, you need to handle real-time rendering according to the movements and inputs of the user. Moreover, you need to perform quick rendering so that the user might not have to wait for the results. These features require high-end processing resources and accurate game logic.
Another important requirement for developing 3D game is to have sound logic. You would require an understanding of physics, maths and logical skills for creating a successful 3D game. If you are planning to get started with 3D game programming, here are some important books to consider:
(By: Aung Sithu Kyaw )
Unity 4.x Game AI Programming shows how to apply AI techniques to your Unity3D projects using C# as the scripting language. It is a beginner’s book. If you are just starting in the Game world then, you can learn AI techniques such as flocking behavior, building a sensory system for taking inputs from the environment and other AI agents, and so on.
It focuses more on the application of AI techniques in the Unity3D engine. There are sample projects that demonstrate FSMs, path finding etc. The path following and steering shows how to avoid dynamic obstacles.
The book also covers plug ins from the Unity Asset Store. You learn how to use the Behave plug in to construct behavior trees for intelligent AI character behaviors.
In the final chapter this book will show you how to build a racing game AI project using Unity3D and applying the techniques described in earlier chapters.
The books is also available on Amazon – Unity 4.x Game AI Programming
(By: Frank D. Luna )
If you are getting started with 3D game programming, this is the best book to start with DirectX. The book involves a simple explanation for different 3D Graphics concepts and you can learn 3D game programming with Direct3D API instead of complex engines. Every important concept is separated into an individual section and followed by descriptive examples. You can learn the basic math principles involved in 3D programming such as use of triangles to create animated objects. The book is written for basic to high-end 3D game programming.
(By: Eric Lengyel )
This book requires you to have a basic understanding of maths (algebra and trigonometry) to start programming. You can learn the advanced level maths, which is required in 3D game programming. It starts with basic concepts of creating matrix, vector handling and basic geometry involved in development of a frustum. The lighting chapter is one of the best parts of this book because of the in-depth explanation for ray tracing and texturing techniques in lighting. You can learn other advance topics such as shadowing, portal systems and curve algorithms for development.
(By: Stefan Zerbst & Oliver Duvel )
Unlike the earlier games, most of the modern games use 3D game engine for an efficient gaming environment. The high cost of game engines makes it difficult for new game programmers to use them. This book will guide you to write your complete game engine with all the comprehensive features such as rendering, math libraries, input, audio and network handling. You can create an engine with the capability to support both OpenGL and DirectX, create network players, and perform advanced graphics functions such as ‘Vertex’. However, you should have a basic understanding of the working of game engine to work effectively with this book.
(By: Andre LaMothe )
If you are planning to learn the basics of 3D game programming, this is the best book for you. You can start from a scratch and work with details like building a game environment, creating keyboard drivers and even joysticks. This book is targeted to get you started with 3D game programming and does not include the basics of 3D programming. The book progresses towards creating a 3D engine for your game and it covers minute details about the process. However, this book is not for experienced gaming programmers.
(By: Fletcher Dunn & Ian Parberry )
Mathematics is an important part of 3D programming and that is what this book explains in a detailed manner. If you do not have an excellent understanding of analytical geometry and calculus, this book will walk you through it. The casual tone of the book makes it an excellent teacher for learning reasoning skills required in 3D game development. Keep in mind that this book does not cover advanced topics such as physical simulation or global illumination and focuses on covering the basic concepts. This is an ideal book to get acquainted with 3D math and graphics development.
3D programming involves an excellent understanding of mathematics and analytical reasoning. If you are planning to get started with 3D game development, it is best to practice the basics of maths and brush up your programming skills before starting the development. The above mentioned books will definitely help you understand programming in an efficient manner and get you up to speed with 3D game development.
- Article Updated on September 2021. Some HTTP links are updated to HTTPS. Updated broken links with latest URLs. Some minor text updates done. Content validated and updated for relevance in 2021.