See all glossary terms

Software framework

A software framework is a more or less universal, reusable environment that usually provides a specific architecture or structure and many features to make it easier to develop specific programs.
An engine packs many features to save time when developing games. This usually includes a rendering engine, a physics engine, an audio engine, and, optionally, many more tools. Note that many frameworks and engines have no editor or graphical user interface. The framework is all the code and tools that are provided to the developer to build upon, including the API.
Game engines like Godot are one example of software frameworks, though there are many kinds. Many websites are built on top of a web framework, for example.
Note that a framework is not a silver bullet. Software architectures have different tradeoffs, and what you gain in ease of use and productivity, you might lose in control or performance. This is not to say that you shouldn't use a game engine: making one from scratch is a huge task. It requires a lot of technical knowledge and maintenance and takes a lot of time away from making the game itself. But it's important to understand the tradeoffs and limitations of the tools you use, on top of their strengths and benefits.