Imagine if we wanted to create a simple pinball game where players could select from various balls, including a metal ball, a baseball, a basketball, etc. We want the balls to have realistic textures and physics properties as well. To accomplish this, we need to model and texture all the balls, implement realistic physics, design levels, and finally program the logic.

What if we had a tool that handled the majority, if not all, of these tasks for us?

Game engines, or game frameworks, are game development environments that simplify, optimize, and speed up game development cycles. They come packaged with a diverse set of tools that provide the needed core functionality essential to developing a game, including:

  • Rendering: generating images from 2D or 3D models.
  • Physics: pre-configured settings and configuration to simulate real-world behavior and collision detection
  • Lighting: handle various lighting effects, including diffusion, scattering, ray tracing
  • AI: create behaviors for all game elements
  • Sound: create sound effects
  • Asset Store: download pre-built (and sometimes free) game assets

Game engines lay down the foundation for developers to build upon. Utilizing these tools can drastically cut production time and costs. Instead of worrying about coding physics or managing memory, developers can devote their time, energy, and money to focus on the mechanics or story of their games. Some engines even provide the ability to port games from one platform to another.


Click each concept card to review the functionality of game engines.

Move to the next exercise when ready.

Take this course for free

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?