]> git.sesse.net Git - foosball/blob - www/index.xml
d645a046cb21fdf1764c241d6a97e411feb48bab
[foosball] / www / index.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE
3   html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
4   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:t="http://template.sesse.net/">
6   <head>
7     <title>Foosball!</title>
8     <link rev="made" href="mailto:sgunderson@bigfoot.com" />
9     <meta name="MSSmartTagsPreventParsing" content="TRUE" />
10   </head>
11   <body>
12     <h1>Foosball!</h1>
13     
14     <h2>Add a singles result</h2>
15
16     <form method="post" action="add-single-result.pl">
17       <table>
18         <tr>
19           <th>User name 1</th>
20           <td><input name="username1" value="" size="10" /></td>
21         </tr>
22         <tr>
23           <th>User name 2</th>
24           <td><input name="username2" value="" size="10" /></td>
25         </tr>
26         <tr>
27           <th>Score</th>
28           <td>
29             <input name="score1" value="" size="2" /> -
30             <input name="score2" value="" size="2" />
31           </td>
32         </tr>
33         <tr>
34           <td colspan="2"><input type="submit" /></td>
35         </tr>
36       </table>
37     </form>
38     
39     <h2>Add a doubles result</h2>
40
41     <form method="post" action="add-double-result.pl">
42       <table>
43         <tr>
44           <th>Team 1 (usernames)</th>
45           <td>
46             <input name="team1_username1" value="" size="10" /> and 
47             <input name="team1_username2" value="" size="10" />
48           </td>
49         </tr>
50         <tr>
51           <th>Team 2 (usernames)</th>
52           <td>
53             <input name="team2_username1" value="" size="10" /> and 
54             <input name="team2_username2" value="" size="10" />
55           </td>
56         </tr>
57         <tr>
58           <th>Score</th>
59           <td>
60             <input name="score1" value="" size="2" /> -
61             <input name="score2" value="" size="2" />
62           </td>
63         </tr>
64         <tr>
65           <td colspan="2"><input type="submit" /></td>
66         </tr>
67       </table>
68     </form>
69
70     <h2>Singles score board</h2>
71
72     <table>
73       <thead>
74         <tr>
75           <th>Username</th>
76           <th>Rating</th>
77           <th>RD</th>
78           <th>Lower bound</th>
79           <th>Since -1d</th>
80         </tr>
81       </thead>
82       <tbody t:id="singletop">
83         <tr>
84           <td><t:username /></td>
85           <td><t:rating /></td>
86           <td><t:rd /></td>
87           <td><t:lowerbound /></td>
88           <td><t:trend /></td>
89         </tr>
90       </tbody>
91     </table>
92
93     <h2>Doubles score board</h2>
94
95     <table>
96       <thead>
97         <tr>
98           <th>Username</th>
99           <th>Rating</th>
100           <th>RD</th>
101           <th>Lower bound</th>
102           <th>Since -1d</th>
103         </tr>
104       </thead>
105       <tbody t:id="doubletop">
106         <tr>
107           <td><t:username /></td>
108           <td><t:rating /></td>
109           <td><t:rd /></td>
110           <td><t:lowerbound /></td>
111           <td><t:trend /></td>
112         </tr>
113       </tbody>
114     </table>
115
116     <h2>Last ten games</h2>
117
118     <table>
119       <thead>
120         <tr>
121           <th>Registered</th>
122           <th>Type</th>
123           <th colspan="2">Opponents</th>
124           <th>Score</th>
125           <th colspan="2">Rating diff.</th>
126         </tr>
127       </thead>
128       <tbody t:id="lastgames">
129         <tr>
130           <td><t:gametime /></td>
131           <td><t:type /></td>
132           <td><t:username1 /></td>
133           <td><t:username2 /></td>
134           <td><t:score1 /> &#8211; <t:score2 /></td>
135           <td><t:diff1 /></td>
136           <td><t:diff2 /></td>
137         </tr>
138       </tbody>
139     </table>
140     
141     <h2>Assess a singles match</h2>
142
143     <form method="post" action="assess-single.pl">
144       <table>
145         <tr>
146           <th>User name 1</th>
147           <td><input name="username1" value="" size="10" /></td>
148         </tr>
149         <tr>
150           <th>User name 2</th>
151           <td><input name="username2" value="" size="10" /></td>
152         </tr>
153         <tr>
154           <td colspan="2"><input type="submit" /></td>
155         </tr>
156       </table>
157     </form>
158     
159
160     <h2>About the ratings</h2>
161
162     <p>The rating system in use is called <em>FoosRank</em>, and is specially 
163       designed for this system. It is a Bayesian rating system, inspired by
164       Glicko 1 but re-worked out from scratch with a statistically sound model
165       of non-binary results, and adjusted for teams (with some ideas from
166       Microsoft's TrueSkill system). For those not familiar with Bayesian
167       ratings, the most important parts are:</p>
168
169     <ul>
170       <li>Your rating is a <em>statistical estimation</em> of your true skill.
171         It has a mean (the point estimate of your skill) and a deviation
172         (measuring the uncertainity of the estimate), called the RD. It is approximately
173         Gaussian (actually logistic).</li>
174       <li>When you win or lose a game, your rating will change accordingly,
175         based on your score and your opponent. <em>You do not get 'points'
176         for winning or losing, the estimate is merely getting more accurate.</em>
177         In the process, the RD gets lower as you play. However, the RD increases
178         with time, opening up for the fact that your true skill can change.
179         (Glicko 2 also supports a volatility measure, which better models change
180         in true skill, but it has not been implemented here.)</li>
181       <li>The score board is sorted by a conservative estimate of your rating
182         (mean - 3 * RD). This makes it non-attractive for people with artifically
183         high ratings (especially newcomers) to avoid playing to stay high up in
184         the score board.</li>
185       <li>The single and double rankings are separate. Even though you play as a
186         team and all four players' rankings and RDs influence the rating adjustment,
187         you are ranked as an individual, as we do not usually play with fixed
188         teams.</li>
189     </ul>
190   </body>
191 </html> 
192