• Advertisement
Sign in to follow this  

game engines

This topic is 3310 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
Its all getting clearer for me now. So If I make an rpg and there is some good reusable code in there such as a function that creates a monster class, or a weapon, etc... that function can be used in many other rpgs, so I could implement that into an "engine" of my own and use it in future rpg's?

Share this post


Link to post
Share on other sites
That's one way of thinking about it, but engines usually deal with lower level things, leaving the actual game logic (monsters, players) up to the person using it. For example, a 2D game engine could have functions for loading images and creating tiles, or a map editor. An engine is basically a large collection of utility functions that work together. The thing that separates an engine and a toolkit is that an engine will often manage things for you as well (by handling collision detection, for instance).

Share this post


Link to post
Share on other sites
ok so Im not sure what your familiar with but is Valves Source SDK considered an engine or is just Source itself the engine? The SDK comes with a level editor (Hammer), A face poser to manage facial expressions on characters, and the actual source code. So Its a bunch of tools put together.. is that the engine?

Share this post


Link to post
Share on other sites
Quote:
Original post by biggjoee5790
ok so Im not sure what your familiar with but is Valves Source SDK considered an engine or is just Source itself the engine? The SDK comes with a level editor (Hammer), A face poser to manage facial expressions on characters, and the actual source code. So Its a bunch of tools put together.. is that the engine?

The Source engine is the engine. The Source SDK is Valve's development kit. It does not contain the engines source-code, only HL2's gamecode. The tools that come with it are not really part of the engine, as in, the game will run without those tools just fine, but they are an important aspect of the development process. How useful is a game engine if you can't create content for it? :)

As for your RPG functionality, personally I wouldn't call it part of an engine, but if you want, you can call it a RPG engine. Whatever you name it however, if you can reuse it for other games, then that's good: it saves you time, time that you can spend on improving the next games. :)

Share this post


Link to post
Share on other sites
Quote:
Original post by Captain P
Quote:
Original post by biggjoee5790
ok so Im not sure what your familiar with but is Valves Source SDK considered an engine or is just Source itself the engine? The SDK comes with a level editor (Hammer), A face poser to manage facial expressions on characters, and the actual source code. So Its a bunch of tools put together.. is that the engine?

The Source engine is the engine. The Source SDK is Valve's development kit. It does not contain the engines source-code, only HL2's gamecode. The tools that come with it are not really part of the engine, as in, the game will run without those tools just fine, but they are an important aspect of the development process. How useful is a game engine if you can't create content for it? :)

As for your RPG functionality, personally I wouldn't call it part of an engine, but if you want, you can call it a RPG engine. Whatever you name it however, if you can reuse it for other games, then that's good: it saves you time, time that you can spend on improving the next games. :)


Ahh ok I understand.. Thanks for clearing it up.

Share this post


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

  • Advertisement