(Yo, Emacs, be in -*- text -*- mode pleeze.) For a release in the near future: --------------------------------- * put bkgo.jpg back on BoardControls :) * attempt to get application to run in Solaris 2.6 VM (and possibly Netware 5 VM?) * attempt to get applet to run in Internet Explorer 4/5. Don't delay release because of this, however. * attempt to get application to run in kaffe. Don't delay release because of this, however. * trivial change to test commit emails * Auto-placement of handicap stones (as opposed to the handicap points, which are already done, at least for board size == 19). * decide the best way to distribute this program. As a binary distribution? As a source distribution? Or just put them together all the time -- this is Ben's inclination. Make a happy tree like this: bkgo/README /INSTALL /COPYING /BUGS /TODO /PROTOCOL /SGF_SUPPORT /WEB-HOWTO /classes/{*.class, *.jpg} /source/{*.java, Makefile, *.jpg} /scripts/*.pl Then, from this tree, create a tar.gz file and a zip file, for download by either Unix or Windows users. How do "packages" work again? Should our directory structure somehow reflect a package like com/red-bean/bk/bkgo ?? Other items: ------------ * Some kind of progress bar displayed when loading/parsing large SGF stream? * Keyboard shortcuts for menu commands (see java.awt.MenuShortcut) * Add support for more SGF commands. Specifically, ones that allow "setup" of stones, and the ability to read a "compressed list" of points. Until we add these features, BKGo will choke on many SGF files from archives. * Chat window should resize to width of board? * Once SGF is working happily, add a mode to display turn-numbers on top of each stone. * Cleanup stone-image by adding some orange "blur" to the edges of the stone, just before the transparency hits. * Get a PNG library -- we want to stop using GIFs! * One PNG library has vanished, along with the author...? * Another PNG library is supposedly released under the GPL by a big corporation, but they don't supply source code....?!? * after release, ask people to help us * compile in guavac * run in Internet Explorer 4 (if we can't figure it out) * run in Kaffe (if we can't figure it out) * Perhaps the ability to use this program as a front-end to GNU Go? :) * Score the game automagically at end. * User colors in the chat window to distinguish name from text spoken by name (Note from Ben: AWT TextArea is incapable of more than one color or font at a time. (lame!) Until we use Java 2/Swing, the only officially recommended solution is to draw colored text onto a canvas, which then creates a big nightmare in terms of word wrap.) * Accept keyboard input (why must click to type in the chat area, for example?) * Be able to grant kibbitzing privileges to observers, so they can suggest or speculate publicly (on the board) about moves. * Be able to take back a move -- of course, once SGF is working. :) * Online help? README is great, but every self-respecting program has a Help menu these days... * Yes yes yes yes yessssssssss!!!!!! Completed --------- * Karl: rewrite all of GoBoard to use SGF-like format internally. Once this is done, the followup is: * re-write load/save routines to use SGF * use SGF instead of serialization to send GoBoards over the network * change icon to hand when hovering over GoCanvas * redo GUI for ScoreWidget * Indent all the java consistently. Karl to figure this out. * make all maroon color equal to (160, 0, 0), everywhere. Set orange color equal to (255, 207, 0), everywhere. * Hey, it needs a home page! (yah, which links right to the web-version of bkgo!) * Create a web-based version of bkgo: * create CGI script to launch/destroy/connect to standalone server * create CGI script to show list of running servers * ScorePanel widget displays score and turn. * Server preserves board state, allowing game to continue when no clients are connected. * Server caches passwords for black and white player, makes authentication challenges when players connect or try to load a new board. * Can we fix the buglet whereby ``port'' is in label-colored text, instead of black like the rest of its line on the startup panel? I'm not sure how to control this... * Hmmm... when in demo mode, then both the "as black player" and "as white player" buttons should be checked automatically, and not be uncheckable. This would be some serious widget interaction, though. It must be possible, right? * Absolutely need a demo mode where one player can play both black and white on the same board... if only for our own sanity when testing! :-) * Use a nice (#define DEBUG)-like system for turning debugging messages on and off! * Handle the network errors from a vanished client. (Hey, this is mostly done, right?) * Allow server to change size of board before starting game. Clear game, restarts, the works. * Determine players vs observers by means other than the order in which they connected. Server user should be able to designate white and black, everyone else defaults to observer. (Actually, the "bkgo" startup GUI does this even more elegantly -- anybody can start a server or client, and be any color, in any order) * Fix the "pass" bug. * Maybe label numbers/letters up and down board so everyone can use Cartesian system easily. * Use 1-based indexing internally. * Somewhere, should display at all times the name one typed in... * Make sure anon CVS is set up, note it in the README. * Hmm, "Show grid labels" menu item should be "Hide grid lables" when they're on (or something, ... anyway, context-sensitive menus are winning). * Change internal name of the program to bkgo. I.e., user should type "java bkgo" or at least "java BKGo", not the anonymous and boring-sounding "java GoGame". First initials are important, just ask Linus! :-)