Bueno, si no le importa alejarse de C # a C ++, puede consultar HGE . Es un poco viejo pero es muy fácil de usar y extender. Si está dispuesto a buscar un poco en los foros, encontrará puertos para DirectX 9 y quizás OpenGL (ha pasado un tiempo). Por defecto, no admite cosas como sombreadores. Incluye sonido y entrada, pero no física ni detección de colisión. Para eso siempre hay Bullet o Box2D. Para un juego por turnos o un juego simple en tiempo real que puede que ni siquiera sea necesario.
En lo que respecta a la GUI, su GUI incorporada es basura, pero puede integrar CEGUI en ella. CEGUI es en realidad bastante fácil de extender a diferentes sistemas de renderizado, incluso si el pelado puede ser engorroso. La implementación de HGE es de dos archivos y son bastante cortos.
Clanlib también puede ser algo que desee analizar. No lo he usado personalmente, pero parece ser bastante poderoso e incluye un componente GUI bastante sencillo. También se desarrolla activamente, mientras que HGE no se ha actualizado durante un par de años.