Coder Social home page Coder Social logo

ace's People

Contributors

atreyamaj avatar n-maido avatar sameerkash avatar saum7800 avatar suhanichawla avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

ace's Issues

Speech misclassification

We are currently using the Azure speech API. It tends to misclassify words frequently when different accents are used. Maybe we can:

  1. Further train the azure model endpoint using custom speech samples and use that endpoint in the game.
  2. Hardcode some rules such as changing misclassified words like "Ivan" to E1.
  3. Explore other speech APIs, for example GCP.

If anyone needs Azure credentials, please contact us here:
https://discord.gg/EmtXC9xug6

Freeze game board when match ends.

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.

Break the move piece loop

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

Keyboard input for moves

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.

Move own piece

Three stage Process:

  1. Computer: "Piece?"
    User: "Knight"

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.

  1. Computer: "Source Square?"
    User: "A1"

  2. Computer: "Destination Square?"
    User: "H8"

Prompt invalid move if the move is not possible, "Currently in check" if the user is in check.

Keyboard Interrupt to stop speak positions

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.

Create matches with a timer

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.

Options for Resigning, and offering a draw.

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.

Voice prompts on repeat

Sometimes, the computer voice will repeat itself several times.
I've included an example of the voice repeating the "copy link" prompt:

repeat.mp4

Allow user to restart game with same opponent

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

Improve UI of landing page

The landing page should consist of the rules and icon of the project. Revamp the landing page UI to make it look better.

Remove username entry

Remove the requirement for a username and allow direct link generation after pressing start on home/landing page.

Implement chat/voice call

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.