Inspiration
The members of our team have a sort of unofficial club where we work on coding projects and that’s where we originally had the idea of making an IO style, web game for the BYUI hackathon. As the hackathon got closer, we met over bonfire and other meetings to add the education and specifically AI aided education functionality.
What it does
Our website provides a competitive way to learn with a friend. You can navigate to our domain, airundown.study, and from there you enter a topic and then the chatGPT api will generate multiple choice questions based on that topic. These questions will integrate into our platformer style game where you have to race to the correct answer. If you run to the wrong answer, it will turn red and you’ll have to race around to find the correct answer.
How we built it
We decided to not use a game engine but instead to just use the vanilla JavaScript canvas element and its associated builtin methods to create this game. Because of that, we had to design basically all of the game logic, game loop, different object classes, collision, and other aspects of low level game development. We worked extensively with the Google E2 instance that hosted our API server and web server, and really liked it. We also used the GoDaddy domain name service and found that it was an easy plug and play tool that made sharing the final product easy and fun. We used GitHub a ton within our project, and were very satisfied with it’s effectiveness, and the things we learned from it. Over the course of the last 24hrs we used a mix of HTML, CSS, JavaScript, FAST API, and Apache tools within our project. These were tools commonly used by us but even through this project we learned a ton about group projects using these tools.
Challenges we ran into
There were quite a few challenges and bugs that we faced when creating this project. One big one was the collision logic for our game. We found that it was pretty complex logic because it needed to do different things for a left or right collision compared to up or down collision. Another challenge was to get the chatGPT api working correctly, to get the prompt just how we wanted it so that it would output JSON in the exact format we needed consistently, and also figuring out the chatGPT usage limits. We found it very hard to modularize the project so that everyone could work on something as independently as possible, while not changing things so much that it would affect others’ work. There were quite a few problems as well with working with the Google E2 instance, FAST api, and Apache tools.
Accomplishments that we're proud of
We feel very proud to really feel we’ve mastered at least the basic usage of GitHub. We were able to leverage its features very effectively in our project. We also feel proud to have been able to use so many of the third party apps and libraries like the godaddy free domain, chatGPT api, google E2 instance, and the others that we’ve mentioned elsewhere. We feel very proud to have been able to learn so much about the low level game programming and basic game development physics.
What we learned
One of the biggest things we learned was how to manage the project well. We found it was very hard to modularize different tasks but did our best and feel that it really paid off to be able to know how to communicate with others and plan. We learned a lot about how to integrate our app with different third party services and to leverage those services to give our app the best look and functionality we could. We learned about game development, and we learned a lot about programming in JavaScript, and programming in general.
What's next for AI Rundown
We think it would be really cool to be able to take this app a little further and create more levels and more level features, clean up any bugs and sharpen the look of it. We think that there’s already some potential users, and especially after adding these things, it would be really cool to see what people think of our educational game.
Built With
- apache
- css3
- fastapi
- godaddy
- googlee2
- html5
- javascript
Log in or sign up for Devpost to join the conversation.