So, what kind of game are you talking about (j2se game or j2me game) ?
What kind of game are you interested in making ?
Joined: Jan 11, 2006
I want to develop an online version of a board game called "Omnigon", which is like chess, except the rules are simplistic. I don't know about programming AI (which I know nothing about), but I know the game requires 2 players and they'll be able to challenge each other online. So right now, I know I'm going to have to build a server and a game client (which is an applet).
The game client is responsible for: - Connecting to the server, - Handling and Displaying server information (i.e. open games), - Rendering the game board, - Sending players actions to the server, - Display chat messages sent from other people viewing the game, - (Still developing further requirements)
The server is responsible for: - Handling client connections, - Creating new games, - Tracking on going games (making sure the players are still active), - Generating and sending server information, - Validating player actions, - Sending board data to clients, - Destorying old games, - Sending messages between clients, - (Still developing further requirements)
At this point, I don't think the players will have to have a user name or password to connect to a Omnigon server. They'll just connect and be presented with a list of open games, but in the future it might be a good idea for people to have to register or something before they can play on a server. In which, database stuff would have to be added to the list as well.
Get at least a good, solid text about game development. It'll save you a lot of headaches and time, waiting for someone online to answer a question found in numerous books. For the game you're looking to do, you won't need a hot, flasy 3D game development book, but stay away from the Java Game books that start off teaching you Java; Java 2 Game Programming by Thomas Petchel, for instance. It's not a bad book, but it covers very little on intermediate/advanced topics like AI, persistance, even networking.
A book I will always recommend to people is David Brackeen's Developing Games in Java. It's not made for nonprogrammers, but in six chapters you have the tools to develop almost all of your game (no joke). Three chapters in the book are devoted to creating a software 3D renderer (which would be of little use to you right now), but the last few chapters are on AI, persistance, collision detection, and some other interesting topics related to game development.
But any book on game development will be of use to you, if you know little about it.
i've created a player vs. computer battleship - style game and I'm working on an animated, two-player space ship combat game. The two books I've used mostly were Head Start Java (Kathy sierra and Bert Bates), and Killer Game Programming (Andrew Davison).
The Head Start Java book gave me a great foundation - it started me off on the battleship tangent (with a dot com version, very funny), and the O'Reilly book, KGP, was awesome for how to load an animate images and network stuff, etc. Oh, the Head Start book gives you a taste of everything you could need for a game, from server client chat stuff to how to save games, etc.
I can't wait for their design book i ordered.... It will certainly lead me to darker java paths.
Joined: Jan 11, 2006
I've read "Head First Java" and it was great foundation to build upon. I also picked up "Developing Games In Java" and ran into a major problem pretty early regarding loading images. I've sent an e-mail off to the author to see what he has to say, but I've downloaded his source code from his web site and had the exact same problems, so I have no idea.
I do have "Killer Game Programming" (but haven't started it yet) and might end up looking at that while waiting for an answer.
Joined: Mar 11, 2004
I'll save you a little hassle with that book. I can't help with the image loading problem, but when switching to full screen mode, to avoid a deadlock in Java 1.4, you'll need to use EventQueue.invokeAndWait when you create a buffer strategy. You may have already known that, but I didn't. Took me a week to track down the problem.
But if you want to post the problem you're having here, I might have found a solution when I worked through the book.