mlh-fellowship / ace Goto Github PK
View Code? Open in Web Editor NEWExplorer 2.1.1, Sprint1 Project: ACE (Accessible Chess Experience) by Atreya, Saumya and Suhani.
Explorer 2.1.1, Sprint1 Project: ACE (Accessible Chess Experience) by Atreya, Saumya and Suhani.
Create a home/landing page with decent chess related UI and a start button which directly generates a link.
Make two player chess using sockets. Add link to backend repository in readme
We are currently using the Azure speech API. It tends to misclassify words frequently when different accents are used. Maybe we can:
If anyone needs Azure credentials, please contact us here:
https://discord.gg/EmtXC9xug6
create a structure for side buttons and connect speech with the side buttons for specific commands.
When the game ends (either checkmate or resignation), the game board should be frozen with no further moves being made even if both the players are still on the page.
Computer should speak out error message in both cases
When the user presses Spacebar or voice input is active, we can add a large blinking icon of sorts to signify that the input is active.
Allow user to resign game and deliver information to opponent
When user makes a move, if the computer does not recognize a piece it will keep asking the user the piece name in a loop. Add a condition such that if the piece is not recognized more than three times, the loop breaks and the user is required to make the move all over again
Add a box where the user can put in the row and column of a square to specify a square. Can be used for Find Piece and Make Move.
When those two functions are selected, maybe autofocus on the text box.
Three stage Process:
Note: This preferably shouldn't apply for the King and Queen since they are unique pieces. We can add this small tweak later iafter everything else is working.
Computer: "Source Square?"
User: "A1"
Computer: "Destination Square?"
User: "H8"
Prompt invalid move if the move is not possible, "Currently in check" if the user is in check.
Currently, when speak positions is called there is no way to interrupt the computer speech. It will continue till all the pieces on the board are spoken out. To fix this, when speak positions is going on, user should be able to press esc key to break out of the function.
Both players get time limit of 20 mins, the timer starts when it's player's move. When a player runs out of time, the opponent wins the game.
Preferably add double confirmation. Since currently it's only two people playing via a link, resign immediately refreshes the board and a new game is started.
If a draw is offered, a draw request is sent to the opponent. If confirmed, then new game is started. Else, game continues.
Maybe output something like "Not your move"
Repeats the Piece moved by the opponent, from which sq (source) and dest sq.
Sometimes, the computer voice will repeat itself several times.
I've included an example of the voice repeating the "copy link" prompt:
Move Piece "K", Source: "XY", Destination: "AB"
Computer: Do you want to move "K" from "XY" to "AB"?
If the user says yes:
Make the move
If no:
Erase the move and go back to asking which piece, and source + dest sqrs
Currently, when a game gets over the user does not have the option to restart the game with the same person.
We can create a workflow where when the game ends, a pop up shows where user has the option to restart the game. The opponent is asked permission for rematch, if opponent agrres, a new game starts on the same link i.e. the board resets.
Link to backend repository: https://github.com/suhanichawla/ACE-Backend
For some reason, the game is in a german dialect on my browser (not sure if this happens for other people as well).
Currently, the chessboard fits well on larger screens but not on smaller screens. user would need to scroll to see a complete chess board
The landing page should consist of the rules and icon of the project. Revamp the landing page UI to make it look better.
Remove the requirement for a username and allow direct link generation after pressing start on home/landing page.
Will speak out all the current piece coordinates on the board for both colours.
The user should be able to offer draw to the player. If the opponent accepts draw, the user and opponent should be alerted that the game has ended in a draw
Will require socket implementation on the backend
https://github.com/suhanichawla/ACE-Backend
We can implement a chat or voice call feature so that two players can communicate with each other in real-time while playing. Maybe we can use the webspeech API to speak out the contents of the chat as well.
Output: "Black pawn" or "White Queen"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.