Bem, se você não se importa de mudar de C # para C ++, pode conferir o HGE . É um pouco antigo, mas é muito fácil de usar e estender. Se você quiser pesquisar um pouco nos fóruns, encontrará portas para o DirectX 9 e talvez para o OpenGL (já faz um tempo). Por padrão, ele não suporta coisas como shaders. Inclui som e entrada, mas nenhuma detecção física ou de colisão. Para isso, há sempre Bullet ou Box2D. Para um jogo baseado em turnos ou um jogo simples em tempo real que pode nem ser necessário.
No que diz respeito à GUI, a GUI integrada é lixo, mas você pode integrar o CEGUI a ele. A CEGUI é realmente muito fácil de se estender a diferentes sistemas de renderização, mesmo que a aparência possa ser complicada. A implementação do HGE é de dois arquivos e eles são bem curtos.
Clanlib também pode ser algo que você deseja pesquisar. Eu não o usei pessoalmente, mas parece ser bastante poderoso e inclui um componente GUI bastante direto. Também é desenvolvido ativamente enquanto o HGE não é atualizado há alguns anos.