An educational game & research project

Coco
Crunchers.

What happens when learning becomes part of the game?

A Python game inspired by an English Bulldog, developed across three studies to explore math, player experience, and AI-assisted learning.

Coco in the wildYear 02 / pygame
Coco collecting a bone in the pixel-art platformer, against a purple sunset sky
Real gameplay. An evolving experiment.
From a math prototype to an AI hintbot

Independent research by Marcus Withers

Meet the project

Meet Coco

A real dog.
The start of an experiment.

Built around play.
Examined through research.

Named after an English Bulldog and inspired by Number Munchers, Coco Crunchers began with a question: could a game help people practice math?

The project grew from a desktop prototype into a platformer, then an experiment with an AI hintbot. Each version asked something different about how people learn, navigate, and ask for help.

01 / The game

See the idea in motion.

Original development recordings, from the first math game to a pixel-art platformer.

Year 02 / The platformer

A new world for Coco.

A screen recording of the pygame build: Coco moves through a pixel-art landscape, collects a bone, and encounters the math-problem interface.

Year 01 / The prototype

Where it started.

The original desktop math game, with numbered spaces along a map and a moving Coco character.

These are development demos, not a playable browser release. The original recordings include the development environment.

02 / The development

Three studies.
A different question each time.

The game changed as the research did. Each version carried forward a lesson from the last.

01

Math & learning

Can a game support math practice?

A desktop math game paired with pre- and post-tests for eight ninth-grade participants.

Python · tkinter · pygame
Study notes

The first study compared scores before and after gameplay. Its small sample makes it an exploratory result rather than evidence that the same effect would hold across learners. Data was collected manually using Google Sheets.

02

Play & observation

Can research fit inside the experience?

A move to pygame and browser deployment, with attention to player accuracy and the friction of collecting data.

pygame · Pygbag · WebAssembly
Study notes

This iteration explored gameplay across ages. Collection remained manual, highlighting the need for in-game data capture. Getting a desktop Python game into the browser also required a different approach: replacing tkinter with a pygame-based build packaged by Pygbag.

03

AI & assistance

Does a hintbot change how people play?

A comparison of players with and without an LLM hintbot. The observed completion-time difference was not statistically significant.

pygame-ce · Tiled · GPT-4o · Streamlit
Study notes

Twelve participants were split between a control group (five) and a hintbot group (seven). The assistant ran separately from the game and knew the level objectives, not the live game state. Small groups and widely varying completion times limit the conclusions.

03 / The research

What we learned.
What remains open.

Three studies exploring math through play: learning outcomes, performance across ages, and the role of an AI hint. These are exploratory findings, not proof of effectiveness.

Year 01 / Learning

Before & after play

A pre/post math assessment with ninth-grade students.

Reported mean test scores · percentage correct
Pre-test
80%
Standard deviation: 21.4 percentage points
Post-test
92.5%
Standard deviation: 14.9 percentage points

In this small pre/post study, the reported post-test mean was higher. The reported test gives p = 0.02459 with 8 participants; it does not establish that gameplay alone caused the change.

Source limitation. The available summaries disagree on the pre-test mean and size of the change. These bars reproduce the recorded aggregate scores; no percentage lift is claimed.

Year 02 / Age & accuracy

A wider range of players

An exploration of how different age groups approached the game.

Reported overall accuracy · percentage correct
Overall mean
86.92%
Reported standard deviation
20.97 percentage points

The exploratory study examined performance across age groups. This overall mean is reproduced as reported, not recalculated or independently validated.

Age comparisons withheld. The available summaries and underlying records have inconsistent participant counts and age-group totals. They need reconciliation before age-group comparisons or a definitive sample size can be presented.

Year 03 / AI assistance

Putting the Hintbot to the test

Comparing completion times with and without Coco’s AI-powered hints.

No statistically significant difference (p > 0.05).

Reported mean completion time · seconds · lower is quicker
Without Hintbot
1066.0 s
n = 5 · Standard deviation: 1619.5 s
With Hintbot
684.4 s
n = 7 · Standard deviation: 1216.7 s

The Hintbot group had a lower observed mean, but variability was high in both groups. With 12 participants and p > 0.05, the study did not establish a reliable difference in completion time. Bars show means, not the range of individual outcomes.

Source note: figures reproduce the project’s recorded research summaries. They are not a reanalysis of participant-level data. Differences between source records remain unresolved; no cross-study effect or total sample is claimed.

04 / Under the hood

The engineering
behind the experiment.

The hardest part was not choosing a stack. It was finding what worked for the game, the browser, and the study.

01

The browser changed the build

Flask and Django did not solve the desktop GUI constraint. Moving to pygame, then packaging with Pygbag, provided a workable path to browser deployment.

tkinter → pygame → Pygbag
02

Levels with distinct mechanics

Three skill-focused levels introduced wall jumping, enemy combat and timing, and platform navigation. Tiled provided the visual level editor.

pygame-ce + Tiled
03

An assistant, not an autopilot

The hintbot ran separately from the game. It could explain level objectives but could not see the player’s current position or game state.

GPT-4o + Streamlit

What a next version would need

In-game data collection, an integrated hintbot with real-time context, and larger participant groups. These are future directions, not features of the demonstrated build.

05 / Looking back

A better experiment starts
with a better question.

Coco Crunchers became a study of more than math. It exposed the practical challenges of browser deployment, unobtrusive data collection, and AI assistance that understands the game. The results point toward further testing, not a finished answer.

Explore the project source