Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The Game vs The Game Engine? [closed]

Tags:

c++

I was wondering if somebody could tell me how the game and the game engine fit into game development. Specifically what I mean is, the game engine does not actually have a game. So where I'm unclear about is basically, do game developpers build an engine, then create a new class that inherits from engine which becomes the game?

Ex:

class ShooterGame : public Engine
{
};

So basically i'm unclear on where the game code fits into the engine.

like image 450
jmasterx Avatar asked Feb 12 '11 23:02

jmasterx


People also ask

What is the purpose of a game engine?

A game engine is a system designed for the creation and development of video games. The core functionality typically provided by a game engine includes a rendering engine for 2D or 3D graphics, a physics engine or collision detection (and collision response), sound, scripting, animation, artificial intelligence, networking,...

What is the difference between game logic and game engine?

The game logic is specific for one game whereas the game engine is something that can be reused. Much like an operating system provides utilities for applications the game engine does the same for the game code. Most game developers do not write their own game engine.

Are all game engines created equal?

Unfortunately, not every game engine is created equally. Some game engines are created in-house while other developers purchase commercial licenses to use an engine. The game engines on this list are ranked by their potential, their portfolio, and the graphics of the games they have created.

What is the best game engine for video games?

Its portfolio of games is one of the best on this list which makes it an exceptional game engine. Fox Engine is the proprietary game engine from Konami Digital Entertainment. Fox Engine has been used to make many of the modern Metal Gear and other projects such as P.T. The canceled Silent Hill game would have also run on this game engine.


2 Answers

The distinction between the game and the actual game engine is architectural. The game logic is specific for one game whereas the game engine is something that can be reused. Much like an operating system provides utilities for applications the game engine does the same for the game code.

Game engines will typically have different APIs for:

  • Loading multimedia data like audio, textures, 3d models
  • Providing a game loop and firing off various events caused by the users input
  • Networking
  • Graphics rendering and various techniques to make the game look nice using lighting, particle effects or bump mapping
  • Audio
  • Artificial Intelligence
  • An API to allow for defining game rules, game play, and game logic

Most game developers do not write their own game engine. It would be too much work. Instead they'll reuse a game engine their company has or license one. For first person shooters, id Software, and Unreal are two popular choices.

Once they have the engine they have to start writing code to make their game. This is done using the API provided by the game engine. For example Valve makes developers use C++. If you wanted a monster you would extend off of the Entity class and define how this monster behaves in that base class.

I would recommend reading through the documentation and tutorials provided by the various game engine providers. Keep in mind some games are classified as "mods" and some as "total conversions." Typically, a mod does not change the engine of the game and the total conversion may add or remove significant features to a game engine.

Here are a few sources I would recommend:

  • http://developer.valvesoftware.com/wiki/SDK_Docs
  • http://udk.com
  • id Software releases their game engines as GPL after a few years. Reading through their code you'll learn a lot: ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip. I would also recommend taking a look at Enemy Territory which was a based of quake 3 code: ftp://ftp.idsoftware.com/idstuff/source/ET-GPL.zip.
like image 67
Evan Avatar answered Nov 06 '22 02:11

Evan


Actually, I can not tell the difference between engine and framework. It's just two different names.

What really odd is that game engine is all about client side, it seems like you do not need a server framework, whereas pure socket is enough for it.

But the reality is not like this, at least, there should be some framework like rails or django to ease your server development. Not to see game server is harder than web development in scalability, broadcast and other areas.

There is a commercial solution called smartfox server, and a new open source solution called pomelo framework, I've tried both, pomelo is much better. pomelo.netease.com is its home.

like image 27
Charlie Circle Avatar answered Nov 06 '22 02:11

Charlie Circle