Fico muito feliz por você ter feito esse artigo Thiago Negri. Parabéns.
Eu acho que eu posso responder algumas perguntas.
O SDL é uma biblioteca que ajuda o desenvolvedor a mexer com recursos multimídias (imagens, sons), trabalhar com os dispositivos de E/S (joystick, teclado, mouse),manipular erros e eventos, criar janelas etc.
Por isso tudo o SDL é muito bom para jogos. E uma coisa muito interessante é que ele é multiplataforma. Você pode programar e compilar seus programas tanto no Windows quanto no Linux. Então você não é dependente de DirectX no Windows.
O OpenGL pode/deve ser usado junto com o SDL por uma questão de facilidade (o SDL cria a janela, te ajuda com o teclado, joystick). Então para simplificar: jogos 2D = SDL. jogos 3D = SDL+OpenGL.
Eu estou fazendo um joguinho 2D em C usando SDL e GTK. Vocês podem dar uma conferida no beta em
http://batalhao.codigolivre.org.br .
Para quem quer aprender SDL tem dois bons caminhos:
1) O livro "Programing Linux Games" do San Lantiga que você pode baixar em
http://www.overcode.net/~overcode/writing/plg/
2) Estudar o código fonte aberto e livre de outros jogos.
Excelente artigo. Acho que o SDL está para o Linux assim como o directX está para o Windows. É uma pena que não exista uma biblioteca compatível com o directX, isso facilitaria muito a portabilidade de aplicativos.
Não sei se você sabe me responder, mas é possível trabalhar com diversas "surfaces" com SDL, ou seja, utilizar o processo de blit em surfaces diferentes, para ganhar velocidade da mesma forma que se faz com o directX?
[]'s
Celso Goya
PS: Se aceita a sugestão, um tutorial sobre sprites e sdl cairía como uma luva. :-)