What and how is a game engine made????????
can someone please tell me what an engine is and what the basics are for making one?
thanx
Well, since I think that you''re actually trying to ask an intelligent question, and no one else has given an intelligent response, I''ll give you my own idea of what a game engine should be
.
Think of a game''s engine as you would a car''s engine. Basicly, it is the part that makes it run. This "part" could also (kind of) be used in any other game just like a car''s engine could (kind of) be used in any other car. Make it handle the core components of the game, without having anything specific to that game. Things that are portable, and could be transfered to other games include (but are not limited to): Graphics, Sound, Physics, Networking, and possibly Scripting. Before adding anything to your game''s engine, think if it would apply to other uses of (projects built with) the engine. If it wouldn''t apply, save it until after the engine is done, and add it to that one specific project.
Things I''ve found to help me in writing my engine (I''ve restarted it 3 or 4 times now, and I think I''ve finally got it to where I like it, I assume you''re doing it in C/C++ for the list that follows):
That may not be the most correct description, but it is better than nothing.
"Finger to spiritual emptiness underlying everything." -- How a C manual referred to a "pointer to void." --Things People Said
![Resist Windows XP''s Invasive Production Activation Technology!](http://druidgames.warfactory.com/Out_Source/resist.jpg)
http://druidgames.cjb.net/
![](smile.gif)
Think of a game''s engine as you would a car''s engine. Basicly, it is the part that makes it run. This "part" could also (kind of) be used in any other game just like a car''s engine could (kind of) be used in any other car. Make it handle the core components of the game, without having anything specific to that game. Things that are portable, and could be transfered to other games include (but are not limited to): Graphics, Sound, Physics, Networking, and possibly Scripting. Before adding anything to your game''s engine, think if it would apply to other uses of (projects built with) the engine. If it wouldn''t apply, save it until after the engine is done, and add it to that one specific project.
Things I''ve found to help me in writing my engine (I''ve restarted it 3 or 4 times now, and I think I''ve finally got it to where I like it, I assume you''re doing it in C/C++ for the list that follows):
- Good organization. Split it up into multiple file (.c or .cpp files). Give every C/C++ file its own header.
- Stick a "format" (i.e. OOP, or another such "design format") and stick with it. Also, this would include writing all of your classes/structs/functions/variables in one fashion. Don''t do this: int my_int_var, MyIntVar2, myINTVAR3;
.
- Assume everything you write will be seen by other people, who expect you to be a professional.
That may not be the most correct description, but it is better than nothing.
"Finger to spiritual emptiness underlying everything." -- How a C manual referred to a "pointer to void." --Things People Said
![Resist Windows XP''s Invasive Production Activation Technology!](http://druidgames.warfactory.com/Out_Source/resist.jpg)
http://druidgames.cjb.net/
The problem is that this question has been asked so many times. GameDev needs a Frequently Posted Threads thing where people can look this sorta stuff up without having to post about it every single time.
![](http://www.crosswinds.net/~druidgames/resist.jpg)
Get Banner At: http://www.crosswinds.net/~druidgames/resist.jpg
![](http://www.crosswinds.net/~druidgames/resist.jpg)
Get Banner At: http://www.crosswinds.net/~druidgames/resist.jpg
BetaShare - Run Your Beta Right!
Well, here is my response:
A game has to have certain things implemented to run. For example: You won''t be able to see anything on the screen unless you have some way of drawing it. A graphics engine, usually refers to exclusively display related things. For example, OpenPTC, (which gives a display buffer to the screen for you to modify) is a graphics engine, facilitating only graphics display.
A game engine is somewhat more complex, in that you need to implement more things. ie. If you are writing a top down RPG, you will need to implement a way of drawing items on the map, sprites, etc.
It''s difficult for beginners to write game engines, because often they have limited knowledge of what is actually required to create a game. I would recommend trying CDX to start with, or, there is a hosted site with a very simple (but easy to use) game engine, called JGDL.... I''m sure someone here knows the hosted site....
Anyway, you will definately need to learn DirectX if you are writing for windows, at least if you are writing a 2D engine. If you are writing some sort of 3D engine....then it''s time to schlep around the math books a bit, and learn the basics of rasterization, and then maybe move on to some sort of API, like OpenGL...
There are some good books too, like Tips of the Game Programming Gurus, I haven''t read this one, but it sounds really good for beginners, and LaMothe is excellent....
Hope this helps....
A game has to have certain things implemented to run. For example: You won''t be able to see anything on the screen unless you have some way of drawing it. A graphics engine, usually refers to exclusively display related things. For example, OpenPTC, (which gives a display buffer to the screen for you to modify) is a graphics engine, facilitating only graphics display.
A game engine is somewhat more complex, in that you need to implement more things. ie. If you are writing a top down RPG, you will need to implement a way of drawing items on the map, sprites, etc.
It''s difficult for beginners to write game engines, because often they have limited knowledge of what is actually required to create a game. I would recommend trying CDX to start with, or, there is a hosted site with a very simple (but easy to use) game engine, called JGDL.... I''m sure someone here knows the hosted site....
Anyway, you will definately need to learn DirectX if you are writing for windows, at least if you are writing a 2D engine. If you are writing some sort of 3D engine....then it''s time to schlep around the math books a bit, and learn the basics of rasterization, and then maybe move on to some sort of API, like OpenGL...
There are some good books too, like Tips of the Game Programming Gurus, I haven''t read this one, but it sounds really good for beginners, and LaMothe is excellent....
Hope this helps....
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement