Ok, Here is a subject that go on forever! Game engines make creating games so much easier. In general anyway. They remove much of the tedious Low level code that drive people to madness. So What makes a good game engine?
For me there are a number of things. First it must be diverse. There are engines like source that are mostly geared toward FPS games. I much prefer engines for general game design. Though if you want to make a FPS go right ahead and hay, it's open source so why not.
Another thing is obviously the rendering pipeline. Games have to look good now a day to attract the largest market. Sadly I find this rules out more outdated engines like OGRE (actually it's only a graphics engine but easy enough to build upon)
And finally the last thing that is crucial in my opinion is ease of use. One thing that I do in my code is create functions that are easy to use and handle a lot of things. That way you only have to call createsound("filename"); and it creates the channel, loads the data, stores it in the list blah blah blah. This is something that makes programming very clean and easy to understand. Ad as long as you can access the elements directly after you still have full control. Also Documentation and learning curve fall under this as well. If it has these functions I find that it helps ease the learning curve a lot.
So I know there will be a lot of Source and Ogre fans saying yes you can use them for other game types or you can modify the pipeline for better graphics. I agree you can, It's just more work then I care to do
So what do people think are good engines. Open source, free ware or pay? What makes them good and what do you think makes a good engine.