SoK/2025/StatusReport/Srisharan V S: Difference between revisions
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..." |
Srisharanvs (talk | contribs) No edit summary |
||
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 | 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 24: | Line 24: | ||
* 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 | * Outlined structural plan for modular rule integration in MankalaEngine | ||
===== Week 3–4: Core Logic Integration ===== | ===== Week 3–4: Core Logic Integration ===== | ||
* Created | * 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 | * Ensured compatibility with MankalaEngine’s turn-based game loop | ||
* Conducted initial testing using debug output for state verification | * 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 | * 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 | ||
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 | ||
* 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 |
Revision as of 14:14, 4 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
- Benson Muite ([email protected])
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
- 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 MankalaEngine
- 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
- 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