How does an engine work, really???
I''ve been wanting to make a "realtime 3d game engine" since I first started learning this stuff. I''ve read countless articles and tutorials on it on getting started first with 2d.
But now I''ve thought of something: What really is a game''s engine? Seriously? What does it do? How does it work with the client .exe? Sound like stupid questions? Maybe that''s because you see the word "engine" all over the place here but don''t stop to realize that you don''t know what it means.
The Game Dictionary defines a game engine as sort of a module that controls every aspect of the game. A 3d engine does that and makes images look 3d. Sounds simple enough, right? Well maybe I missed something, but nowhere does it say how to put the actual engine together. Nowhere does it say how an engine works with the .exe that the user opens up, and nowhere does it say how the engine really does what it''s supposed to do!
Some help, here? How do you really put a complete engine together, and why aren''t there any or enough articles saying this?
Before I say anything else I''d like to say that I''m definitely far from an expert, I''m okay at programming but haven''t got much experience with games programming. So this is just what I''ve kind of... inferred, I guess, from what I''ve learnt and the contexts ''engine'' is used in.
My impression is that a game''s engine is the game minus its interface, minus scripts, minus audio and video resources. It''s the bit in the middle of the game that deals with all the data provided to it by whoever is deciding what kind of game to make out of it.
I am quite likely to be wrong though.
Harry.
My impression is that a game''s engine is the game minus its interface, minus scripts, minus audio and video resources. It''s the bit in the middle of the game that deals with all the data provided to it by whoever is deciding what kind of game to make out of it.
I am quite likely to be wrong though.
Harry.
Harry.
i sprinkled magic dust on my computer mouse and it began to speak to me, and this is what it said: A game engine is a thing that reads data from files that are made for it to read, and does things based on those files. example, if it is a 3d game engine, and has gravity, it will read a file that tells it the stats for a level, amount of gravity, accual level (3D room structure), and other things like what monsters are there and where are they. The engine runs the level, sort of like a VCR that plays a movie. That is why some engines are used for more than one game, they are really flexible that way. Thanks magic mouse! -Ryan
So are there any places on the Web that talk specifically about engine design? I haven''t found any... Not even on this site.
Don''t get too caught up with the word ''engine''. When someone says ''game engine'' or ''3d game engine'' or ''rendering engine'' or whatever, what they are referring to is a library of functions that work together to perform a task. Usually, I think people ise the word ''engine'' when the library is geared toward a specific task. For example, DirectDraw or D3D are API''s because they provide an interface to handle many general tasks. A library that uses Direct3D to render a first person perspective 3D view would be called an ''engine'' because it is designed for a specific purpose, or game.
If you think in terms of "what do I need for my game" and "how can I divide the game up into small, reusable modules", and forget about "how do I make a game engine", then you''ll find the answer yourself.
GamesToGO: The Console Gamer''s Paradise
If you think in terms of "what do I need for my game" and "how can I divide the game up into small, reusable modules", and forget about "how do I make a game engine", then you''ll find the answer yourself.
GamesToGO: The Console Gamer''s Paradise
--- Official D Blog | Learning D | The One With D | D Bits
Usually a game engine is referred to as all of the components of the game without the game content. Like, networking, graphics, sound, and input. Alice in Wonderland and Heavy Metal FAKK use the Quake III engine, but they are completely diffrent games. When someone uses another engine, they can focus completely (almost) on just making the game''s content (story, textures, sounds... etc.) The engine just tells how things should work. At least, this is how I always thought of it.
THANK YOU!!! Thank you kind sir. Got that clear. Here''s my take (I learn fast):
We put the engine (library) in a DLL. When the .exe is opened up, this library is included and memory is allocated. A short animation starts but when the user presses any key, the cutscene immediately ends and skips to the title screen. This is the start of the GUI. If I think about it, maybe I can take it from there... someday. I like those odds.
We put the engine (library) in a DLL. When the .exe is opened up, this library is included and memory is allocated. A short animation starts but when the user presses any key, the cutscene immediately ends and skips to the title screen. This is the start of the GUI. If I think about it, maybe I can take it from there... someday. I like those odds.
![](sad.gif)
March 04, 2001 01:55 AM
Sounds like you are looking for program architecture and design topics related to graphics rendering???
The so called engine is just a program component with a well defined function (such as graphics).
So, the engine is devoted to processing specific information in different ways.
Creating an engine is just making code that does the tasks you need done the way(s) you desire.
Engines are well defined interfaces(functions,objects,code,or whatever) designed for a specific application. However, an enigne is not a complete program. It adds to a program''s capablities.
Building an engine is just creating the code to perform the desired tasks.
So, an engine is just a generic term.
Designing is the first and most important step.
So, be prepared to do a lot of research on how to perform the engine''s tasks.
Generic Realtime 3d game engine goals:
1. Basic Graphis Initialization
2. 3d Model Creation and Manipulation
(scaling,translation,rotation)
3. Model Physics (ex. Collision Detection, Gravity, Velocity)
4. Model Rendering (ex. texturing,lighting,z buffer)
5. Realtime Animation (cycle rate control in a multitasking
environment)
I recommend looking for 3d programming books that address the above five issues. Goodluck!!
The so called engine is just a program component with a well defined function (such as graphics).
So, the engine is devoted to processing specific information in different ways.
Creating an engine is just making code that does the tasks you need done the way(s) you desire.
Engines are well defined interfaces(functions,objects,code,or whatever) designed for a specific application. However, an enigne is not a complete program. It adds to a program''s capablities.
Building an engine is just creating the code to perform the desired tasks.
So, an engine is just a generic term.
Designing is the first and most important step.
So, be prepared to do a lot of research on how to perform the engine''s tasks.
Generic Realtime 3d game engine goals:
1. Basic Graphis Initialization
2. 3d Model Creation and Manipulation
(scaling,translation,rotation)
3. Model Physics (ex. Collision Detection, Gravity, Velocity)
4. Model Rendering (ex. texturing,lighting,z buffer)
5. Realtime Animation (cycle rate control in a multitasking
environment)
I recommend looking for 3d programming books that address the above five issues. Goodluck!!
6. Sound???
--------------------------Programmers don't byte, they nibble a bit. Unknown Person-------------------------
Are there certain functions that you can create for ease (like showing a full GUI screen) that would run slower than if you just wrote them all time after time again? Win32, for instance, has functions for creating many different types of windows with a single keyword.
I want to be able to make it much easier to create the .exe, and that means conventions. So stuff like this comes into play.
If I put stuff like that in my engine, should it slow it down?
I want to be able to make it much easier to create the .exe, and that means conventions. So stuff like this comes into play.
If I put stuff like that in my engine, should it slow it down?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement