porque não usam directx de raiz? quem diz directx diz opengl por exemplo. A verdade é que o tempo que vão estar a perder a aprender um motor novo mais valia aprenderem as bibliotecas de raiz mesmo.
Para quem nunca mexeu ou já não mexe em directx, a biblioteca evolui imenso, é basicamente um motor 3D ela propria. direct3d neste momento encontra-se numa tal facilidade de utilização que até mete dó comparado com o que era ha anos atrás..
para gráficos só tinham basicamente de fazer isto (vou supor que sabem tudo o que estou a falar, se estão no final do curso pelo menos uma cadeira de CG já tiveram):
- guardar a vossa geometria em ficheiros ha vossa escolha (mapas, armas, modelos, etc).
- abrir esses ficheiros
- mete-los em vertex buffers e criando respectivos index buffers
- criar device (para acesso ao hardware)
- criar swap-chain
- criar render target (textura final)
- chamar shaders para fazer as transformações e efeitos
basicamente faziam setup do D3D10 e depois é só usarem shaders, porque agora é tudo programavel de qualquer maneira.
directx agora até inclui uma biblioteca extra criada pela MS chamada DXUT que até faz tudo aquilo que eu disse antes por voçes. fica tão facil de usar como se fosse XNA ou algo do genero, em que o setup habitual de uma aplicação é só preencher uns callbacks (criar device, update, render, input, etc) e pronto em graficos so tem depois de escrever shaders (seja pra transformações, seja para texturas, efeitos, etc).
nada que 2-3 dias a estudar o SDK não resolvesse, e ao menos era vosso, não havia preocupaçoes com licenças, limitações de resoluções ou tamanho de texturas ou whatever, fora que aprender uma biblioteca grafica tem muito mais utilização futura que aprender um motor qq.
sem ser gráficos:
- input:
SMFL SDL, directinput (um pouco mais dificil que as outras, não evolui tanto como a parte gráfica de directx) ou até mesmo a win32 API (tb dá).
- som:
SMFL SDL, directsound (um pouco mais dificil que as outras, não evolui tanto como a parte gráfica de directx).
- fisica:
ODE (como já foi sugerido),
PhysX
para o jogo final, um singleton com acesso a todas as componentes e pronto.
basicamente só usariam bibliotecas facilimas de usar, em que QUALQUER uma delas serve para o futuro visto que são TODAS extremamente usadas em projectos comerciais (e irão continuar a ser durante anos).
outra hipotese.. é XNA. têm tudo o que precisam mesmo, e é facilimo de usar lol.
boa sorte.