-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathabout.html
97 lines (88 loc) · 4.17 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<!DOCTYPE html>
<html>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0'>
<link rel='stylesheet' type='text/css' href='css/chess.css'>
<title>limchess ~ about</title>
<script src='js/jquery-3.6.4.min.js'></script>
<script src='js/gamepad.js'></script>
<script src='js/arrowkeys.js'></script>
</head>
<body>
<div id='header'>
<h1>limchess</h1>
<h2>Limited input accessible chess</h2>
</div>
<div id='gamepadStatus'>
<p>Gamepad device not connected</p>
</div>
<nav>
<ul>
<li><a href="index.html">play</a></li>
<li><a href="help.html">help</a></li>
</ul>
</nav>
<div class='content'>
<a href="https://benknoble.github.io/status/experimental/">This project is considered experimental</a>
<h3>Goal</h3>
<p>A prototype of limited input assisted chess for the web.</p>
<p>We wanted to build a game of chess that could be played with only two
buttons, had a functional AI to beat, and assisted the player in making
moves by limiting the available options.</p>
<h3>Authors and Motivation</h3>
<p>
Built by <a href="https://github.com/benknoble">@benknoble</a> and
<a href="https://github.com/zlintz14">@zlintz14</a> for
<a href="https://github.com/gbishop">@gbishop's</a> Comp 580: Enabling Technology class.
</p>
<p>
Tasked with building a project for the 2020 Maze Day (which met the same
fate as many other Spring 2020 events, in light of the COVID-19 epidemic),
we decided to bring chess to the world of limited-mobility players.
</p>
<p>
Imagine trying to make the first moves in a game of chess when your muscles
are spastic or only controllable with difficulty. A natural step is
voice-playable chess—given the time and resource constraints, we felt
this was beyond the scope of our project. Instead, we opted for a 2-button
accessible game player, since 2-buttons is a common input device for people
with cerebral palsy or other motor disorders. One button to choose a move
and another to confirm the selection. Theoretically, this is all one needs
to play chess—and the web makes a perfect candidate for the prototype.
</p>
<p>
In addition, we felt that the number of possible moves in chess can be
overwhelming to new players and presents yet another degree of freedom. In
an attempt to give more freedom by constraining the available options, we
decided to gives players the ability to limit how many moves from which to
choose. Advanced players can opt for all moves to be a part of the
repertoire, while newer players might be happy with only a few. This allows
them to focus on the fun of playing the game and worry less about making the
best moves. In order to be fair, we wished to present the player with a
choice of good, bad, and average moves, based on an AI evaluation (not yet
implemented). This proved difficult, so as a workaround we give the player
feedback on whether the move played was good or bad.
</p>
<h3>Built with</h3>
<ul>
<li><a href="https://github.com/jhlywa/chess.js">chess.js</a> (BSD-2)
provides the underlying rules engine</li>
<li><a href="https://chessboardjs.com">chessboard.js</a> (MIT) provides
the chessboard UI</li>
<li><a href="https://jquery.com">jquery</a> (MIT) used by chessboard.js and our
app to implement functionality</li>
<li><a href="https://github.com/niklasf/stockfish.js">stockfish.js</a>
(GPL) to power the AI</li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API">Gamepad API</a>
(Mozilla) to connect to Gamepad devices</li>
</ul>
<p>Name inspired in part by <a href="https://lichess.org">lichess</a></p>
<nav>
<ul>
<li><a href="https://github.com/2buttonchess/limchess">Site Source</a></li>
<li><button onclick="topFunction()" id="goToTopAbout" title="Go to top of page">Go to top of page</button></li>
</ul>
</nav>
</div>
</body>
</html>