Eu fiz um engine tempos atrás para VB com multiplas funções que facilitavam a vida do programador para programação de Jogos com DirectX. Foquei o desenvolvimento nos obejtos para jogos em 2D, mas tinha Som, entrada de dados (Joystick, mouse, teclado) e estava iniciando a parte de rede. O projeto não ganhou muita atenção do pessoal do VBMANIA onde postei e nem no PDJ , então desisti do mesmo.

Até porque veio a MS e lançou a versão 8 do DirectX e juntou a parte de 2D e 3D numa coisa só, então até para colocar um bimap na tela precisava montar duas faces a aplicar a textura...

O objeto SPRITE tinha duas funções que achei muito interessantes : AdicionarAção e ExecutarAção. Na primeira você informava o nome da ação e inÃcio e fim dos sprites dentro do arquivo de imagem (JPG, GIF, BMP podiam ser utilizados).
Ex.: supondo o sprite HERO.
HERO.AdicionarAção ("Correr", 1,5)
HERO.AdicionarAção ("Andar", 6,10)
Então para executar a ação de correr :
HERO.ExecutarAção ("Correr") e o objeto tratava a animação de correr ou outra previamente configurada.