3 Replies - 811 Views - Last Post: 27 August 2010 - 07:13 PM Rate Topic: -----

#1 CodingNewb  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 229
  • Joined: 04-December 09

C++ Game Libraries, Engines, etc.

Posted 27 August 2010 - 05:14 PM

So I've been googling and looking around, but I'm still a bit confused about some things, and want some experienced advice on some others, hence I came here.

I don't really understand the difference between a game library and an engine. I'm assuming an engine would be able to handle the physics & rendering, etc, and the library would be for actually creating the game?

Also, from experience, what do you think is the best library for creating a 3D game? I want it to eventually be networked.


Thanks.

Is This A Good Question/Topic? 0
  • +

Replies To: C++ Game Libraries, Engines, etc.

#2 SixOfEleven  Icon User is offline

  • using Caffeine;
  • member icon

Reputation: 945
  • View blog
  • Posts: 6,342
  • Joined: 18-October 08

Re: C++ Game Libraries, Engines, etc.

Posted 27 August 2010 - 05:15 PM

Better of in Game Programming. Moving this there.
Was This Post Helpful? 0
  • +
  • -

#3 stayscrisp  Icon User is offline

  • フカユ
  • member icon

Reputation: 999
  • View blog
  • Posts: 4,175
  • Joined: 14-February 08

Re: C++ Game Libraries, Engines, etc.

Posted 27 August 2010 - 06:02 PM

You can think of a library as a set of functions that take some of the programming out of tasks such as drawing to the screen. An engine would wrap up these functions so to be more specific to making a game.

Lets take the SDL library as an example, it provides a set of functions that can make setting up a window and drawing to it a lot easier than if you were to do it from scratch. on the other hand an engine built using SDL would have functions that hide the more specific SDL functions.

I hope that makes sense.
Was This Post Helpful? 0
  • +
  • -

#4 Oler1s  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1395
  • View blog
  • Posts: 3,884
  • Joined: 04-June 09

Re: C++ Game Libraries, Engines, etc.

Posted 27 August 2010 - 07:13 PM

So a library is simply code that is designed to be reused. It doesn't imply anything about what the library does, or what contexts it is intended to be used, other than that it's usable on some platform, like a C library or .NET library.

An engine is about a platform. It provides functionality, yes, but it provides an entire system of functionality, complete with its own design and way of working. Because it's a platform, it's an abstraction. You provide data to an engine, and it handles that data. By the way, data can be code (behavior). Nonetheless, you work on top of this platform, using the tools it provides, and working with the concepts it provides.

Take a graphics engine for example. A graphics engine will provide you high level concepts like loading models, and how you want graphics blended together, and what effects you want. It will deal with managing all the various models and effects, rendering them appropriately based on settings like draw distance.

These are high level concepts. An effective system requires you to work out a lot of details. Furthermore, you then have to deal with issues like exporting from say, Blender, and then importing to your format. You have to worry about issues like debugging and so on. An engine provides a complete system to deal with all of that, and you just provide data, like what models to render.

A game engine is going to be more expansive, as it has to provide the entire guts of a game. It then gives you very high level concepts like game objects and entities and so on. Once again, your code is just behavior data. It's how your game behaves, but the underlying concepts are handled by the engine.

A library and an engine don't compete. It's possible that the engine is implemented as a library. You load that library through your code and then provide functionality to the engine. Or it could be something like Unity, where you provide scripts.
Was This Post Helpful? 1
  • +
  • -

Page 1 of 1