It should be free and have a liberal license. I would prefer that the engine be not specific to any one language, especially C++. I would prefer that it be available on the .NET platform. And it would be nice if it also worked on Mono. The more graphics, sound, physics or networking related things it takes out of my hand the better.
There does not seem to be any game engine which fits my needs but I think that tying a bunch of engines and libraries together may actually be the preferable option. I will focus on graphics first. The contending options for me are XNA, Ogre, Irrlicht, Axiom.
I ruled out XNA because I do not like its current direction. The first, to use it as a game engine seems like it would require a fair bit of work. It is one thing to tie a bunch of large APIs together and another to tie a bunch of components related to some subset of graphics, each following its own paradigm together. It requires you to know more about what is going on and what you are doing. Something I do not wish to spend time on. The decision to focus their game studio only on C# is another point against for me. It is also not available on Mono. There is a Mono.Xna project going but it looks like a spare time project so will likely reach a stable and featured phase when its ready. Hope it goes well.
Ogre is quite technically capable but it is also quite technical. I ruled out Ogre because it is only for C++ and has too harsh of a learning curve for my liking. I also dont much like the idea of converting everything to .mesh.
I am currently focused on Irrlicht, which has a managed wrapper that works both on .NET and Mono. It is quite easy to use and has a gentle and easily scalable learning curve. The engine is featured enough for my needs. I do not require current generation features since I expect the game to run on machines with non powerful graphics cards - including mine. I will be doing most of my coding on a laptop/tablet pc hybrid with shared video memory. Its animation system is poorly designed but will be fixed I hear, in an upcoming version. There are few types of built in effects - meaning i will have to do that myself, which is fair enuff - and the camera system is weak, otherwise its Good.
Axiom is written in C# and based on Ogre so suffers from the same low levelness in terms of graphics engine. Not insurmountable but something I would rather not surmount. It runs on .NET or Mono and has similar technical capability to Ogre with lots of built in modern effects (super shiny plastic shaders for one) ,this and that mapping, fluffy shadows and what not. But. Most importantly is that Axiom has very little documentation. If you are making a library the most important thing to do, more important than the library itself if you want others to use it is to have good, comprehensive documentation and examples.
So at the moment I have settled on Irrlicht. If you have suggestions or corrections please tell them as I do not pretend to know what I am talking about. All this is based on only preliminary scrying.
Id like to get started on shaders, does anyone know some good tutorials which introduce the topic well enough?