Boardlet Go Server RFC
AdamMarquis: A bit of background: I'd been looking for a project to expand my Perl programming skills, and thought to make a turn-based Shogi server. The final goal being to bring the quality of Dragon Go Server to Shogi players. Somewhere along the line I had the thought, "Everything I've done is modular fairly modular, why not implement Go as well?" Fast forward to now, and I'm playing Go and Mini Shogi against myself on my webserver.
It still isn't going to be public playable for a couple of months (my bug tracker, FogBugz?, is currently telling me I'll finish around the end of May), but I'd like to be thinking of features that are down the road as I finish up the basics.
So, here I am at Sensei's, looking for comments.
Currently, the only interesting new feature I've implemented is sending diagrams with messages and game comments. I'd found in the past that I'd be trying to explain some pattern or joseki in a teaching game, and really wanted a Sensei's Library style diagram I could edit and send. So, that was the first thing I coded up after I got the games themselves running reasonably well.
As far as new Go or Go-like games, I'm currently working on my pet favorite, Shogo. In Shogo, you play a game of Shogi and a game of Go concurrently, the winner of the Shogi game gets a fixed point bonus in the Go game, and then the winner of the Go game (counting the bonus) wins the match.
Super sexy features? Not really, but I like 'em, and I'm looking for new ideas like them. So, that's my first question to other librarians: are there any quirky features like the above that you'd like in a turn based server? (I've trolled through the Dragon forums as well to get ideas)
And my second question: ladders and tournaments. These are the first things I want to add once things are up and running, but I'm on the fence on a lot of issues. User generated tournaments, or scheduled-start tournaments?
More difficult, in my mind: What kind of ladders? I like the idea of ladders, and I think they are a great mechanism for generating new, competitive games. The Its Your Turn sort of system (everybody has a ladder rank, winning makes you move up) seems like an okay solution, but what about a system where more than one player can be at one rung of the ladder? Games could be started automatically between ladder players in a given rung, with the winningest players sent upwards. It would be like the system in place in Sumo wrestling. How to implement this in a fair way in such an asynchronous environment seems to present many issues. So, I'm totally up for suggestions for good ways to implement ladder-like systems.
And, finally, if there is interest here, I'd like to continue bouncing ideas off of the community so I can build something people will want to play on.
Thanks for reading, double thanks if you've ideas or comments to share.