DragonGoApp
Android app to play the game of go on the DGS server. Download the APK from the button above.
DragonGoApp in a nutshell
There are two ways to play the game of Go (aka Baduk) online: either live (a game lasts about half an hour) or by correspondence (a game may last several weeks). DragonGoApp is a mobile Android application for playing correspondent games with the Dragon Go ServerPlaying by correspondence is very nice for busy people, because you can play just one move whenever you have 5 minutes free time, anytime. Also, in most cases you play several games simultaneously (up to a dozen for me), which always let you with some goban to handle whenever you wish to. If you like go, I strongly encourage you to try correspondence games on the server above !
Because you typically play correspondence games on the go (at lunch time, in the bus...), mobile applications are ideal tools to get you entertained all day long. DragonGoApp is one such application for your android smartphone. It is also the only android app I know of that supports DGS and is free and opensource (which means that there is absolutely no annoying ad, tracking, limited features, paying premium... and it does not rely on the Google Service Framework). Furtermore, it is completely safe (the source code is public and the apk used to be certified by F-Droid) and it minimizes bandwidth usage, hence saving your mobile data plan.
Important limitation
As explained before, DragonGoApp is designed to continue playing the same games everyday during several weeks, because it is the most important feature for playing correspondence games on the go. But it does not (or badly) support neither initializing a new game, nor terminating a game, because both these operations occur only very rarely in correspondence games, and may involve complex server-dependent interactions with the server.
So, before using DragonGoApp to play, first start/initialize one or a few games on a real computer that is connected to DGS. You can of course also play moves on your computer or anywhere, and the next time you run DragonGoApp, it will automatically update the games on your mobile.
Similarly, when you reach the end of a game and want to pass, quit the app and pass and finalize your game on a real computer as well.
Overview of how to play with DragonGoApp
- Once the apk is installed, setup your DGS login and password in DragonGoApp
- Whenever you have some time to play a move, just launch DragonGoApp and press "Games"
- Your games are then downloaded from DGS and shown on the goban one after the other
- You can then explore variations on the goban, and when you're decided, place your stone and send your move to the server. Alternatively, you can skip the current game and show the next one.
Quick-start DGS
Before playing, you must enter your DGS login and password via the "menu/settings" dialog. The app supports two user logins for DGS, and when you use the "menu/settings" to enter credentials, these credentials are stored for the currently selected user. By default, it's the first user. Changing to the second user can be done by selecting the "devLogin" in the list of commands trigerred by the fifth rightmost button. You can also select here the "devDGS" (development DGS) server, but you probably shouldn't care about it.
- Press Games to download the games where it's your turn to play
- Click on the board where you wanna play
- Press Sent . the next game to move will be shown automatically.
Main user guide
This is an android app originally developed for DGS, with the following features:
- Open-source: everyone can know exactly what it's doing and all of the app's internals.
- Ad-free
- Small bandwidth usage: this is especially useful when you have a limited data plan; The app shows you in real time your data usage (globally at the mobile level, not only for the app itself);
- Full-featured SGF editor/player based on the open-source eidogo code. Also shows game information and game comments.
- Support dual servers/credentials (DGS and develDGS)
- Playing moves (obviously !), pass, resign, send/receive messages, attach a comment to a move
- Follow reviews of professional games from gobase, which are included in the app
You can install the latest release from the button at the top of this page. There is also an old version in the F-droid repository, but you then have to activate the "archive" repository to see it. But I do not recommend using the F-droid version, because it's quite old. Prefer the version proposed here if you trust me. I would like to make it again available in F-droid, but this registration process may take quite some time and I still have lots of improvements to do to the source code before. The last option is to download the source code from github, and adapt the "build.sh" script to your environment (this script is really minimal, and the app compilation is extremely simple so you should be able to compile it in no time).
Description
When run for the first time, a "loading" window appears for a few seconds: it's actually not downloading anything at this stage, but it's just uncompressing the eidogo javascript library onto the SD-card. This is only done once.
GUI overview
The 5 top-left buttons always present the most useful function at any time:
- Games : download status games from DGS server
- Zm+ : Zoom-in the goban
- Zm- : Zoom-out the goban
- Msg : download status messages from DGS server
- Fwd / Bck : navigate in the game; these buttons are redundant with the arrows on the goban.
- Reset : comes back to the original position (as in the server): very useful when exploring lines of play, just before sending the actual next move you wanna play.
- Send : send your last move to DGS. A confirmation dialog is shown.
There is a top-right button ... that shows a list of additional functionalities:
- Skip this game : when you don't want to answer right now
- Resign game : pretty clear.
- Add a game message : press this before sending a move, and a comment will be attached to this move in the SGF. Two standard comments are proposed (to welcome and thank you opponent), but you can write your own. You can also edit or remove your comment as many times as you wish as long as you have not sent the move.
- Forums : open the forums webpage in a simplified form to make it more easily readable on a small screen.
- List saved games : every game is saved locally, so you can view it, and even play a move from this list. You can also remove all or a single game from your sd card.
- DGS/login : these 4 buttons allow to select another user or another server
- reset GUI : press it when you want the "Games" button on the top-left, but you see another button instead
- Open game reviews : continues the reading of Pro games reviews
- recopy Eidogo : for debugging only
- redraw last goban : shortcut to quickly view the last goban
Note that although the "look and feel" of DragonGoApp is not very appealing, this app actually has all the required functionalities to really do its job, i.e., playing correspondence Go with DGS. I'm just bad at designing fancy GUIs...
The current version of this app has been tested on Android 2.3.3, Android 4.1 and Android 5.
Bandwidth efficiency
Very few buttons actually connects to the Internet: Games, Send, View forums and the first time you press one of the View ladders button, or when you later on press Reload when viewing a ladder.
In fact, the app is designed to only access the Internet when it's really useful, hence minimizing bandwidth and consumption of your data plan. This has always been a major design guideline when writing this app, and you can actually always check in real time, on the top-right of the status bar, the total amount of internet connection that has been consumed by the app since it's been launched. Typically, you can play one move in 6 or 7 games with less than a few dozens of kbits of bandwidth.
Starting from version 1.8, the app caches locally the game SGF and the ladders (not the forums). But by default, it'll reload the SGF at every move. You can switch to a more bandwidth-saving mode via the menu: "Bandwidth config, prefer local SGF". Then, when downloading the status list of games, it also gets the last move of your opponent, which is simply added to the local SGF. The SGF will not be downloaded any more. This greatly reduces bandwidth consumption and improves playing speed, BUT this approach has one drawback: you don't see the comments sent by your opponent and attached to each move, because the "get status" connection does not return these comments ! If you want to see them, then you should switch back via the bandwidth menu to the "always download SGF" option. Then, you will also always get all comments attached to every move.