Jump to content
  • Advertisement
Sign in to follow this  
biggjoee5790

game engines

This topic is 3558 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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 ;)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!