Inspiration

We, as novice hackers, constantly rely on coaches, social media, or even AI for help when we run into issues, bugs, or doubts in our code. Even then, we search for a way to actually have fun debugging our code, which would help us actually remember and truly grasp concepts.

What it does

BugQuest gamifies the debugging and code fixing process, using Google Gemini's capabilities to create difficulty and level based debugging problem statements, tailor-made to a user's expertise, and puts it in a monster-battling game. The custom code mode also enables players to do the same, but playing with their own code instead, and learning and getting a fully bug-free version of it in the end, all made possible by our Google Gemini API.

How we built it

We used the classic combo of HTML and CSS to code the design and format of the locally hosted app itself. The AI-engine which controls the Gemini API, the program which creates the levels and monsters, and the main game file which processes it all, are all made with JavaScript.

Challenges we ran into

Properly outputting the Gemini API's responses, integrating it in such a manner that it controls and understands the user's code and correctly gives relevant hints and explanations.

Since we use a lot of emojis in the user interface, we ran into a lot of mojibake, which can also be seen in the demo video.

Accomplishments that we're proud of

Successfully harnessing Gemini's capabilities to understand and help with even the most complex of code bugs, and using it to educate hackers and helps them efficiently learn and understand programming concepts, all in a video game!

What we learned

How to use Google Gemini as an API to increase a program's efficiency and accuracy when it comes to achieving the level of reasoning and understanding we needed to help hackers with coding bugs. How to properly call, control, and use AI APIs in code.

What's next for BugQuest

Hosting it, instead of running it locally as we do now, using Gemini to add more features, connect it to a database like FireBase to store levels, progress, and authentications.

Built With

Share this project:

Updates