Would like to learn more about game programming - Book suggestions?

I've been programming for about 2 years, I know VB, C++, and Java, and I would really like to get into game programming. I don't even know enough to know which part of the programming I want to do, does anyone have a book suggestion for me? I'm especially interested in java based games and mobile games.

-Thanks, Licentia
Licentia729Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

bcladdCommented:
One of the best learning tools for Java based games in my life was the Robocode project from IBM's alphaWorks (http://robocode.alphaworks.ibm.com/home/home.html). I haven't looked recently , whether or not they provide source code now, but trying to write a clone of their code and using an appropriate disassembler/decompiler (http://jode.sourceforge.net/ was my favorite) to look at the design of the program and how they precached their animations was very, very informative. Note: I had a lot of Java experience before I started so I don't know if this is where you should start.

Brackeen _Developing Games in Java_ has been recommended to me (and ranks highly on Amazon) as covinging much of the basics. I have only glanced at it so I cannot comment on its quality or ability to teach from the ground up. Read the reviews and see what you think.

Knudsen _Java 2D Graphics_ is a great reference for the 2D API. Not an animation-centric book but very good

While surfing over at Amazon to find the author of Java 2D I just saw this. I know NOTHING about it: Fox _Micro Java(tm) Game Development_. Claims it is focused on PDA/Cellphone development in Java. Might be interesting (put it on the wishlist).

In case you can't tell, I am pushing you toward 2D games FIRST. There are enough hard parts of writing a game so you should get comfortable with using threads for animation and simple 2D physics of some sort.

You could do worse than to read the _Game Gems_ series (book 1 is great, book 3 is good, book 2 exists). These are a collection of articles from Game Developer magazine. They are short and varied in both substance and quality. Some focus on beginners (a few) and many span the spectrum from journeyman to master programmer level.

Finally, my standard admonition #347: Rember that a good game programmer is a GOOD PROGRAMMER. Learn everything you can about writing good, solid code, how to review and improve it, how to test it in unit, integration and stress tests, learn how to use source control, debuggers, and all the software tools you can.

Good luck,
-bcl
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
tomasusCommented:
Hi,
as mentioned above, starting with java is a good point. In contrast to powerfull /nearly allmighty/ C++, java applet based games are simple to create, you only need the idea what it will be about. Experimenting with 2d is another commonly known advice. So try this site http://www.javacooperation.gmxhome.de/ there is a tutorial where you are led step by step to get into things like "double buffering", which is important for smooth "animation" and so on. You know the best where did you get with mentioned 2 years programming experience, so if you still feel like newbie don't think about creating stunning applet based RTS for more than 64 players and so on:))).
Or visit www.javaboutique.com and there under applet downloads you can sometimes games that come with sourcecode. It is a good way to see how thing work, you may experiment with modified source etc. The only disadvantage is that the original author may use another programming conventions than you are used to .
0
bcladdCommented:
Biased but I think mine was the best (and first) answer.
-bcl
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Game Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.