Star Trek Starship Tactical Combat Simulator
Development Plan
Features
Client configuration with cookies. Client code (intelligence) can be stored locally to minimize traffic. Auto-detect new client versions. Maybe keep graphics locally as well. Not only would this speed things up, but it there is a lesser load on the server.
Because client code can be altered, data verification must take place on the server side as well. What's the penalty for cheating? Lose turn? Truncate values?
Set time limits for each phase (agreed upon by players). X min for Power Allocation Phase, X min for each Movement Phase, X min for each Firing Phase. End turn buttons to speed turns. Be able to see who you're waiting on.
First scenario: Kobayashi Maru. Second scenario: The Big Bad Wolf.
Keep stats on registered players. Keep stats on scenarios. Important to thoroughly develop this in the beginning.
Record games for playback. Provide a player in the client for playback mode.
Technologies
Presently MS IE seems to be the best platform to program for. Mozilla may be better when it is more complete. Although client code could probably be written for any number of platforms.
Use Push technology? Store IP addresses. Or frequent polling of server.
Data transfer with XML (define an XML protocol)
VERY IMPORTANT: Create a way to programmatically define scenario objectives. This will make expansion SO much easier.
Interclient communications (chat / instant messaging) for team work and to hurl insults. Or frequent polling of server.
Implement as much of client as possible with HTML and ECMA (Java [NS]/ J [MS]) Script. Some Java programming may be necessary.
Down the Road
Allow creation of new starships.
AI players (on server and/or clients)
Accept new scenarios.
Automatic e-mail processing for e-mail play.
Tournaments.
Other Comments
If this is all implemented properly, game play should be rather fast, even across slow links (modems). I would suspect 14.4 kbps and even 9600 bps would work acceptably.
It might be good to make this a bit generic for copyright reasons (and the potential to make money from this).
http://www.stcsonline.com/
Can all the displays be combined into one without sacrificing too much screen real estate?
Have at least two display modes, brief (abbreviations) and verbose (words).
Seperate windows or just layers?
Two more modes: everything (race, captain, etc.), and only combat relavent information.
Drag/move windows/layers
Radar overview of map area