]> git.sesse.net Git - foosball/blob - www/index.xml
8c63fb2e6dc88e0e56907f330fc61dd0fcabd6b8
[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 mean</th>
77           <th>Rating deviation</th>
78           <th>Conservative estimate</th>
79           <th>Change since yesterday</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 mean</th>
100           <th>Rating deviation</th>
101           <th>Conservative estimate</th>
102           <th>Change since yesterday</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         </tr>
126       </thead>
127       <tbody t:id="lastgames">
128         <tr>
129           <td><t:gametime /></td>
130           <td><t:type /></td>
131           <td><t:username1 /></td>
132           <td><t:username2 /></td>
133           <td><t:score1 /> &#8211; <t:score2 /></td>
134         </tr>
135       </tbody>
136     </table>
137
138     <h2>About the ratings</h2>
139
140     <p>The rating system in use is called <em>FoosRank</em>, and is specially 
141       designed for this system. It is a Bayesian rating system, inspired by
142       Glicko 1 but re-worked out from scratch with a statistically sound model
143       of non-binary results, and adjusted for teams (with some ideas from
144       Microsoft's TrueSkill system). For those not familiar with Bayesian
145       ratings, the most important parts are:</p>
146
147     <ul>
148       <li>Your rating is a <em>statistical estimation</em> of your true skill.
149         It has a mean (the point estimate of your skill) and a deviation
150         (measuring the uncertainity of the estimate), called the RD. It is approximately
151         Gaussian (actually logistic).</li>
152       <li>When you win or lose a game, your rating will change accordingly,
153         based on your score and your opponent. <em>You do not get 'points'
154         for winning or losing, the estimate is merely getting more accurate.</em>
155         In the process, the RD gets lower as you play. However, the RD increases
156         with time, opening up for the fact that your true skill can change.
157         (Glicko 2 also supports a volatility measure, which better models change
158         in true skill, but it has not been implemented here.)</li>
159       <li>The score board is sorted by a conservative estimate of your rating
160         (mean - 3 * RD). This makes it non-attractive for people with artifically
161         high ratings (especially newcomers) to avoid playing to stay high up in
162         the score board.</li>
163       <li>The single and double rankings are separate. Even though you play as a
164         team and all four players' rankings and RDs influence the rating adjustment,
165         you are ranked as an individual, as we do not usually play with fixed
166         teams.</li>
167     </ul>
168   </body>
169 </html> 
170