EECS 498 - Game Engine ArchitectureAn immersive experience in Game Engine Architecture, where students construct their own miniature game engines from scratch. This intensive, C++-focused course challenges students to add unique custom features to their engines while supporting modern, course-required functionalities. Throughout the course, students delve into architectural patterns, algorithms, and data structures essential for building expressive software. They also integrate industry-standard middleware like SDL and Box2D for windowing, physics, and audio, while mastering multi-platform, portable coding techniques. Additionally, students learn to write multi-language software, incorporating unmanaged host and managed guest languages like C++, Lua, and LuaBridge to optimize performance and streamline content creation. By studying existing game engines and their commonalities, students gain insight into the history and potential future of game engine development, including key prior art and lessons learned from engine-induced disasters.