Hola:
Imagino que depende mucho de lo que quieras hacer y que conste que hablo desde el desconocimiento porque nunca he tenido que usar ninguno.
Si quieres un shooter seguramente lo mejor es usar el engine del quake o del enemy territory, que graficamente estan bien, estan muy probados y son completos aunque ya tienen una edad. Aun asi se pueden hacer cosas impresionantes, por ejemplo el
true combat (basado en el enemy territory que esta basado en el quake 3) o el
warsow (basado en el quake 2).
Fuera de los que eran comerciales (aunque los que he dicho los puedes usar de manera gratuita) tienes cube (aunque es ya muy antiguo),
sauerbraten (que viene a ser un cube2), que aunque yo no pude ver los efectos de agua los mapas me gustaron mucho. Cube 2 tiene un par de mapas pensados para rpg aunque empezo siendo un engine para shooters.
O tambien puedes hacertelo completamente con un engine de proposito general, como por ejemplo
ogre. Seguramente es la mejor opcion de las tres.
Si le hechas un ojo a las paginas de la wikipedia (mejor en ingles que en castellano) hay enlaces a mas engines, como minimo el del ogre es necesario ya que cita a crystalspace y a irrlitch que solo me suenan de nombre.
Y si te referias a 2d a mi me suenan pygame, fenix (pretende ser una continuacion/mejora del div game studio) y el adventure game studio (en principio es solo para aventuras graficas pero yo jugue a uno de plataformas muy guapo).
Quiza me he pasado un poco con el toston.
saludos