What library should I work with?(if any at all?)

Hi. My name is Garuten, nice to meet you :).

I’ve been learning java for a while now. Just the basics really. So one day I decided I wanted to start learning game programming and I made myself a list of games to program just to start learning the very basics.

Last thing I made was a pac-man game in swing and awt and it turned out pretty well. I can see, however, that there must be libraries that make doing some of the stuff easier. For example, I wanted pac-man to start doing epilepsy-inducing flashing whenever he got one of those power balls, but I couldn’t figure out with my current tools how to do it without having to repaint every single sprite of a different colour.

Anyway, next in the list is The Legend of Zelda. I’m really getting into this thing, and I’d really like for my next game to have some awesome stuff, but I’m not sure whether I should use a library or stick with swing and awt.

I know of Slick2d, LibGDX and LWJGL. I researched, and found out that Slick2d is pretty outdated and not updated very often, so I scratched it off my list.

Next up was LibGDX that seems to be pretty popular, but as soon as I decided to set it up I saw that you had to set things up for android and iOS and other things and I was like WHOA CALM DOWN, I just want to make a simple 2d game…

Then I tried to start learning LWJGL, and I kind of got the setting up… but then the whole business of VAO VBO (I don’t understand what a Buffer even is…), shaders, quads etc… all seemed a bit overwhelming. Most tutorials are pretty bad too, and to make things worse, they added the implementation of this thing called GWFL recently and with that many things changed in LWJGL, so most tutorials are outdated and that makes me even more confused…

So in the end TL,DR: I want to make a Legend Of Zelda-like game mostly to continue my learning of game programming. Should I make the effort of learning a library? Or should I just stick with swing until I start to aim higher?