Simply love to play around with GameDev and the Cloud. I think there is big potentional for video games to get smarter by using managed cloud services such as AWS Lex. Instead of having NPCs with specific responses, players can have natural converstions with A.I. controlled characters. This could possibly help boost players' immersion into video games!
What it does
Eura is a digital assistant named after EVE's tutorial character Aura. Eura helps players maximize their profit from loyalty store offers across the EVE universe. She helps you find best offers in over 50 loyalty stores around the galaxy, each store offering over 100 different items.
It was originally a mail bot also built using AWS Lambda but now upgraded to use Lex. More info about the older version can be found here https://s.tanbouz.com/eura
How I built it
Eura is built on AWS Cloud using a serverless architecture. Eura mainly uses AWS Lambda (NodeJS), S3 and AWS Lex. Eura's Polymer2.0 web app is built with the help of API Gateway, Route 53 & CloudFront. Deployment is done through AWS SAM templates/CloudFormation.
Challenges I ran into
Balancing rate limiting imposed by EVE Online game APIs while shortening AWS Lambda execution time. I had to gather market data for over 1000 in game items to be able compile best offers reports. Each item required several API calls. I optimized the issue by running AWS Lambda over 24 hours in bursts. Each execution of this function collects market details for a batch 20 items in a single burst without triggering the API rate limiting while keeping Lambda runtimes short.
Accomplishments that I'm proud of
Getting this bot out in the limited time I had.
What I learned
One more awesome AWS service. Thanks for the kickstart! Also deployments using SAM templates but it has some limitations.
What's next for Eura
- Improve and build more generic responses.
- Re integrate mail feature from previous version which will alow Eura to forward the report to an in game mail.
- Assist fleet commanders and help manage large fleet of pilots. EVE route calculation and waypoints.
- On the techincial side, use CodePipeline and CodeBuild to automate frontend deployment.
- Improve monitoring, error handling and set up SNS notifications.