The Fall is already past and the Winter has already come, but there’s always time for some reading suggestions, following the trend started by one of my earlier posts last Summer ("Light summer reading"). As some of you know I’m currently working on a 3D game engine and a sample game built with it; also because of that, during the course of these colder months, I’ve read, am reading, or will read, the following selections:
Ultimate 3D Game Engine Design & Architecture, First Edition, by Allen Sherrod, 586 pages (CD-ROM included), ISBN-10: 1-58450-473-0 - a book about the fundamentals of 3D game engine development that covers engine cores and their main features, together with the most important subsystems (input, sound, networking, graphics, physics, artificial intelligence, scripting). The volume uses C++ as its language of reference, presenting sample code for the game engine and for two small demo games that use it, developed around both OpenGL (for Mac OS X and Linux) and DirectX (for Windows), while exploring the surface of other open- or closed-source libraries (such as OpenAL or XInput). Overall, a good book, which unfortunately is forced to not descend into detail too much by its choice of target and size (each subsystem would require a much larger book by itself to be described the right way), while nevertheless being able to explain the basics in a clear manner, offering much food for subsequent thought.
Game Programming Gems, First Edition, by Mark DeLoura, 600 pages (CD-ROM included), ISBN-10: 1-58450-049-2 - the first of many in the Game Programming Gems series that should be on the bookshelf of every game programmer and recommended by many successful professionals in the field. The book is organized as a series of game programming tips, often specific and to the point, on topics ranging from memory management to pathing strategies to collision detection. While some may frown at the idea of it being “only” a collection of unrelated articles, most of which are probably available somewhere on the Web, having such a collection in a single book is invaluable, and the various “gems” are definitely worth their price.
123 Robotics Experiments for the Evil Genius, First Edition, by Myke Predko, 355 pages (PCB included), ISBN-10: 0-07-141359-6 - a collection of simple experiments for the hobbyist, aimed at teaching the basics of robotics and have fun on the way. I got this book as a Christmas present and was surprised to see the level it quickly advances to, going from simple models built with used toilet paper rolls (seriously), that are used to show how limbs and joints in a human-like figure move, progressing through materials, electronics, magnetism, all the way to showing how to build simple yet working robots that sense and follow lights or walls, or use the GPS interface as a navigational aid — all quite inexpensively and in-house. Even if this book clearly won’t grant you a job at DARPA and may cover some areas that may be considered too basic by some (but shouldn’t be underestimated), it’s still full of useful information that is presented in a fun yet detailed way (the name of the book series “for the evil genius” sets the tone for the presentation of the experiments). I will definitely look into others from the same series.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition, by Scott Meyers, 320 pages, ISBN-10: 0-32133-487-6 - another valuable book that presents an assortment of suggestions for C++ developers on how to improve their programs by following sensible design techniques and a handful of simple yet effective devices to avoid memory leaks, incorrect data type design or wrong template use and management. Clearly not aimed at complete beginners, it is a great resource to continue training in the ways of C++ after one has mastered the language basics, or for most of those who believe they have also mastered its more advanced features but are likely to have missed something along the way.
Time being one of the scarcest resources on Earth, it’s always a good way to spend it by enhancing one’s education. The book on how to have more time during each single day still eludes me — but I will continue my search for it.
Share This