Inspiration

I went back to my hometown for Diwali to spend some time with my family. I did involve myself in some house chores. While cleaning the racks, I saw there was a dirty bag. I was curious to know what it could contain. There it was, searching for it for a long time and I found it. My collection of diaries from 2005 to 2014 (school days). I wanted to build a good game for the hackathon and was in search of a good idea. While going through the diary, I was wondering why can’t we build this game. It’s been a long time since I played this game. I’m not a kid anymore, I can’t play like this. I’m not a game developer or a Frontend—developer. It would be hard for me to build this game. But I wanted to give it a shot. In 2006, I drew this diagram for fun, I didn’t know I would be a software developer back then. Was just having fun during a break I guess, but now I wanted to recreate this game

What it does

  • GenAI Commentary – Amazon Bedrock

  • Local Speech Synthesis – from browser

  • Amazon Polly (need additional Python server)

  • Voice Mode – use voice to play the game (accessibility) Amazon Transcribe

  • Answer AWS specific questions to double the damage - airdrop

  • Language Agnostic – text and audio

  • Human Sound Effects

  • Online mode – work in progress

How we built it

Amazon Q

  • Used on the development of the UI components, game logic, optimization of the code, update logic

Amazon Bedrock

  • Using Claude 3.5 Sonnet v2 to generate commentary text from the game statistics

Amazon Polly

  • Used to deliver high-quality commentary voice with a neural engine

Amazon S3

  • Used to store sound and images of the game

Amazon DynamoDB

  • Used to store player information, llmUsage of the players, and leaderboard

Amazon Transcribe

  • Used to process audio stream to text for voice mode

React

  • For building the UI

FastAPI

  • Expose Amazon Polly as an API to the React app

Challenges we ran into

  • Not sure how to handle the image and sounds from the S3 bucket
  • React is not that flexible to build good games
  • Due to a lack of exposure to React and JavaScript, was finding it harder to understand the props and components- Amazon Q did help here
  • Coming up with a good game logic for the CPU was a little tough

Accomplishments that we're proud of

  • Integrated/used six AWS services in total to complete this project, all utilized to their strengths
  • Was able to send out a request and get a response in under 2 seconds from Amazon Bedrock, which definitely helped us to make a live commentary experience
  • Using FastAPI as a separate service to make Amazon Polly work for us in the backend since we don't have a JS SDK for this

What we learned

  • How to integrate different AWS services together
  • Building a game in React, handling multiple states, updating states
  • How easy is it to have control over the services all from one place, thanks to IAM
  • Good experience in building the game logic and how the game mechanics work

What's next for Dishum Dishum

  • Make the online mode live to have fun with virtual friends online
  • Make the leaderboard available to make the game more competitive and push people hard
  • Make AI do more of the work with AWS Bedrock
Share this project:

Updates