Where do you draw the line between an engine and a game?

You can talk about almost anything that you want to on this board.

Moderator: Moderators

Post Reply
psycopathicteen
Posts: 2904
Joined: Wed May 19, 2010 6:12 pm

Where do you draw the line between an engine and a game?

Post by psycopathicteen » Mon Aug 23, 2010 5:05 pm

When exactly does an engine get so specific that it becomes a game and not just an engine?

User avatar
tokumaru
Posts: 11469
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Mon Aug 23, 2010 5:15 pm

Does it really matter what you call it? Most of us in this forum program engines at the same that we generate game content, so it really isn't possible to draw a line.

Also, an unfinished game isn't much of a game. IMO, it only becomes an actual game when you finish it and it's playable from start to finish.

Drag
Posts: 1286
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Post by Drag » Mon Aug 23, 2010 5:53 pm

The engine is the code and the data that you can recycle into a new project, with which you can make another game.

A game is just how you use the engine. :P

UncleSporky
Posts: 385
Joined: Sat Nov 17, 2007 8:44 pm

Post by UncleSporky » Mon Aug 23, 2010 7:07 pm

Yeah, it's pretty clear that the engine is what you have when there is no audio data, graphical data, or level data. You can't play an engine.

Celius
Posts: 2157
Joined: Sun Jun 05, 2005 2:04 pm
Location: Minneapolis, Minnesota, United States
Contact:

Re: Where do you draw the line between an engine and a game?

Post by Celius » Tue Aug 24, 2010 12:04 am

psycopathicteen wrote:When exactly does an engine get so specific that it becomes a game and not just an engine?
I wouldn't really define a game as an engine alone. A game is made up of an engine and data that the engine processes. Given that, I'm not sure I quite understand the question. Would you mind elaborating a little more?

tepples
Posts: 21755
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Tue Aug 24, 2010 4:47 am

UncleSporky wrote:Yeah, it's pretty clear that the engine is what you have when there is no audio data, graphical data, or level data. You can't play an engine.
You can when it comes with a demo level made of pieces of the test case levels used in the engine's test-driven development. Technically, this is a game, but it's one that players expecting a more substantial game will call "steaming pile of tech demo".

UncleSporky
Posts: 385
Joined: Sat Nov 17, 2007 8:44 pm

Post by UncleSporky » Tue Aug 24, 2010 6:06 am

Exactly, it is either a game or a tech demo, and not merely an engine. Even a level of null data is providing something for the engine to work with.

One could argue that a screen with a single red square that you can move around is a sandbox game. Set your own goals! See how fast you can move it side to side! See if you can get the square to sit in the exact corner of the screen!

psycopathicteen
Posts: 2904
Joined: Wed May 19, 2010 6:12 pm

Post by psycopathicteen » Tue Aug 24, 2010 9:18 am

What about collision tiles. Solid, air, platform top, ramp, ect. At first they seem like part of the engine, but there's not really anything in the actual engine code that defines 00 = air, 01 = solid, 02 = ramp, it's really the character's AI that defines what number value goes with what kind of tile. For example in a Mario game you can make an enemy fall through a ramp tile if you don't program the enemy's AI to react to a ramp tile like a ramp tile.

User avatar
tokumaru
Posts: 11469
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Tue Aug 24, 2010 9:53 am

psycopathicteen wrote:What about collision tiles. Solid, air, platform top, ramp, ect. At first they seem like part of the engine, but there's not really anything in the actual engine code that defines 00 = air, 01 = solid, 02 = ramp, it's really the character's AI that defines what number value goes with what kind of tile.
Not necessarily. All the collision could be coded in functions shared by all objects, and the objects would just have to use the functions or not. Technically, those functions are part of the engine, the objects themselves just make calls to them.

Post Reply