Example Proposal
CMSC389L
Colin King
October 29, 2017
- Alexa Chess will be able to compete with you in a game of Chess.
- The human player will play on a physical chess board, speaking their moves out loud to Alexa.
- Alexa will process these moves and respond back.
Let's play a game of Chess. Would you like to play as black or white?
Great, then I will play black. What is your first move?
Queen to B2. Checkmate! Would you like to play again?
- The service will be able to support multiple concurrent games, one per Alexa.
- A website will show the current game state.
- It will display a 2D chess board with each game piece.
- To simplify development, each game will be associated with an Amazon email account. A user will only need to enter the email on the front-end to see the associated game.
-
AWS Lambda:
- 2 Lambda functions:
- Alexa Responses (triggered by Alexa Skill Kit)
- Chess AI
-
DynamoDB:
- Stores game states and user data (win/loss record, etc.)
- Alexa Skill Kit
-
API Gateway:
- Exposes an API on top of DynamoDB
-
S3:
-
Hosts HTML and CSS for a website
- Queries API from client-side JS
- Lambda, DynamoDB, API Gateway, and S3 all automatically scale to handle changes in load, without needing to provision extra capacity.
- The only concern would be to consider pre-warming these services before major press events that could lead to a severe load spike.
- Unlike the other services used, DynamoDB's auto-scaling is not automatically configured. It can be enabled on a table separately.
-
Amazon Alexa
- I own one, which I will use for development
Made with Slides.com