Books Recommended by Dmitrii S.: A Comprehensive Guide for Aspiring and Experienced Programmers #3
I have been working at General Arcade for almost six years, during which I've had the opportunity to port and remaster games across multiple platforms, including PC, Nintendo Switch, Xbox Series X/S, and PlayStation 5. These games varied in complexity — some were built using well-known engines like GameMaker Studio and Unity, but many relied on custom C++ engines. Each project presented a unique set of challenges. For instance, I frequently needed to interpret and translate game scripting languages into C++, reconcile differences between various versions of these languages, emulate GameMaker's graphical API within Unity, implement legacy DirectX functionality using newer versions, and adapt PC mouse input for gamepads in games that were not originally designed for them. These tasks required a deep understanding of programming fundamentals and creative problem-solving.
I’m not alone — many colleagues share similarly varied technical journeys. In our field, mastering the basics and honing general problem-solving skills is essential due to the unpredictable and broad nature of our work. On that note, we've already shared a few articles with book recommendations from our team, but there’s always more to explore, and we’d like to further contribute to that collection.
C++ Primer Plus by Stephen Prata
This was the book that started my journey with C++. It not only laid out the fundamental concepts but also provided practical examples and activities that helped reinforce my understanding. I found myself returning to it repeatedly for explanations and solutions. Before the era of instant Internet searches for quick information, this book was an essential guide that helped me build a solid foundation in programming. Even today, it continues to be a fantastic resource for anyone aiming to grasp C++ deeply, regardless of whether you're just starting out or looking to refresh your knowledge—an initial step on a long, rewarding journey.
C++ The Complete Reference by Herbert Schildt
In many ways, this book closely resembles Stephen Prata's. I used it to double-check and reinforce concepts. At times, I found myself reading the same content in both, which was a great way to drill important ideas into my mind. It's a thorough reference for C++, covering everything from the basics to more advanced features. For those who prefer a different approach or writing style, Schildt's book offers a solid alternative.
Game Engine Black Book: Wolfenstein 3D by Fabien Sanglard
领英推荐
This book dives deep into the technical challenges of developing early games like Wolfenstein 3D. It shows the creative tricks that developers of earlier times utilized. There's a lot of low-level programming here, and it's a great motivator for understanding the foundations of game development. Be prepared—this one gets into assembly language and other complex topics, but it's fascinating to see how much they accomplished with limited resources. In today's world, where tools and resources are abundant, it's inspiring to reflect on the potential of individual developers, which has evolved significantly over the years.
Computer Graphics from Scratch by Gabriel Gambetta
This book was an adventure into the fundamentals of computer graphics. Gambetta walks you through building your own software renderer and raytracer from the ground up. In an era where so much is hidden in libraries and APIs, it's refreshing—and important—to revisit the basics. I loved learning about the algorithms that power everything from video games to animated films. You never know when these foundational concepts will come in handy—particularly when working on projects that span decades, from the oldest techniques to today’s cutting-edge developments.