A game engine is the core software that handles various components of a game like graphics, physics, sound, and artificial intelligence. Game engines provide tools and technologies to simplify game development while supporting multiple platforms. Key components of game engines include graphics rendering, physics simulation, sound, scripting, animation, and networking. Game engine architecture typically involves modules for these components that communicate through an application programming interface while abstracting the underlying hardware.