What I don’t think a lot of people understand is that the ability to program different types of software is completely unrelated to how well you know a programming language and programming logic. If you want to make a game, you need understand the mechanics of a game. You can’t program what you don’t understand. At the end of the day, a game is just another program.
As far as graphics programming goes (LWJGL), I think most people here don’t quite understand it. They follow tutorials that show you how to use an API like LWJGL, but not why you are doing what you are doing to get your end result. Once you understand the premise of programming graphics, you could just right into the LWJGL API and have at it.
So, in conclusion:
Learn how a game is structured (ie: Learn about game loops)
Learn how graphics are programmed
Things like level design, making sprites, gameplay, etc. just comes with imagination.