April 13, 2025 - As the Season of KDE 2025 draws to a close, I find myself reflecting on the journey I've undertaken. This blog post marks the final chapter of my experience, filled with excitement and a sense of accomplishment for what I've achieved during this time. Over the past few weeks, Ive been immersed in developing a Player versus Player (PvP) system for a mancala game, which has provided a valuable learning experience in the realms of game development, networking, and user interface design.

Summary of Work Done So Far

At the core of my project is the MankalaEngine, a specialized game engine designed to facilitate the rules and gameplay mechanics of various mancala game variants. My contributions to this engine include the following key features:

  1. Move Tracking Mechanics
    Central to the gameplay experience, I have implemented the lastMoveMethod(), which retrieves the last move made by either the player or the computer. This feature enhances the gameplay by allowing players to keep track of recent actions, thereby improving strategic planning.
  2. PvP Mode
    Real-time multiplayer gameplay has been enabled through XMPP (Extensible Messaging and Presence Protocol), which allows players to connect and compete with each other. Heres a brief summary of how the PvP mode functions:
    • XMPP Integration: Players can connect using their Jabber IDs, facilitating real-time communication within a dedicated chat room where moves are exchanged.
    • Turn Management: The gameplay begins with Player 1, and the players alternate turns, ensuring a fair and structured play experience.
    • Board Syncing: Players are currently required to manually update their game boards after each move, thus ensuring both players maintain an accurate representation of the game state.
  3. Man Page Documentation
    To make the game more accessible to users, I created a manual page for bohnenspieltui. This documentation offers essential information about the game, including:
    • SYNOPSIS and DESCRIPTION: A concise overview along with explanations of the specific game variant.
    • USAGE: Detailed instructions on how to run the PvP mode effectively.
    • Additionally, I made minor improvements to the card view within the Mancala graphical user interface (GUI).

Future Work

Though I have completed this term's tasks, there remains a plethora of areas ripe for enhancement:

  • Automating the board syncing process to replace the current manual method, thereby enhancing the user experience.
  • Integrating the MankalaEngine more seamlessly with the Mancala GUI for improved performance.
  • Extending the PvP functionality to encompass additional game variants, offering players a richer and more diverse gaming experience.

Final Words

I would like to extend my heartfelt gratitude to the KDE community, the XMPP community, as well as to Benson Muite, Joo Gouveia, and Blue from Macaw.me, for their invaluable guidance and support throughout this journey. To all aspiring contributors, I encourage you to participate in the Season of KDE. It is an excellent opportunity to learn, grow, and develop your skills as a developer.