Game Engine vs. A Game Library

I took another route: to me engines don’t exist except in the minds of Call of Duty and Battlefield players. There is code and there are tools, nice and simple :slight_smile:

The distinction is subjective, there is no hard objective distinction.

Generally, a library does something more localized, where an engine or framework has a much broader usage.

I might use a library for math functions or collections or cryptography for localized tasks and the project can generally swap those in/out without dramatic effort.

An engine or a framework generally implies more broad usage. Multiple libraries, and more tight coupling across the project code base.

This is the complete opposite of what some of the others have said. Haha. Clearly the proposed purpose of the two vary from person to person.

In my eyes. A game library contains things that a user can use to make a program such as usfull assets. A game engine is more of a prebuilt structure you build ontop of that already works on its own without implementing anything else.

I suggest that the destinction is in dependency, but not one’s dependency on the other. I mean that if your code is a library, you could take it away from its “engine” counterpart and it would still be usefull, EX : a geometry library, or math library. But if you take this code deemed the library away from its higher level “engine” code, the engine would not be usefull.

But :
Is an engine still an engine if it is unspecific to a genre of games?
Is an engine still an engine if it is being implimented by another “engine”, or is it now a library?
Isnt it all just code anyway, all of it relying on the code lower than it?

I think a library handles a single utility such as graphics, audio, or networking, and an engine comprises of all the utilities. But if you think about it, you include a library, whereas in an engine, you would include primarily resources(scripts, graphics, audio, etc.).

So I think the proper term for all the engines being made around here are more like frameworks, where you provide a set of tools and utilities and people will fill in the holes(sort of like a hybrid between an engine and a library?)