Tra i tre framework che indichi libgdx è forse il piú game-oriented, sfml e sdl sono appena un passo indietro nella loro "specificità".
Le
SDL sono un pò vecchiotte, da programmare in C/C++, diversi i bindings ma non per Java mi pare.
Molte le
componenti ma mi pare di notare, rispetto alle altre librerie, che manchi di alcune cose, ci sono l'audio, l'input, i thread, i timer ma manca (potrei sbagliarmi però) qualcosa per gestire facilmente oggetti come sprite e spritesheet, le collisioni, la fisica, una UI anche generica (finestre, bottoni, ecc..), gli shaders, i font, il network. Se è tuo interesse dovresti codartele da te.
Le
SFML sono adatte tanto col C/C++ che con altri linguaggi compreso il Java (un pò vecchiotta ma c'è la
JFML ). E' molto usata e qui nel forum c'è chi la sta studiando credo. I suoi
moduli sono molto più completi e vicini ad un game engine, ci sono gli shader, la UI, sprite, texture, 2d, 3d, vettori, thread, time, font, audio, network. Mancano forse, le collisioni e la fisica che sarebbero da integrare con librerie esterne come l'onnipresente box2d. Non vedo una gerarchia di entità specifiche per i game.
Le
libgdx sono proprio specifiche per gioghi e hanno una nutrita serie di
moduli la pecca è che sono per java. L'altro difetto è che naturalmente devi accettare il
suo modo di organizzare la programmazione del gioco, ovviamente più ci si avvicina alla specificità in una libreria più si perde la libertà di agire in autonomia.
Per il java non butterei via quello che hai imparato a scuola. Poi bisogna vedere cosa vuoi fare, il target, ecc..
Se ti serve aiuto per java chiedi pure nel forum, lo conosco io lo conoscono altri