O Android roda sobre a VM. Claro que isso é bem relativo hoje, pois temos compilação Just-in-time.
Mas é importante não confundir. Embora o Android use como linguagem o Java, ele é uma plataforma a parte, sem as limitações da plataforma Java.
O .net usa uma estratégia similar, mas também foi descontinuado pela MS. A alternativa agora é usar o Direct X, em C#, que aí é compilado e roda sobre a API do Windows 8.
Ou o DirectX com C++. Para jogos 2D, desenvolveram uma biblioteca para torna-lo similar ao XNA.
Estou considerando 3 plataformas: Android, Java e .NET.
Então o resumo da ópera é que se quiser rodar 3D sob a VM, somente o Android na Dalvik ou usando JavaFX no Java. E o .NET hoje usa uma forma nativa, como as outras bibliotecas Java que voce citou. Certo?
Slick2D ainda esta sofrendo alteração pelos que estavam com o criador do mesmo, mas independente de qualquer coisa para jogos 2D Slick continua sendo muito bom.
Mas a alternativa mais atual e na minha opinião melhor, seria a LibGDX, para jogos em Java (Suportando inclusive a criação do mesmo em Android e Desktop, não testei para html5, mas pareceu uma alternativa interessante).
[quote=Michel.Montenegro]Slick2D ainda esta sofrendo alteração pelos que estavam com o criador do mesmo, mas independente de qualquer coisa para jogos 2D Slick continua sendo muito bom.
Mas a alternativa mais atual e na minha opinião melhor, seria a LibGDX, para jogos em Java (Suportando inclusive a criação do mesmo em Android e Desktop, não testei para html5, mas pareceu uma alternativa interessante). ;)[/quote]
Com certeza.
Mas novamente: usa apenas a linguagem Java, mas não a plataforma. Essa inclusive tem “Performance critical parts written in C/C++”.
Como sempre, meu argumento não é sobre a linguagem e sim sobre o J2SE ou Android como plataforma para games.
Para 2D a tendência para ser mesmo usar APIs extremamente portáveis (e não multiplataforma), como é o caso da LibGDX, Haxen, etc.