Jump to content

SoK/2025/StatusReport/Srisharan V S

From KDE Community Wiki
Revision as of 14:13, 4 April 2025 by Srisharanvs (talk | contribs) (Created page with "== Games: Add a Mancala Game to Mankala Engine == ===== Project Abstract ===== This project focused on extending the MankalaEngine to include Pallanguli, a culturally significant variant from South India. The integration required a deep understanding of Pallanguli's unique mechanics, such as sowing, capturing, and endgame detection. To improve usability and accessibility, a Terminal User Interface (TUI) was developed, allowing users to interact with the game directly...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Games: Add a Mancala Game to Mankala Engine

Project Abstract

This project focused on extending the MankalaEngine to include Pallanguli, a culturally significant variant from South India. The integration required a deep understanding of Pallanguli's unique mechanics, such as sowing, capturing, and endgame detection.

To improve usability and accessibility, a Terminal User Interface (TUI) was developed, allowing users to interact with the game directly through the command line. The TUI delivers a visually structured and responsive experience, enabling both casual and experienced users to play Pallanguli in a text-based environment.

In an effort to distribute the engine more widely, a package request was submitted to Fedora's Bugzilla, initiating the process to include MankalEngine in the official Fedora repositories. This step contributes to the project's sustainability and aligns with the broader goals of Free and Open Source Software (FOSS) advocacy.

Deliverables
  • Pallanguli Integration into MankalaEngine
  • Terminal User Interface (TUI)
  • Fedora Packaging and Distribution
Mentors
Weekly Progress
Week 1–2: Pallanguli Rule Research
  • Studied traditional Pallanguli game rules from various sources
  • Compared regional rule variations to finalize a digital implementation model
  • Designed rule flow for sowing, capturing, and game termination
  • Outlined structural plan for modular rule integration in MankalEngine
Week 3–4: Core Logic Integration
  • Created baorules.h and baorules.cpp for Pallanguli variant
  • Implemented move logic, pit traversal, and capturing rules
  • Ensured compatibility with MankalEngine’s turn-based game loop
  • Conducted initial testing using debug output for state verification
Week 5–6: Fedora Packaging and Bug Fixes
  • Submitted a package request on Fedora Bugzilla for MankalEngine
  • Created RPM spec files following Fedora guidelines
  • Fixed reported bugs by Shubham Shinde, including input validation and move edge cases
  • Polished build system for smoother installation experience
Week 7–8: Open Source Outreach
  • Conducted a college FOSS meetup showcasing KDE applications
  • Demonstrated Mankala, Krita, and AudioTube in action
  • Helped students port their laptops to Fedora, Linux Mint, and Nobara
  • Promoted Linux and KDE through live demos and install sessions
Week 9–10: Final Documentation and Polish
  • Wrote technical and user-facing documentation for Pallanguli integration
  • Improved TUI feedback and move prompts
  • Final bug fixes and code cleanup
  • Wrapped up and prepared project for future maintenance and contributions

My Blog

I have documented my journey here at @SrisharanVS