Inspiration

As college students, we understand that everyone learns differently, at different speeds and in different ways. Our inspiration behind Knowledge Quest was trying to design a fun, educational game, that would be a valuable learning tool for individuals of all ages, especially for those who need extra help tailored to their learning style with a personal tutor additional to formal education. The setup specifically allows the user to pick the topics they are learning about, and the teaching checkpoints provide learning in a concise but effective manner.

What it does

This is a multi-agentic architecture which takes the learning objective from the user, takes the objective and uses a planner to create a level wise curriculum and from there a tutor takes on and creates questions on the basis of levels and teaches if the user makes mistakes. The user progresses on the levels as the user gets more questions right and learn on wrong questions.

How we built it

We built KnowledgeQuest as a local-first Python system with a FastAPI REST backend that manages tutoring sessions and a lightweight game UI that talks to it over HTTP. The core “adaptive tutor” logic is orchestrated as a LangGraph state machine (plan curriculum → generate question → await answer → evaluate → update progress → teach if needed → finish), so sessions can pause/resume deterministically while keeping clear control flow. Agent behaviors (planner/tutor/evaluator) call Google Gemini and are constrained to return structured JSON, which we validate with Pydantic schemas before the engine uses it to score answers, detect misconceptions, and choose the next action. All session state (curriculum, attempts, teaching interventions, progression) is persisted in SQLite via SQLAlchemy, enabling reloadable sessions and reproducible progression decisions across runs.

Challenges we faced

The integration of the front-end with the back-end was a big challenge. The front-end PyGame design and the back-end Agentic AI system were built separately, so the biggest challenge was understanding and piecing together whether the responsibility of different tasks was held in the front-end or the back-end, along with building the overall flow.

Accomplishments we are proud of

We’re proud of creating a surprisingly immersive “3D-feeling” experience using primarily 2D resources. By combining layered scenery, forced-perspective scaling, scrolling road geometry, and state-driven transitions (e.g., boss/level changes synced to backend progression), we made the gameplay feel spatial and dynamic without needing a true 3D engine keeping the frontend lightweight while still delivering strong visual feedback tied to learning progress.

What we learned

We learned how to design and debug agentic workflows with LangGraph by turning the tutoring loop into an explicit state machine (plan → question → answer → evaluate → adapt/teach → continue/finish). Modeling the system as nodes + conditional routing made the behavior easier to reason about, test, and persist, and reinforced the value of structured outputs (Pydantic-validated JSON) when coordinating multiple LLM-driven agents in a reliable pipeline.

What's next for Knowledge Quest

Future improvements to Knowledge Quest would be focused on the front-end game design. As of right now, the game-design is pretty straight forward, with linear progression through a set of bosses. Improvements could include new progression styles, including multiple progression paths, different starting difficulty options, and more customization for users.

Built With

Share this project:

Updates