Jump to content

SoK/2025/StatusReport/Srisharan V S: Difference between revisions

From KDE Community Wiki
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..."
 
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
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.
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.
In an effort to distribute the engine more widely, a package request was submitted to Fedora's Bugzilla, initiating the process to include MankalaEngine 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 =====
===== Deliverables =====
Line 18: Line 18:


* '''Benson Muite''' ([email protected])
* '''Benson Muite''' ([email protected])
* '''João Gouveia ''' ([email protected])
===== Weekly Progress =====
===== Weekly Progress =====


Line 24: Line 26:
* Compared regional rule variations to finalize a digital implementation model   
* Compared regional rule variations to finalize a digital implementation model   
* Designed rule flow for sowing, capturing, and game termination   
* Designed rule flow for sowing, capturing, and game termination   
* Outlined structural plan for modular rule integration in MankalEngine  
* Outlined structural plan for modular rule integration in MankalaEngine  


===== Week 3–4: Core Logic Integration =====   
===== Week 3–4: Core Logic Integration =====   
* Created baorules.h and baorules.cpp for Pallanguli variant   
* Created pallangulirules.h and pallangulirules.cpp for Pallanguli variant   
* Implemented move logic, pit traversal, and capturing rules   
* Implemented move logic, pit traversal, and capturing rules   
* Ensured compatibility with MankalEngine’s turn-based game loop
* Ensured compatibility with MankalaEngine’s turn-based game loop   
* Conducted initial testing using debug output for state verification  


===== Week 5–6: Fedora Packaging and Bug Fixes =====   
===== Week 5–6: Fedora Packaging and Bug Fixes =====   
* Submitted a package request on Fedora Bugzilla for MankalEngine  
* Submitted a package request on Fedora Bugzilla for MankalaEngine  
* Created RPM spec files following Fedora guidelines   
* Created RPM spec files following Fedora guidelines   
* Fixed reported bugs by Shubham Shinde, including input validation and move edge cases
* 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 =====   
===== Week 7–8: Open Source Outreach =====   
Line 46: Line 46:
===== Week 9–10: Final Documentation and Polish =====   
===== Week 9–10: Final Documentation and Polish =====   
* Wrote technical and user-facing documentation for Pallanguli integration   
* Wrote technical and user-facing documentation for Pallanguli integration   
* Improved TUI feedback and move prompts 
* Final bug fixes and code cleanup   
* Final bug fixes and code cleanup   
* Wrapped up and prepared project for future maintenance and contributions   
* Wrapped up and prepared project for future maintenance and contributions   

Latest revision as of 07:00, 7 April 2025

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 MankalaEngine 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 MankalaEngine
Week 3–4: Core Logic Integration
  • Created pallangulirules.h and pallangulirules.cpp for Pallanguli variant
  • Implemented move logic, pit traversal, and capturing rules
  • Ensured compatibility with MankalaEngine’s turn-based game loop
Week 5–6: Fedora Packaging and Bug Fixes
  • Submitted a package request on Fedora Bugzilla for MankalaEngine
  • Created RPM spec files following Fedora guidelines
  • Fixed reported bugs by Shubham Shinde, including input validation and move edge cases
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
  • 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