Traitorball Info Scoreboard

Welcome to the traitorball scoreboard app. You can switch your view between the scoreboard, the settings and this info view. First of all, note that you can leave this site (or even close the browser or turn off the computer) and come back and you won't lose anything.

The scoreboard view is the only one you'll normally need while the game is running. There you can add players and move them between teams.

The settings view is where you can do everything else. You will need to some here first to set the number of teams and what colours will be used.

These are the things you can do from the scoreboard:
To add players: Click 'Add Player' (Shift-A), type in the name and press Enter. (The cursor stays in the box, so you can keep adding more names). New players get added to the bottom of a random team.
Select a player: Click them OR type in their number.
To move the selected player: Click on the top of their team OR type the letter for that team OR drag them into another team.
To delete the selected player: Click 'Delete Player' (Shift-X).
You can use the up & down arrows (or Shift-U & Shift-D) to slide the selected player up & down within their team. You can also drag a player up or down, but you need to drag them onto where another player is.
To unselect, press Space or click Refresh.
Clicking 'Undo' (Shift-Z) will undo the previous action. You can undo any number of operations. 'Redo' (Shift-Y) will redo what you have undone, one action at a time. Once you do any further actions, redo becomes impossible, but you can still undo.
To change the name of the selected player, click 'Rename Player' (or Shift-R). Then change the name and press Enter.
Everything else is done from the settings view.
The keyboard shortcuts are subject to change.

There are a number of things that can be set on the settings view:
The number of teams - should be 3-8.
The colour for each team. Should be a word like "orange". This will set the text colour for that team. Most colour names are recognized (you can do a hex code like #f00 for red if you really want).
The letter representing each team. This is optional, but without it you can't move players into teams using the keyboard.
Show player numbers: With this, the players' numbers are shown along with their names.
Column limit: If this is set, this is the maximum number of players that can be listed in a single column. If there are more players on a team, it begins another column.
Background colour: again, a word like "lightgreen" (or a hex code if you really want). Lightblue is the default.
Font: You can change the font of all the text in the app (including this text) to any "font-family" your browser recognizes. If this is not set (or is set to one it doesn't know), your browser's default font is used.
Delete all: removes all the players' names from the system.
Shuffle: Reassigns everyone to teams at random.
Reset All: A "factory reset" - deletes the game state and resets settings to the defaults.

Allow online play: If this is turned off, the app always runs offline and none of the options below are available. If you are only using one computer, it is better to play offline, because the Undo function is available and the computer does not need to use the internet. If you play online, all computers need to be connected to the internet. Changes can be made on any computer connected to the game. All computers regularly check the server to see if anything has changed.
If you are not connected to a game, there will be two options available: "Join online game" and "Put this game online". For the first computer, type an abbreviation of your location in the box next to "Put this game online" and press Enter. This will put the current game onto the server.
For any other computers, type that same location code into the "Join online game" box and press Enter. Any players currently in the system will be lost and it will be synchronised with the first computer. From then on, any changes made on ANY computer connected to the that game will be effective across all of those computers.
When you are connected to a game, there is a button "Go offline". If you click this, you will keep your current state but you will be playing offline - that computer will not be affected by other computers no will it affect them. You can of course rejoin that game at any stage.
You can set how often the app takes updates from the server. About 10 seconds should be enough.
The number of teams and the team colours & letters are shared between computers. All other settings are held locally.

These are all the things it is currently possible to do. There may be more functionality coming later.

Traitorball is played by 8-60 players, originally divided into 3-6 teams. A large number of hollow plastic balls of different colours (corresponding to the different teams) is scattered around the play area. Players try to find a ball of their team's colour to throw at other players. Anyone thus hit (anywhere above the ankle) takes the ball that hit them and joins the team of that colour. Players may carry only one ball, and that only of their team's colour, but it is permissible to kick balls of other colours. The scoreboard lists the people on the different teams and anyone joining a team is put on the bottom of that team's list. When the game finishes, the winners are the two highest ranked players on the team with the most people.

Players who are 1st and 2nd in a small team will therefore try to catch as many people as they can, to make their team the largest. The top two players on the longest team might hide, hoping the game ends before anyone gets them. For players lower down the list on the biggest team, their way to win is to have some of the people at the top knocked off onto another team. Not being allowed to pick up a ball of a different colour, they may kick balls of other colours, and thus hitting someone higher in their team's list will allow them to rise up the list, while the victim joins the colour of the ball that hit them. One possible extra is to allow players to touch and carry different coloured balls with the backs of their hands.

When the game was first played, a whiteboard was used as the scoreboard, but it wasn't long before we realised a computer could do the job much better, so I wrote a program for this purpose. In a big game, the person at the computer is busier than most of the players, especially in the first two minutes, when all the all the balls are found and used at once. At the beginning of the game, all the players names are entered and and are randomly assigned to the different teams. During the game, whenever anyone is hit, they take the ball that hit them, put their hand on their head to indicate they've been caught, and report to the person at the computer, who puts them in the appropriate team. It is possible to have players do this themselves in a small game, but in a game of more than 15 people with only one computer, a capable person at the controls keeps things running smoothly. An area near the computer is designated as out of play, and they can neither throw the ball nor be caught again until they step out of it. (Sometimes this area is still in play for anyone not reporting their change of team). Often we have used a video projector, so the scoreboard is easy to see without going right up to the computer.

The game is over when the allotted time finishes or when everyone is on one team. There are two disadvantages here: The winner is entirely determined by what happens near the end of the game, so in a 15 minute game, the first 10 minutes have little bearing on who wins. One feature I may add to the system is a random timer. The half-life of the game may be specified. If the game has a half-life of 5 minutes, there is a 50% chance of finishing in 5 minutes. There is a 13% chance of finishing in the first minute, but even is the game has lasted 10 minutes, there will still be a 13% chance of finishing in the next minute. This half-life timer would only be set off after the first few minutes, and in the unlikely cases where it takes too long an upper time limit can be announced. This unpredictable timer means that players know that getting to the winning position at any time may possibly win them the game. It also avoids having a last minute where half the players know they don't have a chance of winning; for with the half-life timer you never know if it's the last minute.

People at Glen Osmond Baptist Church have been playing traitorball since about 2001. The building has turned out to be ideal for it, with three exits from most areas, and the variety of places in the area varies the play. The hall is usually free of obstacles, so no one is safe unarmed there, and in 1-on-1s one wants to throw just before the other. The loft has steep stairs, and although there is only one exit, having the higher ground can be an advantage. The chapel has seating which keeps opponents at a distance and provides cover. Blind corners are good for players to try for an ambush, but as in all places, one wants to avoid wasting precious balls, as search for ammo unarmed is perilous. There are a few hiding places, but hiding places do not usually afford an easy escape. It is possible to play outside as well.

The hollow plastic balls are so light as to be unable to maintain a high speed, so those with strong arms are not overly advantaged and there are no injuries or breakages (at least not on account of the balls). They are easily lost, so when playing on someone else's premises, count them beforehand and afterwards and try to minise your losses.

In a large game it is better to have more scoreboards running. This enables the game to run more smoothly without a long queue of people reporting a change of team. It also allows people to see where they are ranked and who is winning without going to a central area.

Being a hobby game programmer, I used to write programs in C++ using the cross-platform Allegro library for graphics. The traitorball scoreboard was therefore written as a C++ program. And though C++/Allegro was good for graphics, it wasn't good for things like arranging formatted text. During the 2000s, the web browser became a more convenient platform for which to build applications, saving the new user the trouble of downloading/installing the app (and any subsequent updates) onto their computer. In 2008 I was learning JavaScript and PHP and wrote a system that allowed multiple computers in the same game.

In 2012 my JavaScript had come a long way, HTML5 had come in and I had discovered MooTools. The items on the to-do list now looked possible, so I have rewritten it.

You may want to change the text size If there are too many names to fit on the screen or the text is too small, you can use the browser's zoom in/out (Ctrl +/- in Firefox). There are no guarantees with this sort of thing, so you are encouraged to test it out extensively before you have 20 people wanting to play!

The current ToDo list:

  1. More text colour/style options
  2. Copy to another domain
  3. Random timer
  4. Some tidying up
  5. and anything someone else might suggest

My email address is, to which you can send bug reports, questions or any other correspondence. You can call me on 0421253504 if you need quicker help with it, but I'm not guaranteed to be free all the time.

Number of teams
Show player numbers
Column limit
Background colour

Players: Delete All Random Shuffle Reset All

Allow online play

Refresh Add player Undo Redo Rename player Delete player