I've read Sam's Teach Yourself Java in 21 Days, and have a pretty good grasp and a tiny bit of experience with the basics of Java and swing, but now I'm at a loss as to what I should learn next, and how would I go about doing that? My ultimate goal is to be able to make a 3D game, so I would need to learn how to program graphics, audio, AI, etc., but where would I go to learn this?
What do I learn after the basics?
Members - Reputation: 271
Posted 30 August 2013 - 06:42 PM
Hello! Congrats on finishing the book and the basics :]
At this point, without fully understanding what your "basics" encompass, I would suggest tackling small projects and going from there. You'll be learning how to use things as they come up. When I finished my basics I went on to try and make my version of Pong. This is great because it gets you familiar right away with using Swing. Before you jump into the coding though I would highly suggest you get pen and paper and write down what you think you are going to need.
Collision detection between paddle and ball
Collision detection between paddle and goals
From there on you can decide how you want to structure your classes, and once you have those written down, decide what methods each class should have and which classes should be responsible for which interactions. From then on, get to your favorite IDE/text editor and start coding away. Whenever you run into trouble, hit up the debugger, set up some breakpoints, use System.out.println(), and try to figure out what's wrong, If you can't figure it out, break out the Google-Fu, and if that doesn't work, then post over here and people will help you as best they can :]
So just pick a game that you would like to make and go from there. Add your own modifications too! My Pong had a "boost" bar that charged up every time you successfully deflected the ball, once it was full you could press spacebar and the ball's velocity would quadruple for a fraction of a second(in whichever direction it was already heading, so yes you could kill yourself haha).
Once you have a couple of games under your belt and you feel more solid in your Java, it's time to start looking at libraries. I don't know too much about Java libraries but if you're going to eventually go into 3D, take a look at JOGL, LWJGL, and others that are currently slipping my mind...but yeah just look around/ask around and you shall find them :]
Oh and also you should pick up a nice reference book to keep on your desk. I have the Java documentation bookmarked sure, but I always keep my Java for Dummies All in One desk reference. The book has served me wonders for a long time.
Anyway, sorry for the long post. I hope some of what I said has been of use to you, and if not, I'm sure many other people will post useful information. Congratulations again and I wish you the best of luck and most of fun in your gamedev endeavors!