Cynthia LimProjects
← Back to projects

AI × Education

BioChem Quest

A Pokémon-inspired, AI-configurable learning game that helps students move beyond memorisation through interactive quests, concept-based challenges, and learning content tailored from their own prompts or lesson notes.

Browser-based game · High school & university students

From memorising properties to putting them to use

Learning amino-acid names is one step. Understanding how their properties affect protein behaviour is another. BioChem Quest gives students a place to practise those connections through questions, collecting, and building.

The project combines a playable 3D world with editable learning content, so the experience can be adapted to class material.

Watch the demo

A 92-second silent walkthrough: collect amino acids, build a protein, battle, then turn lesson notes into an AI-generated quest. Travel and generation waits are shortened.
Read the walkthrough

After a brief welcome, the camera follows the character into a learning region. Correct answers earn amino acids, which are arranged into a protein and used in battle. The player enters enzyme-inhibition notes for high school students and requests a real AI draft. The generation wait is shortened. After inspecting the draft, the recording opens that saved generated configuration as a separate local game and completes an enzyme-inhibition question. This is a prototype demonstration: AI-generated content still needs review for accuracy and appropriate challenges.

Explore the features

Learn through challenges

47 seconds · Follow the character, answer questions, build a protein, and test it in battle.

From lesson notes to a quest

43 seconds · Enter notes, generate and review a real draft, then explore its adapted game. Generation wait shortened.

AI prototype: generated content needs review before classroom use. Testing found misleading topic labels even in structurally valid drafts.

The learning experience

Explore and discover

Move through a 3D world with a shared courtyard and distinct biochemistry regions. Quests and questions give students a reason to explore amino-acid properties.

Collect and apply

Answer questions to collect amino acids, then arrange them in the Protein Lab. R-group interactions influence the resulting protein’s stability, attack, and defence.

Review as you play

Field notes and in-game instructions keep explanations close to the activity. Progress is saved in the browser so students can return to their game.

Make the lesson your own

Choose a learning topic, add class notes, and select high school or university students. Keyword suggestions and example objectives help users decide what material to include.

AI-assisted customisation

The customisation flow starts with a selected topic and lesson notes. Those notes give the model source material for its draft, while the game checks that the result fits its content structure.

  1. Choose the scope. Select a topic and use keywords or an example objective to decide what to teach.
  2. Add the source material. Supply definitions, explanations, and examples for the intended student group.
  3. Review before applying. Inspect the proposed learning content before opening it as a separate local adaptation.

Structure validation helps keep the game playable. Reviewing the draft against the original notes is still necessary to check the educational content.

How it is built

A game engine with an editable content layer

The browser handles the game world and interface. YAML content packs hold the learning material and game configuration, while a server-side API handles AI drafting. Generated drafts are validated before they can become a playable adaptation.

The implementation uses Three.js for the world, browser storage for local progress, and Cloudflare Pages Functions for the API. Generation requests have rate limits to control shared usage.

  • JavaScript
  • Three.js
  • YAML
  • Cloudflare Pages
  • Workers AI

Design decisions & next steps

Keep the world easy to navigate. Shared facilities sit around a central courtyard, with a different appearance from the learning regions. Instructions remain available during play.

Help users provide useful material. A blank input can be difficult to start with. Topic-specific keywords, example objectives, and a clear audience choice make the customisation task more concrete.

Make failures recoverable. If a drafting request fails, the form preserves the lesson notes and audience selection so users can try again.

The next step is feedback from testing: where students need more guidance, whether questions explain concepts clearly, and how well adapted lessons support the intended learning goals.