Search projects, hackathons, sponsors and tech

    ← All projects

    mlabalaba

    Mlabalaba – Where strategy meets tradition

    About

    The problem it solves Mlabalaba combines tradition and technology to sharpen minds, connect people, and preserve culture in a fun, modern way. 🎓 Education & Cognitive Skills Enhances strategic thinking and problem-solving by forcing players to plan moves ahead. Builds memory and pattern recognition, especially useful for learners. Provides a fun, interactive teaching tool for mathematics (logic, symmetry, counting). 🌍 Cultural Preservation Keeps African heritage alive by digitizing a traditional game. Makes the game accessible globally, ensuring younger generations continue engaging with it. 👥 Social Connection Encourages face-to-face interaction or online play, strengthening community bonds. Can be used as a team-building activity for schools, companies, or events. 💻 Digital Benefits Offers a safe, accessible platform to learn and practice the game without needing a physical board. Integrates with modern frameworks (React, Next.js, Wagmi, Base), making it scalable for Web3 gaming experiences. Smart Contract Address(es) My project currently does not require a smart contract address because all the core features run off-chain: Game state and turns are managed through Next.js API routes and stored in Upstash Redis, so no on-chain writes are made. Wallet connect is used only for identity/UX (to determine Player 1 and Player 2), not for sending transactions. Multiplayer logic is validated server-side and persisted off-chain, meaning no smart contract calls are needed. A smart contract address would only be required if I decide to add optional on-chain features such as: Recording winners on Base (writing results to a registry contract). Minting a “Cow Champion” NFT from a custom contract. Enabling wagers, payouts, or paymaster gas sponsorship. Since these features are not yet active, NEXT_PUBLIC_GAME_REGISTRY_ADDRESS can remain unset and the app still functions. If I later include on-chain recording or NFT minting, I will deploy a contract to Base Sepolia and provide its address in the environment configuration. Other Onchain Proof ![image](https://assets.devfolio.co/content/75edc03bcc214ec99434f6754900d86b/8e2c1cf4-65d8-4c2c-a4e7-dcb80fa5e69a.png)

    How it's made

    Challenges we ran into ⚔️ Challenges I Ran Into 🐞 1. Movement Logic Bug At first, the cows (pieces) were able to move diagonally, which is not allowed in Mlabalaba. Fix: I redesigned the movement logic so that cows only move horizontally and vertically along valid lines on the board. 🎨 2. Designing the Board The traditional Mlabalaba board has 24 connected points, and visually representing it was tricky. Fix: I studied real boards, mapped the coordinates carefully, and used a grid + line-based design so it matched the authentic look. 🔄 3. Mill (Three-in-a-Row) Detection Detecting when a player forms a mill (3 cows in a row) was a hurdle since it requires checking all possible line combinations. Fix: I created a predefined set of valid mill combinations and checked them every time a cow was placed or moved. 🌐 4. Framework Integration Integrating the game into modern frameworks (React, Next.js, Base MiniKit) was challenging because of event handling and state management. Fix: I broke the project into small modular components (Board, Cows, Game Logic), making debugging and scaling much easier.