0
\$\begingroup\$

I am a little confused on the difference between a game engine and an actual game. By making a game, are you making a game engine, or is a game engine a library used to make a game?

\$\endgroup\$
1
  • \$\begingroup\$ I think an engine provides at least a software architecture which defines where what features should be implemented. SFML doesn't do that, it's more like a toolset to me. \$\endgroup\$
    – danijar
    Commented Nov 23, 2013 at 12:05

2 Answers 2

6
\$\begingroup\$

Engine simply refers to the underlying software that "drives" your game. You build your game engine on top of SFML. SFML provides a simple way to create visuals, play audio, netcode etc. SFML would become part of that engine.

A game engine can come in a form of a library or with a full fledged editor and own scripting language. But SFML is not a "game" engine. Its main purpose is not just to create games. You can also build other media applications with it. SFML simply provides a layer of software which allows the developer to do things like drawing an image or play a sound. But you can consider it a collection of "engines" for producing visuals, playing audio, etc.

Usually when people speak of a game engine they are talking about a piece of software that's pretty complete on its own. The only thing missing is art(sprites/models/etc) and game logic(gameplay, input, etc ) which results in an actual game.

Even if you're making a small game with sfml, anything you write on top which "runs/drives" your game can be called an "engine". Wouldn't worry too much about it.

Library simply refers to a collection of classes/functions/subroutines/whatever to develop software with.

\$\endgroup\$
1
\$\begingroup\$

Actually it would be more accurate to say that a "game engine" is all code common across video games (ie: network, video, audio, etc). This "engine" is then compiled along with the video game being developed, and any additional files such as game assets (like sprites, etc).

By separating common code from game-specific code developers may better work on just the game without having to constantly reinvent the wheel.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .