From Marbles to Machine Learning: How a Chatbot Named Simba is Preserving Kenya's Bano Game

ragpython

Monday, July 28, 2025

1. Introduction

The digitisation of cultural heritage poses unique challenges, especially when the artefacts in question are experiential, embodied, and orally transmitted. One such case is Bano, a traditional East African marble game that fosters strategic thinking, community bonding, and local identity. This project presents Simba, a conversational AI system explicitly designed to preserve and communicate Bano's rules, variations, and cultural significance using natural language processing (NLP) and pedagogical framework

2. Problem Statement

The erosion of intangible cultural heritage games, rituals, and oral traditions has been accelerated by urbanisation, globalisation, and digital entertainment. Efforts to document these traditions are often static and non-interactive. The research problem addressed in this work is:

How can an AI system facilitate the dynamic, culturally grounded transmission of knowledge about Bano to a diverse digital audience?

3. Theoretical Framework: Cultural-Historical Activity Theory (CHAT)

This work is informed by Cultural-Historical Activity Theory (CHAT), which conceptualises learning as a socially mediated process involving tools, rules, communities, and goals. The framework provided a lens to structure the design process as follows:

  • Subject: Learner or end-user
  • Object: Cultural transmission of Bano
  • Tools: AI chatbot, memory buffers, diagrams
  • Community: Designers, cultural informants, users
  • Rules: Cultural norms governing game variation and storytelling
  • Division of Labour: Researchers curate, AI mediates, users explore

This structure ensured fidelity to both cultural and educational dimensions of the project.

4. System Features and Implementation

Simba is implemented using a modular architecture based on LangChain and Chainlit, integrated with Cohere's LLM API. Key features include:

4.1 Adaptive Pedagogy

user_level = cl.user_session.get("learning_level", "novice")
if user_level == "novice":
    content = simplify_terms(content)
elif user_level == "advanced":
    content = enrich_with_strategy(content)

The chatbot dynamically adjusts linguistic complexity and strategy explanations based on user expertise.


4.2 Cultural Localisation

cultural_context = get_cultural_context(user_input)
if cultural_context == "west_african":
    terminology = west_african_terms

Cultural terminology and gameplay variants are aligned with user-specific regional contexts.

4.3 Diagrammatic Representation

def draw_bano_board():
    return """
      _______
     /   O   \
    |   O O   |
     \___O___/
    """

ASCII diagrams are used to depict physical board layouts to aid cognitive mapping.

4.4 Reflective and Formative Assessment

questions = get_relevant_quiz(topic, level="beginner")
reflection = random.choice(REFLECTION_QUESTIONS[level])

Learners are prompted to reflect on their own cultural histories, while multiple-choice questions evaluate knowledge retention.

5. Technical Architecture

| Component         | Description                 |
|------------------|-----------------------------|
| Language Model    | Cohere LLM API              |
| Interaction Layer | Chainlit                    |
| Prompt Framework  | LangChain                   |
| Memory Handling   | LangChain Buffers           |
| Deployment        | Railway                     |
| Language          | Python                      |
| Visual Embeds     | ASCII + static file support |

The system maintains memory across sessions and uses prompt chaining to support narrative coherence

6. Evaluation

A pilot study was conducted with 15 participants across varying cultural backgrounds. Metrics were computed using a custom-designed Cultural Preservation Effectiveness Index (CPEI).

| Metric                | Score (10-point scale) |
|-----------------------|------------------------|
| Cultural Accuracy     | 9.20                   |
| Game Knowledge        | 9.06                   |
| Learning Outcomes     | 8.74                   |
| User Engagement       | 7.06                   |
| Contextual Adaptation | 9.46                   |

The aggregate CPEI score was 71.6/100. Qualitative feedback highlighted the effectiveness of contextual terminology, but also noted difficulty in conveying kinaesthetic elements of gameplay.

7. Design Tensions and Considerations

The development process revealed the following critical tensions:

  • Digital Representations vs. Bodily Knowledge: Physical interactions, such as marble flicking, are difficult to simulate textually.
  • Orality vs. Model Bias: GPT-based systems are trained on written corpora, which may underrepresent oral traditions.
  • Cultural Variation vs. Standardisation: Bano varies by region, yet LLMs tend to over-regularise data.

To address these, the project employed context-specific prompts and disclaimers regarding the system’s limitations.

8. Conclusion and Future Work

Simba exemplifies a computational intervention that aligns machine learning with cultural sustainability. While current limitations persist in representing embodiment and orality, the system presents a promising framework for culturally sensitive, AI-mediated learning.

Future iterations may explore:

  • Multimodal interfaces (gesture tracking, audio narration)
  • Community-led prompt generation
  • Integration with digital archives and museums

9. Access and Contribution

Researchers, educators, and cultural stewards are encouraged to contribute or adapt the framework for other endangered games.