Question: I've been a web programmer for a while and I can also program in Java. I have an idea for a small, multiplayer RPG game that I want to work on. It will be played through a java applet in the user's web browser.

I have written the design document and specifications of the gameplay. What I'd like to know now is how I can develop the game? I've worked only with windows-like business apps in the past, with built-in widgets for textboxes, dropdowns, etc. With game programming it seems that I would have to build my own widget/controls for the UI of the game.

These are the specific questions I have in mind:

1) How to display a 'loading...' message with a progress bar while the game's images, sound, etc are being downloaded. (Using the java applet)

2) How to create the UI of the game with its own menu, controls, etc. Such as by clicking the map icon it would show up a map to them. Clicking the friends icon would let them chat to their friends, etc.

3) And other, general game development issues that i should know about, like whether I should use 2D or 3D graphics, physics in games, etc.

If there's a good recommendation for a book that will help me, do share.

Answer: 
I would look at O'Reilly Books

[Killer Game Programming in Java](http://oreilly.com/catalog/9780596007300/)

[Coding For Fun](http://oreilly.com/catalog/9780596520748/)
opencourseware class on [game theory and design](http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-972Spring-2005/CourseHome/index.htm). It also comes with a [reading list](http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-972Spring-2005/Readings/index.htm).