webgo/documentation/development/ROADMAP

55 lines
2.3 KiB
Plaintext

M0: debug messages as html
Create a script that prints the python stderr of thea main script as html,
so debugging the cgi becomes more easy.
M1: user interaction thorugh images
Completed, when a user can click on an image, and the image gets replaced
as a result.
m2: autogenerate images
There are partly transparent images of black and white stones, center,
border and hoshi squares, all available in png format. The Milestone is
considered complete when the program can automatically generate combined
images of all squares with all stones. The stones have to be on top ;>
m3: display working 9x9 goban
Completed, when the cgi script has an internal representation of a goban
that can handle stones, and this goban is displayed on a html page.
m4: handle player turns
The program knows wether it is the turn of black or white, and prints the
current turn color on the html page displaying the goban. If player white
clicks on an empty square, a white stone will be layed onto that square.
Same for Player black.
m5: goban inside database
Manage the goban inside a postgresql database, so all user input changes a
table in the database. Includes a 'size' item that contains the length of
on side of the board, so that gobans of size 9x9, 13x13 and 19x19 can be
displayed.
m6: manage users and game sessions inside database
manage user accounts and the game(s) they currently play inside the data-
base. each game has its own table, which contains players, current turn,
size, the goban inside the database. users are managed in a different
table. For each user the following data is stored: password, current games
(up to 8 or so). So if the user calls the cgi script, she has to send
username and password and is then given the choice of game to play. If
there is only one active game, directly present the goban.
m7: implement Go rules
Do not accept player moves which violate go rules. Remove beaten stones.
Count and display the score for each player.
. <--- YOU ARE HERE.
m8: make it pretty, make it fast.
Create nicer images replacing the old ones which were just for testing
Find bottlenecks and optimize them for speed.
-- python profiler
-- http://peter.mapledesign.co.uk/weblog/archives/python_is_slow.html
create a set of images smaller than 50 pixels (for the 19x19 goban)
m9: make it standards compliant
w3c validation