• No results found

Unfortunately the performance dropped a lot. The cause for this is a single commit that introduced an increased usage of riak search again.

Unfortunately there was no time left to get the system back to its previous performance. Still the system performs quite well and 400k model users is most likely more than the global count of diplomacy players.

Chapter 5

Related Work

Diplomacy has been around since the 1950s and has been played by email, snail mail and through web browsers. Obviously, we are not going to compare ourselves to the snail mail solution where a game host receives letters with move orders from the players and the players send each other letters.

Noteworthy browser based solutions are:

page registered users

http://webdiplomacy.net 40613 http://playdiplomacy.com/ 6849

The alternative email solutions seem to have even lower user numbers but precise details are hard to be found. Please note that the numbers in the table are about registered users, while our benchmarks are in terms of active users.

The advantages the existing solutions have, are generally better interfaces:

the existing email systems are a bit easier to use since you reference games by name and not by a number and there is no session ID handling involved.

These issues would be fixable with reasonable resources though.

They also provide several game modes (from minor changes to starting units to playing on a world map). We have the code to handle new maps, but we don’t have the map data. Creating those would be an easy but work-intensive task since you have to specify all provinces, all connections, starting units, and so on.

Our rules are not perfect yet, they are still a bit rough around the edges but in probably one or two person weeks would work satisfyingly well. When it comes to load, we see no problem in handling all web diplomacy players worldwide (email- and browser-based) with one backend-machine and maybe more extra frontend machines.

So, in short: to fully catch up with the alternatives, we would need to invest in bug fixing and user interaction.

Chapter 6

Conclusions and Future Work

We are very happy with the work we have done and that the product is, even though the seemingly endless scope, quite close to being “ready”. We found that Riak’s performance depends heavily on the usage pattern. Particularly, we found that Riak Search is best for storing data that is not written very frequently, as discussed in Sections 2.2.5.3 and 4.3.1.5.

Despite all this, the work left to be done is considerable: An AI was in the original requirements but was not delivered due to time constraints.

Bug fixing in the rule engine is necessary. Scalability could be improved by applying tracing to the cluster which would be lots of interesting work. A more polished interface, that is more appealing to the eye, is something that could be worked on.

In order to make the game playable by the public, a better system to find and join games would probably be necessary in the web frontend — and we would need to do lots of hallway testing and/or maybe publish an alpha version in order to collect feedback.

One more thing would be to think a lot about security — not much thought has been spent on it yet.

The rule engine does not support multi-fleet convoys yet but they are important for the game tactics (the classic Italian opening called “lep-anto opening” [40] uses it, for instance). This could be done quite easily in the rule engine.

Appendix A

Installation Instructions

A.1 Requirements

Treacherous Talks was developed using Erlang/OTP version R14B03 on Ubuntu 11.04 (AMD64). It has not been tested with other versions of Erlang/OTP or other Linux distributions. Since some of our dependencies, notably Riak, currently doesn’t support Erlang/OTP R15, we have not been able to test the system under that version of Erlang/OTP.

Since all Erlang-releated packages in Ubuntu 11.04 are out-of-date, we opted for compiling and installing Erlang/OTP by hand on our development machines. In general, we recommend that users do this as well since it is the easiest way to get all of the required parts of Erlang/OTP installed on your system.

We will not provide you with build instructions for the Erlang/OTP distri-bution, but under Ubuntu 11.04 you will most likely need the make, gcc, perl, m4, ncurses-dev and libssl-dev packages available before attempting to build it.

Before you can build Treacherous Talks itself, a few extra libraries and tools need to be present on your machine:

Name Version Ubuntu package name libexpat > 1.95 libexpat-dev

libxml - libxml2-dev

libpam - libpam0g-dev

git - git

wget - wget

There are two deployment options regarding the database Riak: running a standalone Riak installation or distributing it alongside the Treacherous Talks release package. Here we assume that you want to distribute Riak along with the release package. This involves building Riak as a part of the system build process.

In order to build Riak you will need the GNU C++ compiler (g++) installed and the package libstdc++6-VERSION-dev where VERSION is the current version in the package repository (in Ubuntu 11.04 VERSION is 4.5).

For some reason there are no generic packages any more in Ubuntu, so you need to specify the version.

Related documents