Let me clarify: You are still quite young. 12-13 by my reckoning. At this stage in your life, you’re still at a point where the entirety of your school learning is done within the confines of your classroom. Within the next few years, school will become a lot harder, and you will learn the skills needed to learn by yourself, especially as you start to go to university. Right now, reading a book probably won’t help you whatsoever, not because you aren’t clever enough to understand or because you don’t have a set of underlying talents, but simply experience.
What you can do at the moment, is start on simpler things. Once you get the hang of 2D, which should intertwine with the content you learn in your math class (such as trigonometry, Pythagoras theorem, enhanced algebra skills) you will have gotten the ball rolling as far as the skill of learning, and eventually that should give you an edge over your classmates, and a greater ability to program.
I know you may think you are at a point where learning about things is easy, but it is very typical of someone your inexperience/maturity/age to often seek guidance from others (I know, I was there a few years ago :P), instead of doing your own thorough (and often extremely painful) research, sorting through page after page after page of Google, stackoverflow, lwjgl.org, java-gaming, tutorials, wikis… If you really don’t think you seek guidance from others that often, you have been on this forums for 2-3 months, and in that time you have made 208 posts, averaging at 5 posts a day, starting 27 topics with over half of them being in the “Newbie and Debugging” board alone.
Also keep in mind: I’m sure a lot of people will affirm in this thread and you cannot learn LWJGL right now (me included), but that does not mean you are stupid by any sense of the word.
As BurntPizza said in another thread, your best bet right now is learning about LibGDX. It will teach you several foundation skills, which once learnt will help you greater understand the general flow of how a computer game works. Try go for a small game, thinking big (making your own game engine kinda big) tends to lead in severe disappointment when you become aware how slow long-term development tends to go, and has borne many great ideas to be thrown aside as you decide you’ve become a better coder and need to start again or that you can better use your skills on another project, discarding your original one forever (we’ve all been there). That said, don’t just make a endless stream of minigames, as all you will effectively learn is how to set up projects.
Come up with an idea, get a word document, define a scope and set goals/deadlines for your projects. Don’t try to learn a hundred new libraries or skills with your first project, for example trying to learn modern LWJGL with kyronet with controller support with complex lighting shaders with etc… If you want, you can upload your design document to JGO and I will have a brief look over it and give you my opinion of how you could improve, and hopefully some others will also look over it too.
If your struggling with ideas, don’t spend half an hour with a pen and pad drawing random shit, just sit down and make a pong clone. Give yourself a few days for that, then if you still have no ideas, make a BrickBreaker clone. Then if you’re still without ideas, make a mario clone. Even if you’re not using your time making something that you would write home about, make sure you’re using it to continually develop your skills.
I hope this post was more insightful than my previous ^.^