Needs explanation for Video "Engine" in 3-D games

intricate45

Member
Mar 6, 2001
59
0
0
Hello...I want to understand how the "engine" works in the new 3-D video games. Is there a white paper I can read or a reference site or just a explanation somewhere? I heard the term "quake engine" and dont know what that means. I am seriously interested but an NOT a software engineer. Thank you.
 

singh

Golden Member
Jul 5, 2001
1,449
0
0
Try to read around here: Gamedev.Net

A game engine is exactly like a car's engine - it does all the work, but you have to supply the "body" of the car, make it look nice etc.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
I don't know about any explanations for the layman, but the term 'quake engine' refers to the game Quake by iD software. The source code for quake1 and quake2 are available, if you decide you want to get inside John Carmak's head =)
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Personally I would recommend OpenGL since it's available on more OSes, and some people say easier to program for. But he says he's not a programmer, so I doubt reading about either API would help.
 

y0shi

Banned
Jan 28, 2001
776
0
0
if you're looking for a quick explanation, think of it this way: the engine is like the basic situation you outline for your teacher when you dont have your homework again-- theres you, the teacher, and no homework. now a game built on this engine would still have you, the teacher, and no homework, but the teacher could be an 8-armed, 3-eyed monster with fangs; and you could be a superhero with a rocket launcher hehe. the engine is what causes you to say "hey, this game FEELS a lot like quake!". it includes how the physics, graphics, and in some cases, even the menu art is handled! look at elite forces for pc, the game basically FEELS like quake 3 (since it was built on that engine hehe) and doesnt make many improvements.

alternately, you can have a company totally improve upon an engine, to give a game a totally new feel. the benefit to the company is that they don't have to start from scratch from the ground up. the best example i can come up with is half-life -- that game was built on the quake 2 engine, but totally improved... for instance i could be wrong, but i cant recall even one use of reflection mapping in quake 2, but it is used sparingly in half life. thats one example of many on how the basic engine was improved. heh hope this helps you avoid having to read a dry paper to get your answer :)

*EDIT* the engine also determines how character models and object data are stored, for example a more advanced engine will allow skeletal animation systems for more fluid motion of objects, versus older methods of using keyframes to store hand-produced animations for specific parts of an objects body. ex. back in the day, the animators had to hand-manipulate the polygons in a wrist to make a hand motion; nowadays they can usually drag and drop points of the hand since its all held together by a "skeleton".
 

Gabbage

Member
Aug 7, 2001
124
0
0
An engine is basically a set of code that governs the behaviors of a game. It takes input and outputs a certain response based on a set of principles. A decent metaphor for an engine is the legal system; you commit a certain action and an expected response is carried out according to predetermined rules. Thus, in the instance of Quake, the graphics engine includes the code that draws the geometry of the maps, instructions on how to create the special effects, and determines how textures are displayed in the playing window. But an engine does not have to be limited to video functions; there can be engines for audio, as well as virtually any subfuction of the game (physics, for example). In general, though, what you read about are "3D engines" like Quake that are primarily visual because that seems to be the toughest technology to develop properly, which is why many developers opt to license existing engines. But in short, you can think of an engine as the code base that is at the center of a game, so when Raven licenses "the Quake engine," it is basically borrowing Quake technology, or programmed code.

EDIT: You may also want to know that an engine is simply programming code and separate from raw data, where raw data includes graphics files (i.e. textures), music, and maps. The engine essentially takes this raw data and applies it to the game; it knows what to do with the textures. A better analogy than what I have given you previously may involve Microsoft (sorry). Think of the Microsoft Word program as the engine. Then take a .doc file and label that raw data (it is). The program knows how to open this file (Paintbrush won't) and also carries the code that allows manipulation of the document. In the case of Starcraft, the "doc" equivalent may be the "map" file and in the case of Paint itself, the raw data includes the bmp (though many programs other than Paint has the "engine" that allows the same file to be opened and manipulated). Calling a program like Paint an "engine" may really be simplifying things, but much larger programs like Quake work in pretty much the same way. The Quake engine is essentially a much, much more complicated version of the same thing.