Excalibur: single-game-round tournament software

Latest version is here. Original first post is below.

It seems like often when discussions about tournament structure come up, someone suggests that single-game rounds might fix a number of problems. Lately, when I have things to procrastinate, I’ve been working on software for running such tournaments experimentally. It is not ready for actual use yet, but it is in a state where I thought other people might like to play around with it.

You can get it here. Download, run, then go to http://localhost:8080/ in your browser.

The pairings engine is strongly influenced by this page about chess tournament pairings.

For reference, I think some of the possible benefits of single-game rounds are:

  • Make tournaments a bit less exhausting (by having less actual Netrunner in them)
  • Make tiebreakers less important by eliminating splits and by making time for more rounds
  • Make IDs a bit less attractive, with the current scoring system. They’d be scored as ties, so they’d only be worth one-third as much as a win, while currently they are worth one-half as much as a sweep.
  • Handle slow decks better by not letting games with them eat into the time for other games.

Of course, there would be downsides, the most obvious of which is the reduced amount of actual Netrunner in tournaments. I’m not suggesting that Netrunner tournaments should definitely use single-game rounds, only that I think it would be an interesting thing to experiment with.


The pairing rules must be such transparent that the person who is in charge for the pairing can explain them

I like this rule a lot :slight_smile:

Happily for me, there’s no requirement that the explanation be short.


I like the idea very much and will look into this. Can you say some words about how the software is run? It seems like you are running a local webserver, is there anything I need to install upfront like an apache? Is there something special about linux? Is the data saved? And if yes where?

The local webserver is part of the program, you don’t need to install anything else. The “linux” downloads are for people using the Linux operating system. You can ignore them if you’re using Windows or OS X.

Currently, no, which is the biggest reason why I don’t recommend anyone actually run a tournament with this yet. I have plans to change this.

Thanks, I’m asking because I’m running Linux :wink:

In that case, the Linux downloads are what you want!

It’s written in Go, which is a compiled language, so you need the version that’s been compiled for your OS. That’s why there are different downloads for different OSes. That’s also why you don’t need to install anything else; all the supporting stuff is helpfully stuffed into the binary by the compiler.

Update: there is a shiny new release that fixes the remaining pairings bugs and also the web server thing.

Plus, I wrote a hopefully-coherent explanation of how the pairings rules work

Still not ready for actual use.

Should we try it out and give feedback? Or wait?

The FIDE rules permit side differences and streaks of three in the last round only. Excalibur doesn’t currently have special handling for the last round, but it might be a good idea to add at some point, in order to prioritize matching by score group in the final round.

I think in Netrunner we don’t need this because we have top cuts. Chess has very high level events played as Swiss only with no top cut so last round is more important there.

Feel free to try it out and give feedback! Just be aware that it’s not finished.

You can see a list of things I’m already planning to fix here.

Oh, good point. It still might be a nice feature to have for events without a cut, but it’s probably not all that critical.

1 Like

New version!

It’s ready to run a few small test tournaments, I think. It now saves after every change, can load old versions (which provides an ugly but usable undo), and can edit players and match results.

There is one change to how to run it: you now must specify a save file on the command line. If the file doesn’t exist, it will be created.

It still can’t edit pairings, and I’m sure there are bugs I haven’t found yet, so I wouldn’t run anything large or highly competitive with it yet.

I’ve asked my local Netrunner Facebook group for volunteers to participate in a test tournament, and will report back on how that goes.

1 Like

I ran said small test tournament, and it mostly went well. However, it did find a bug in the pairings engine. Specifically, it sometimes pairs people against people they have already played.

More details and probably a bug fix to come.

Just downloaded it and will try to give you some feedback especially from a first time experience.

Running it on Linux.

Works fine for me so far and really like it very much. I think what is missing for me, is to know how to use it. So when running a 8 Player tournament, how many rounds? 5? Some help in this direction would be appreciated.

  • You have some explanations on GitHub and some here (1st Post, e.g. how to reach the software). I think it would be good when a kind of readme.txt would be included explaining the first steps.
  • Some help how to start the software would be useful (from a shell)
  • The download is called linux_64, something with a better name would be helpful (e.g. excalibur?)
  • Would be nice if the software version would be contained in the filename or somewhere
  • When you select Matches, there is no back
  • What is missing is to see a kind of status where I’m. After recording the results I have to finish the round, so that the results are published. So there is a process to follow but it would be good to know, what is the next step.

When I would understand this in more detail I would like to run a tournament with this.

When you are saying small test tournament, can share some details? How many players? How many swiss rounds? What was the experience like? Did the players enjoyed it? Or found it to be unfair?

Thank you for the feedback! I will make a GitHub issue for the UI suggestions you’ve made here. Is it ok if I copy & paste your post there? Alternately, if you have a GitHub account, please feel free to submit an issue yourself.

The test tournament was six players, and we played five rounds, which was maybe a bit excessive but we had time for them. I’m gathering feedback from the players on Facebook; I’ll try to summarize what people thought once they’ve had some time to weigh in.

Sure do it, don’t have a github account. Appreciate when you want to consider my feedback!

So what would be the number of rounds suggested based on the number of players?
From 4 - 40?

New release!

This just fixes the pairings bug I discovered when I analyzed the results of the test tournament I ran. The interface is still unimproved from the previous release.

1 Like

Very cool, I’m impressed!

Something that would be really handy would be a way to see a player’s match history besides looking at the “All Rounds” page, just so you can easily see if players are sufficiently alternating the sides they are playing, and not getting rematches.

This type of tool is something I’ve been dying for in the community, especially with the advent of Cache Refresh’s terrible bidding system, so I’m very happy this exists!

I won’t promise this will get done, but I did make an issue for it.

1 Like

I think I used the wrong version, as it’s the one linked in the initial post! :frowning: but I only realized this during the tournament.