Traitorball - Front page - Scoreboard - Info page
HOW TO OPERATE
What to do on the front page: Type in an abbreviation of the place where you are playing. In the first instance, a new game will be created, then any computers using the same ID will thus be tuned into the same game. Everything else is then done on the Scoreboard page.
To add a team: Next to Add Team, put a letter in the Letter box, a hex colour in the Colour box (eg ff0000 for red) and press Enter. Team colours & letters are cannot be changed.
To delete a team: Click Delete Team, then click the top of the team. (If you click Delete Team by mistake, click on a player to do nothing).
To add a player: Type their name in the Add Player box. Click the top of the team to add them to (or just press Enter to assign randomly). There has to be at least one team before you create any players.
To remove a player: Click on their name, then click Delete Player.
To move a player to another team: Click on the player's name, then click the top of the team to add them to.
To undo a recent change: Sorry, it can't be done yet.
To change someone's name: Cant be done. Delete them and add them again.
To change a player's ranking within their team: Can't be done yet. (Moving players to the bottom of them team they're in can enable a re-order).
THE GAME
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.
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 keyboard 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 (now GO Christian Network) 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. The previous version of the system didn't usually support multiple computers, but now any number of computers can be used as long as they are all connected to the internet. If there are more computers around, it's easier for players to change themselves over.
THE SYSTEM
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. I wrote this JavaScript/PHP system in 2008.
Getting the system this far was a priority, but now that it's just working, I have neglected fixing the details as other projects are more pressing. But in the spirit of Open Source, I invite anyone to improve it. I've set up a copy at home.exetel.com.au/eric5014/traitorball1 with an editor that lets you edit the three HTML pages (the workings of the Board page are mostly in JavaScript). If anyone makes any improvements, let me know and I'll update the primary copy. The PHP is not currently editable, but just ask if there's something else you'd like it to do.
When adding teams, colours need to be specified in rrggbb hex format. These are some numbers that work: Red=ff0000, Orange=ff7700, Yellow=ffff00, Green=00cc00, Blue=0033ff, Purple=cc00cc. 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! I think this is more reliable than the C++ version. The game state is saved on the server, so closing the browser or temporarily losing internet connection will not affect the game - you just have to return to this site. However, if you lose connection permanently, you won't be able to play on. I haven't run this on browsers other than Firefox. When entering names, please refrain from using symbols. Spaces and hyphens are OK, but not quotes or other symbols. If you were so inclined, some rogue SQL could probably do this and the same database is used for other projects.
This was the ToDo list, in order of descreasing likelihood that I would actually do it, but that was in 2008, so there's little chance of any further development.
- Move players around within a team
- Allow different text and background colours, make colours easier to choose
- Improve the layout of the scoreboard page
- Allow more ways of specifying actions using the mouse
- Randomly shuffle players
- Make everything safe from special characters
- Allow control using keyboard (as in the desktop version)
- Allow CSS and/or changing background colour
- Undo
- Action replay of a game
- Graphs showing a player's progress through the game
- Client-only version (will not need internet)
CONTACT
My email address is eric5014@exemail.com.au, 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.