Basic Chess App
- Complete Chess Logic/Rules
- Drag and drop with
react-dnd
- Stockfish AI opponent and game analysis
- Basic game controls (undo/forwards/backwards)
- Typescript
- Drag and drop with
react-dnd
redux
state managementredux-observable
+ WebWorker for async best move calculationshowler
for game soundsstyled-components
css in jss styling@material-ui
material design componentsformik
forms- Hosted on Google App Engine
- TravisCI deployment
-
Add sprites
-
fix performance issues
- Context selector solution (this seems to be the sole issue)
- Add touch/tap/click control along with drag
-
check highlight
-
move sound
-
take sound
-
Deploy to chess.lioneltay.com
-
Automate deployment with TravisCI
-
mobile drag support
-
custom drag preview
-
undo functionality
-
refactor
- remove use of game object from state, convert to pure functions which utilize Chess object internally
-
rewind/replay/start/end functionality
- Keyboard shortcuts left right up down
- Drawing Circles
- red and green
-
use svg for text labels so they scale with viewport
-
Drawing Arrows
- red and green
-
flip board
-
play as black
- Implement AI opponent (Stockfish) (https://github.com/nmrugg/stockfish.js)
-
show best moves functionality
-
undo during ais turn (coniditonally go back 1 or 2 turns)
-
refactor all state manipulation logic into selectors
-
Moves should always be applied to latest board
-
disable movement of ai pieces
-
Save history of moves to highlight previous moves
-
create an rxjs stream
-
redux observable for best move calculations
-
show animated score bar
-
improve performance (many rerenders)
- Expand selectors
- memoize board selector
- React.memo
- Ai without show best move
- double ai mode
- Start new game button
- install material ui
- create modal
- Show options
- Toggle Choose ai
- choose side
-
Add promotion
- ai promotion
-
draw detection
-
stalemate detection
-
checkmate detection
-
game over detection
-
show end game status
-
winner, draw, stalemate
-
[bug] evaluation bar goes up and down on every move
- improve performance
- Test the drag and drop functionality