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.