game engines

Started by
13 comments, last by biggjoee5790 15 years, 3 months ago
Hey guys, Sorry for the very beginner-ish question.. but can someone explain to me exactly what a game engine is? I know of various engines such as Torque, Source, etc. Do you need one to make a game? Does it just make it easier? if so, how? Im just basically confused about them and what they do
Advertisement
Yes, they make it easier and quicker. Game engine's are basically a graphics library, math library, physics library, sound library, input library (keyboard/mouse), scripting library, networking library, database library, game data, etc. all-in-one, synchronized, and ready to go (often including an editor). That would make them good for beginners, designers, prototypes, demos, etc.

Many of them are proprietary, licensed, etc.
010001000110000101100101
Oh ok so do most experienced programmers and big teams create their own engines or reuse an old one? Is it looked down upon to build a game using an existing engine? Do you need an engine to create a game or can you do it without one?
Moving you to For Beginners.

Quote:Oh ok so do most experienced programmers and big teams create their own engines or reuse an old one?
It depends. I assume you're asking about professional developers here, and there are plenty doing both. As an example, Doom 3 was written using an original purpose-built engine, whilst Quake IV was then created by another team using the same engine licenced from the original developer.

Quote:Is it looked down upon to build a game using an existing engine?
It certainly isn't, many of the most popular and best selling games out there were created using licenced engines.

Quote:Do you need an engine to create a game or can you do it without one?
An engine is really just code to perform tasks common to most or all games (usually of a certain type - an engine might be specialised for first-person games for example) abstracted out so that you can add in your own game-specific logic and functionality without having to re-do all the code for things such as collision-detection, displaying levels, loading assets from disk, etc. Therefore, you don't neccesarily need an 'engine' as such, and in fact for simple or small games can sometimes be better off without one. If you're doing a larger more complex project you can save a lot of unneccesary time and effort by reusing existing code and building off an engine though.

Hope that helps. [smile]

- Jason Astle-Adams

Quote:Original post by jbadams
Moving you to For Beginners.

Quote:Oh ok so do most experienced programmers and big teams create their own engines or reuse an old one?
It depends. I assume you're asking about professional developers here, and there are plenty doing both. As an example, Doom 3 was written using an original purpose-built engine, whilst Quake IV was then created by another team using the same engine licenced from the original developer.

Quote:Is it looked down upon to build a game using an existing engine?
It certainly isn't, many of the most popular and best selling games out there were created using licenced engines.

Quote:Do you need an engine to create a game or can you do it without one?
An engine is really just code to perform tasks common to most or all games (usually of a certain type - an engine might be specialised for first-person games for example) abstracted out so that you can add in your own game-specific logic and functionality without having to re-do all the code for things such as collision-detection, displaying levels, loading assets from disk, etc. Therefore, you don't neccesarily need an 'engine' as such, and in fact for simple or small games can sometimes be better off without one. If you're doing a larger more complex project you can save a lot of unneccesary time and effort by reusing existing code and building off an engine though.

Hope that helps. [smile]


thanks for moving it.. and yes that helped a ton. I understand what your saying perfectly
I used to be pretty unclear on the term "engine" until I started realizing that while making a game I was making an "engine" to make things easier. I had one for text handling, graphics, input, etc. I think thats why you see so many people on this forum tell you to "make games not engines" because the engine seems to build itsself while you are making the game. At least in my limited experience.
Quote:Original post by Chrono1081
I think thats why you see so many people on this forum tell you to "make games not engines" because the engine seems to build itsself while you are making the game. At least in my limited experience.
Correct. Write Games, Not Engines.

Unless you're very experienced you probably won't get anything useful out of trying to just create an engine, but if you set about making actual games you can then clean up the reusable bits of code, and maybe abstract them a bit and voila, you'll have a working engine that meets the needs of actual projects. [smile]

- Jason Astle-Adams

If you're like me, I'd say: Write engines, not games. That's because most games consist mostly of gameplay code that's boring to write and doesn't teach me anything really interesting. I think working on a new shader technique, special feature or something like that is far more interesting than programming just another 3D tetris clone or whatever.

Anyway, I just want to say that creating an engine is something completely different from creating a game. I suppose I ought to write an article about that, so that it could be citated in every thread like this, but I'm too lazy ;)
Quote:Original post by godmodder
If you're like me, I'd say: Write engines, not games. That's because most games consist mostly of gameplay code that's boring to write and doesn't teach me anything really interesting. I think working on a new shader technique, special feature or something like that is far more interesting than programming just another 3D tetris clone or whatever.


Then I'd say to you "write demos, not engines". It's perfectly OK to not be interested in programming games. But by using a goal-oriented approach you can achieve concrete results that you can show to people rather than tinkering forever with an half done engine.

Now I mean no disrespect, maybe you've no problems staying focused on your goals with your approach but a lot of people (myself included) have found that difficult.

Also if you're writing a "game engine" or even just a "3d engine", those names themselves imply that the ultimate purpose of your work is to help in the creation of a game or some other 3d application. But without experience in creating those, it can be difficult to make the right design choices that will make it easy to use your engine.

But if making an engine is what you like to do, then by all means, you should continue. The most important thing is to do what you have fun doing.
Quote:Original post by jbadams
As an example, Doom 3 was written using an original purpose-built engine,


And even the Doom3 engine is built upon the various engines which came before it, echos of the Quake engines can be seen in the source code. Even the Source SDK has echos of the Quake engine the original Half-Life was built upon.

When thinking about 'engines' this is something alot of people miss; stuff like the Doom, Quake or Unreal Engine started life as a game and the engine got extracted from it at a later date. Epic didn't just go off and write the Unreal Engine, it grew from a game to start with; granted if you have a view to making your 'game' an 'engine' you might want to consider including the ability for people to mod it from the start as this is one step towards making your 'game' an 'engine' as it gives reusability from the same code.

This topic is closed to new replies.

Advertisement