DGS Wishlist

    Keywords: Online Go

This page is not to report bugs or discuss features, please use DGS's forum [ext] Dragon feature discussions for this.

The following are features and requests DGS users dream of and/or hope might be implemented one day on DragonGoServer. As DGS is Open Source, this page is an excellent ground for present as well as future developers seeking some new challenges.

Some wishes have been implemented on the [ext] development server.

Implemented feature inputs are moved to and can be found under /implemented; see also [ext] news.
Features that will not be implemented with reasons why that is, can be found under /NotImplemented.

Before adding a new feature-request:

  • Make sure you read DGS' [ext] news first to see, if your item is not mentioned there already.
  • Please also check /NotImplemented and /implemented, if item already rejected for some reason or already implemented.
  • Please provide a link to a thread in a DGS-forum if possible.
  • Please enter your comments at the bottom of the appropriate section or at the end of the page in the last section.
    Don't worry too much about if it's in the right place - if it isn't, someone will move it there. If possible, provide a link to the associated thread in a DGS forum.

Table of contents Index of sub-pages

Game Handling

General Game Stuff

  • axd: [ext] ko indication
    • uxs: Solution: game notes to remind yourself that you're fighting a ko.
      • Rodival(developer)[1] Game notes are implemented.
      • axd: I'd rather call this a workaround...
        A nice little square or something (like on KGS) would be nice... and useful if DGS eventually introduces superko.
        • OneWeirdDude: A "ko marker" might be nice, yes, but it's almost redundant: you get an error message for trying to play there, anyway. I also like the idea of the superko rule, but mightn't it strain the server's resources?
        • ErikE?: It's not redundant if your opponent just threw in (without capturing). The lack of a square helps avoid the mistake of assuming you can't take the ko when it's not a ko (until you capture the first time).
  • Downgrade game from rated to unrated (agreement of both players); chrisg: [ext] Change Settings+
  • mass download of one's finished games, as on KGS (for user)
  • dmwit?: search game comments

Ratings

  • Add admin code to change a players rating (from DGS todo-list)
  • Implement Glicko (?) (from DGS todo-list)

Game Start, [ext] Invitations

General

  • Liso: default preferences for inviting I like to have... (e.g. Fisher time 36h, 90 day, rated, not weekend clock, etc...) But I am not sure if it has to be opponent or user oriented :) (I prefer user who invite..., but probably opponent could have denied option - I mean automatically refuse invitation with main time less than 10 days, strength diff bigger than 1000 rating points, etc... )
  • see what changed when receiving (and maybe also when sending) an invitation Dispute.
  • possibility to specify number of games in invitations, default=1
  • OneWeirdDude: For even games, the option to use one of the Fair Komi described herein. For, as it stands, a Komi that's too far off a legitimate value will not be appealing to anyone, because if, say, the komi's 100, then the nigiri itself will usually determine the winner.

Waiting room, Invitations

  • Ability to load a game from SGF. This would be useful for shape games and teaching from Go problems. See [ext] DGS discussion
    • Game from a setup position
    • chrisg: [ext] Resume won game (as unrated). Sometimes a game times out, and it would be interesting to see what would have happened.
      • JUG(developer) that could be done using 'load a game from SGF'-feature above (if implemented)
    • axd: during a game, a link/button [ext] generates a variation submitted to the opponent as a new game invitation. to avoid misuse, possibly restrict to rated games so the new game counts as a separate result and people do not generate scores of useless games. this feature is not meant to be used to study variations (although it could be used for that).
      • JUG(developer) could also be done using 'load a game from SGF'-feature above (if implemented)

Game End

  • axd: possibility to [ext] reject wins, [ext] reject a win+: what's the point of winning games due to opponent time outs if it is obvious the opponent is not accessing the server any more?
  • Liso: (probably also during game) "button/link" to rematch. (I mean automatically generated invitation with same settings after click on "button/link")
  • be able to add game comments after game end message (typically some post-mortem comments, thank-you, ...); include invitation messages (greetings, dispute messages) in game comments

Game Variants

  • Rengo functionality - [ext] Pair Go
    • BenAxelrod: Be able to play on a Rengo team from your own account. (you would only get move notifications if it is your turn)
    • BenAxelrod: Your name will automatically be added to the SGF on every move you make. The personal game comments should not allow talk between the team members. The game message system should either be locked, or each message should persist for 4 moves so that everyone can see them.
    • timan72: I don't think it is important to restrict the communiction between the players of a team, because if they choose to communicate, they will always find a way to do so. OK, communication between the team's players is not the original idea of Pair Go, but it is great for spiking up interesting discussions with your team mate, producing great fun. I play Pair Go on DGS, but right now it is very inconvenient because I have to change to the extra Pair-Go-DGS-account which my friend and me set up for team play. We have to keep track of whose move it is by hand, using the private notes. This way I really miss an email notifaction when it is really my time to make a move.
  • Liso: option to [ext] switch colours with your opponent (useful in teaching games) to show how they might come from behind rather than resign :)
  • hammarbach: How about different rules in addition to Japanese & Chinese? Like AGA Rules and Ing SST Rules of Go?
    • Please give us a choice of rulesets. In particular please let us choose a ruleset with area counting (AGA or Chinese or New Zealand or even something more esoteric like Tromp-Taylor would be nice). Thanks.
    • Better yet, give us, not a choice of rulesets (like AGA, Japanese, ING, etc..), but a choice of the individual rules, and let us cherry pick the precise combination that we like. For example - Scoring Method: {Area Counting, Territory Counting}; Ko Rule: {Simple Ko, Positional Super Ko, Situational Super Ko, Natural Super Ko, ING Ko Rule (if you can)}; Suicide: {Legal, Illegal}; Handicap Stone Placement: {Free, Fixed}; Count Points in Seki: {Yes, No}; Bend Four in the Corner: {Dead, Alive, Play out}; Pass Counts as a Move for Ko: {Yes, No}; Komi: {..., Auction Komi}; etc... full flexibility!

New fields/columns/links/buttons

Current game

  • Liso: Game notes for observers only (hidden for players) useful for comments during game, applaus, question to community, etc...
  • button to turn coordinates on/off while viewing a game
  • axd: played stones on the goban hyperlink to the corresponding game position (similar as in the move list). this would allow another feature to work: when using custom stylesheets, custom 'visited link' colors allow to [ext] highlight points on the goban (URL history stored in the browser) when clicked but not submitted
  • [ext] optional/conditional moves
    • possibility to propose a sequence,
    • possibility to propose variations in a sequence
    • server takes over playing until sequence ends or opponent opts for an alternative move
    • opponent can/cannot (to be discussed) see the entire sequence (i.e. must submit his move before seeing the programmed answer)
      • He should not be able to see it, or he might deviate just to annoy his opponent. Or for that matter, the sequence may give extra hints on where to move, or, in some cases, where not to move. OneWeirdDude
    • past sequences stored in SGF as variations
    • jonathan Multiple Moves: Allow users to enter sequences of moves. Similar to eBay's automatic bidding, your sequence of moves is revealed to your opponent only if they play a response included in your sequence. Being able to specify variations would be nice but not required -- even the ability to enter single threaded sequences would be useful.
    • The [ext] wyvern program fulfills all of these requests client-side: save your sequence of moves as an SGF, and wyvern will connect to DGS and play them for you. It even handles branching, so if you see that your opponent has several sane responses, you can give continuations for each of them.
  • option to show the current game board without player info section; option to show just the board (add links to show user info/move list)
  • private game notes should be saved automatically when a move is submitted.

Status page

([ext] http://www.dragongoserver.net/status.php)

Sort games to move in

Possibility to order games by (Status page at the present, sorted on "first moved first" basis):

  • JUG(developer) General NOTE:
    • A sort on the games on the status page must also be bound to "showing next game" on the game page. So ordering needs special handling and is constrained to very few criteria. It's also NOT using the standard ordering used for tables.
    • An additional restriction is that it must be efficient (keep low server-load: some "sorts" are far from being efficient)
  • sorting status-games by other criteria:
    • opponent's last access (to play more often with opponents that currently are on line)

User info, profile, bio

([ext] http://www.dragongoserver.net/userinfo.php)

  • Some sort of "leave Dragon" button. See [ext] http://www.dragongoserver.net/forum/read.php?forum=4&thread=6342#6354 and [ext] http://www.dragongoserver.net/forum/read.php?forum=4&thread=6308#6311. This button would either resign all the user's current games, or place the fate of each game in the opponent's hands.
    • This button would eliminate some of the games that people start, and then let time out. It would not delete the person's dragon account.
    • Perhaps the server could send a message to all the opponents giving them the option to count the current game as a win, loss, or negate it entirely.
    • Allow the user to provide a message like: "I have to go on vacation for a year, but plan to be back." (see also higher:"small field to communicate own player information")

Dragon's users

([ext] http://www.dragongoserver.net/users.php)

  • Frs: additional and searchable "language" field (e.g. to find opponents who know the French language but live in Italy)
    • JUG(developer) the country and the possibility to use the forums should be enough to find such players. There already is a "language" field, but it is the language of the GUI. Also a user may speak more than one language.
      Impl-Note: In order not to increase the GUI-complexity this could be done on a voluntary basis by each user entering a "language"-field in their user-bio and making it possible to search the user-bio-entries, e.g. on the users-page.

Forum pages

([ext] http://www.dragongoserver.net/forum/index.php)

Thread-View:

  • some kind of notification when a reply is posted in a forum; observe messages. people do reply old messages.
  • dmwit: replying in an old thread should mark it as read

RSS Feed of the Forums.

Running games

([ext] http://www.dragongoserver.net/show_games.php?uid=1)

Finished games

([ext] http://www.dragongoserver.net/show_games.php?uid=1&finished=1)

  • axd: time information: use designated SGF properties to store time allotted (TM), time used by players (W/BL) (or time left at end of game) - if possible, show how much time the players consumed.
    • Rodival(developer) Two problems:
      1) All SGF timings are in seconds with no specification about the upper limit. Few months expressed in second give a big number that could disturb some SGF viewers. Do you have any info about that?
      2) How do you compute the time left with each byo-yomi type?

Opponents

([ext] http://www.dragongoserver.net/opponents.php)


Tournaments


General UI and Design Issues

  • kiwipete: [1] for each page type, set focus to some appropriate text entry box (login, reply fields, waiting room, invite page...)
    • JUG(developer) only possible with JavaScript
  • Redirection from index.php to status.php if you are already logged in
    • Rodival(developer) Call directly the status.php page! We must let the users with more than one ID the ability to switch between them.
      • Status could still be the main page, with a link to the login page. This would be better for the majority of users.
  • Option of disabling button graphics, using pure text instead.

Other Interfaces

  • PStr: Standalone client - connect with server only for load/upload moves like email clients.
    • adammarquis: I wouldn't want the Dragon crew using up their time on this, but it sounds like a fun project for a programmer with some free time.
  • Make separate GUI for WAP devices
  • An interface that would easily allow GTP supporting programs to play.
    • Rodival(developer)[1] We have already one set of quick_???.php features on the devel server. See the FAQ.
  • Use AJAX to improve the speed of the game, reduce webserver usage and the enjoyment of users (because it doesn't need to reload all the game pages as an ajax script could load all the pending game, let the user play his move and confirm that, and then send all the data to the server).
    • JUG(developer, 21-Feb-2009) This has been moved back from the /NotImplemented sub page (old notes included):
      • JUG(developer, 07-Oct-2007) DGS' base policy is not to use JavaScript for main-functionality (if possible), because many mobile devices have a poor JavaScript-support. AJAX (Asynchronous JavaScript and XML) would need to add JavaScript everywhere.
      • JUG(developer, 04-Jan-2009) However, if the DGS-code is more separated in presentation and database-layers in a distant future, there might be a way to provide "other presentation-layers". In its current state it's not possible to use AJAX without breaking DGS' basic Non-JavaScript design-policy. It would need to implement a 2nd DGS.
      • JUG(developer, 21-Feb-2009) A clarifying discussion with Erik about feature requests:
        An AJAX-like interface is not against DGS policy if the non-JavaScript-users don't become 2nd-class users. As long as all main-functionality is provided to non-JavaScript users, there's no objection for other interfaces (like AJAX). However, it has low priority.
  • SMTP Move Transaction Please!

Formatting, Layout

Markup

  • <goban> tag in forums (and messages) to include game-boards

Hyperlinking

  • <,move> links to the move in the current game and expand to a simple form e.g. *#3*. It is tedious to refer to moves in the current game ("this" game) by having to type <game xxxxxx, move> after having to look up what the current game is (which is also error-prone).
    • JUG this proposal makes a strange syntax, possible alternatives: <move num> or a special arg for current game like <game C,move>

Statistics

Not always useful, but fun for those who can't stop hyperjumping around (see also [ext] http://www.dragongoserver.net/forum/read.php?forum=4&thread=5764)

(See also the unofficial stats page at [ext] http://www.dragongoserver.net/statistics.php)

Server stats

  • present, active, total number of users/games
  • number of running games per day for all players together
  • physical data (eg MySql disc space consumption)

User stats

  • user's opponent relative (+1, +2, etc.) rating distributions (a "good" player should (equally?) play with players above and below his rank)
  • To refine: stats about time-outs, resign
  • Notes on user stats: When querying for stats, the user should be able to limit the data to a period
  • Mr Cat: [ext] running average in rating graph

Public Team Accounts

  • Frs: use a user's current rating as the login password to switch to a DGS public team account
    • axd: Note: public team accounts died on DGS, and although asked to do so, nobody found it necessary to record what had happened with the idea, why it was useful (or not).

Yet to classify

(topics that do not fit under any of the previous headings)

  • Your Name: ... Link to DGS-forum with discussion? ...

This is a copy of the living page "DGS Wishlist" at Sensei's Library.
(OC) 2011 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About