Inspiration
Playing with my own cat "Princess Cleo", watching her run around and playing with her has brought me so much joy. When playing board games with friends I noticed some of the games get very complicated fast, I wanted a simple way to a play video game with my friends that feels fair, and fun.
What it does
You select your cat avatar, you join a room, and you try to collect all the little treats before the other cats do. There are obstacles you need to avoid.
How we built it
Using angular + AWS amplify, route 53, appsync, appsync events, dynamodb, lambda, and help from amazonQ.
Challenges we ran into
I started off using angular + amplify gen1, then I changed to react + amplify gen2 so I could learn how to use React and all the documentation for gen2 is for React so I did that.
After a while I could not figure out how to get through some of the obstacles react has when using the html canvas api, and with the appsync events api, so I went back to Angular with gen2 knowledge, and redid the project another time, using standalone components which i hadn't done yet.
Another big issue was using Appsync Events api with existing amplify api - you have to create your own web socket service that manages it for you, and Amazon Q helped me do that so fast.
Accomplishments that we're proud of
I made a working react app! Its not what i used for the final product but I was able to learn a lot from doing it, feel comfortable talking about it and advising others, and now I can play the game online with my family and friends.
What we learned
How to make a websocket connection using plain js. AmazonQ is amazing. And how to scale two different screens in real time so that people can play a game together. low latency vs the least latency that appsync events offers.
What's next for Nom Kitties
Fix some bugs and let people have fun. Finish making the rounds and different modes of play. Integrate ai to generate some feline names.
Built With
- amazon-dynamodb
- amazon-web-services
- angular.js
- appsync
- lambda
- material
- route53
Log in or sign up for Devpost to join the conversation.