BPK's todo: let enter hit the active window boxes fix that stupid chat scroll problem make some of that French English argon's todo: Fix truecolor color editing. Should be possible to click on a country to find its name somehow. Short Term Goals (v1.0) (in implementation order) ================================================= X1. Fix all reported bugs 2. New dialogs/views XXo Statistics view o New card view XXXo New registration dialog (for computer players) o Logging view o Feedback view XX3. Computer players. Simple player. 4. Voting (for restarting game and the like) 5. Graphical toolbar similar to Microsoft apps. Tooltips. o Add Save/Load (to architecture independant file format). o Change "Repeat Attack" to "Repeat Action" o Connect/disconnect to server o New Game o Send Message XXX6. Dynamic and optionally persistant color editing 7. Most popular changes on TODO list XXXo Add the SO_NODELAY option o Game options (through server) o Better font handling (75 DPI/100 DPI) o Bitmaps for cards. o Mouse movement over a country displays name and continent. o Add assertions for RISK_Get*Of[Country|Player]!! o Man page! o Have a larger version (not 800x600) o Missions. Abstract concept of "Game Over" so this is easy. o Make font handling nice if it can't find first choice. Long Term Goals (v2.0) ====================== o Rewrite in C++ o Aesthetic value (write my own widgets, sort of NeXTish, using primitives that can be mapped to Win32/X). o GA or GP computer player o Drag'n Drop for armies like MAC Risk (from dice window) o Maintain bug level to near zero. o Port to Windows95 o Menu bar o Undo (Infinite, of course) o GUI for server o Make the game part more separate from GUI/Network, then implement a few other games over this: Scrabble (Rabble) and Monopoly. Try not to get sued. SERVER (for future): ==================== o Meta-server (which lets people download newest version automatically). o In case a player doesn't reconnect after disappearing, assign a computer player to continue the game. o Make it so that client allocation is handled the same way as player allocation. o Let newly joined clients take over for dead players, or perhaps also let already existing players take over (In general, this is allowing Player Migration). CLIENT (in future): =================== o Have better support for atomic message passing (transactions). For example, ATOMIC stream of messages, or just define some atomic operations that correspond to one or more primitives (i.e. ALLOC_PLAYER, PLACE_ARMIES, etc...) o Incorporate message ID into message itself. o Make some network operations more like transactions, for example MSG_MOVE, MSG_ATTACK, etc. -- perhaps composed of multiple dist. obj. primitive messages. o Have _NET_* return Frisk error codes (instead of "... failed"). o Have non-debugging malloc check for NULL pointers. o Add srandom() calls. o Improve message set to reduce bandwidth (a PlaceArmy action takes 4 messages currently, and there is overlap). o Icon for the game (tiny world map?) o Acknowlege the world gif?? o Clean code up and add function explanations!!! o Limit size of buttons in Popup dialog, center them. o Fix so that 1 bit X servers work. o NET_GetStatistics for stats on bytes tx/rx. o Use intro fonts for end of game message. o Update the MSG_TURNNOTIFY message to just take the player. o Choosing defense die? o Display values of the continents.